microsoft/teams.net

Public

mirrored from https://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
docs/update-release-process

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Tests/Microsoft.Teams.Api.Tests/Activities/Invokes/SignIn/FailureSignInActivityTests.cs

146lines · modecode

1using System.Text.Json;
2
3using Microsoft.Teams.Api.Activities;
4using Microsoft.Teams.Api.Activities.Invokes;
5
6using static Microsoft.Teams.Api.Activities.Invokes.SignIn;
7
8namespace Microsoft.Teams.Api.Tests.Activities.Invokes;
9
10public class FailureSignInActivityTests
11{
12 private FailureActivity SetupSignInFailureActivity()
13 {
14 return new FailureActivity()
15 {
16 Value = new Api.SignIn.Failure()
17 {
18 Code = "resourcematchfailed",
19 Message = "Resource match failed"
20 },
21 Conversation = new Api.Conversation()
22 {
23 Id = "conversationId",
24 Type = ConversationType.GroupChat
25 },
26 From = new Account()
27 {
28 Id = "botId",
29 Name = "User Name",
30 AadObjectId = "aadObjectId"
31 },
32 Recipient = new Account()
33 {
34 Id = "recipientId",
35 Name = "Recipient Name",
36 },
37 };
38 }
39
40 [Fact]
41 public void SignInFailureActivity_JsonSerialize()
42 {
43 var activity = SetupSignInFailureActivity();
44
45 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
46 {
47 WriteIndented = true,
48 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
49 });
50
51 string expectedPath = "Activity.Invoke.Signin/failure";
52 Assert.Equal(expectedPath, activity.GetPath());
53 Assert.NotNull(activity.ToFailure());
54 var expectedCastExceptionMessage = "Unable to cast object of type 'FailureActivity' to type 'TokenExchangeActivity'.";
55 var ex = Assert.Throws<System.InvalidCastException>(() => activity.ToTokenExchange());
56 Assert.Equal(expectedCastExceptionMessage, ex.Message);
57 Assert.Equal(File.ReadAllText(
58 @"../../../Json/Activity/Invokes/SignInFailureActivity.json"
59 ), json);
60 }
61
62 [Fact]
63 public void SignInFailureActivity_JsonSerialize_Derived()
64 {
65 SignInActivity activity = SetupSignInFailureActivity();
66
67 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
68 {
69 WriteIndented = true,
70 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
71 });
72
73 string expectedPath = "Activity.Invoke.Signin/failure";
74 Assert.Equal(expectedPath, activity.GetPath());
75 Assert.Equal(File.ReadAllText(
76 @"../../../Json/Activity/Invokes/SignInFailureActivity.json"
77 ), json);
78 }
79
80 [Fact]
81 public void SignInFailureActivity_JsonSerialize_Derived_Interface()
82 {
83 InvokeActivity activity = SetupSignInFailureActivity();
84
85 var json = JsonSerializer.Serialize(activity, new JsonSerializerOptions()
86 {
87 WriteIndented = true,
88 DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
89 });
90
91 string expectedPath = "Activity.Invoke.Signin/failure";
92 Assert.Equal(expectedPath, activity.GetPath());
93 Assert.Equal(File.ReadAllText(
94 @"../../../Json/Activity/Invokes/SignInFailureActivity.json"
95 ), json);
96 }
97
98 [Fact]
99 public void SignInFailureActivity_JsonDeserialize()
100 {
101 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/SignInFailureActivity.json");
102 var activity = JsonSerializer.Deserialize<FailureActivity>(json);
103 var expected = SetupSignInFailureActivity();
104
105 Assert.Equal(expected.ToString(), activity!.ToString());
106 Assert.NotNull(activity.ToFailure());
107
108 var expectedCastExceptionMessage = "Unable to cast object of type 'FailureActivity' to type 'TokenExchangeActivity'.";
109 var ex = Assert.Throws<System.InvalidCastException>(() => activity.ToTokenExchange());
110 Assert.Equal(expectedCastExceptionMessage, ex.Message);
111 }
112
113 [Fact]
114 public void SignInFailureActivity_JsonDeserialize_Derived()
115 {
116 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/SignInFailureActivity.json");
117 var activity = JsonSerializer.Deserialize<SignInActivity>(json);
118 var expected = SetupSignInFailureActivity();
119
120 Assert.NotNull(activity);
121 Assert.Equal(expected.ToString(), activity.ToString());
122 Assert.NotNull(activity.ToSignIn());
123 }
124
125 [Fact]
126 public void SignInFailureActivity_JsonDeserialize_Derived_Interface()
127 {
128 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/SignInFailureActivity.json");
129 var activity = JsonSerializer.Deserialize<InvokeActivity>(json);
130 var expected = SetupSignInFailureActivity();
131
132 Assert.NotNull(activity);
133 Assert.Equal(expected.ToString(), activity.ToString());
134 }
135
136 [Fact]
137 public void SignInFailureActivity_JsonDeserialize_Derived_Activity_Interface()
138 {
139 var json = File.ReadAllText(@"../../../Json/Activity/Invokes/SignInFailureActivity.json");
140 var activity = JsonSerializer.Deserialize<Activity>(json);
141 var expected = SetupSignInFailureActivity();
142
143 Assert.NotNull(activity);
144 Assert.Equal(expected.ToString(), activity.ToString());
145 }
146}
147