microsoft/teams.net

Public

mirrored fromhttps://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
samples/migration-bot

Branches

Tags

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

Clone

HTTPS

Download ZIP

Tests/Microsoft.Teams.Common.Tests/Http/HttpRequestTests.cs

217lines · modecode

1using Microsoft.Teams.Api.TaskModules;
2using Microsoft.Teams.Cards;
3using Microsoft.Teams.Common.Http;
4
5namespace Microsoft.Teams.Common.Tests.Http;
6
7public class HttpRequestTests
8{
9
10
11 [Fact]
12 public void HttpRequest_ValidateHttpRequest_Get()
13 {
14 HttpRequest request = HttpRequest.Get("https://mocked-url.com");
15 Assert.Equal(HttpMethod.Get, request.Method);
16 Assert.Equal("https://mocked-url.com", request.Url);
17 Assert.Null(request.Body);
18 Assert.Empty(request.Headers);
19 }
20
21 [Fact]
22 public void HttpRequest_ValidateHttpRequest_GetWithHeader()
23 {
24 var options = new Common.Http.HttpRequestOptions();
25 options.AddHeader("Authorization", "Bearer mocked-token");
26 options.AddHeader("key", "value");
27
28 HttpRequest request = HttpRequest.Get("https://mocked-url.com", options);
29 Assert.Equal(HttpMethod.Get, request.Method);
30 Assert.Equal("https://mocked-url.com", request.Url);
31 Assert.Null(request.Body);
32 Assert.Equal(2, request.Headers.Count);
33 Assert.True(request.Headers.ContainsKey("Authorization"));
34 Assert.Contains("Bearer mocked-token", request.Headers["Authorization"]);
35 Assert.Contains("value", request.Headers["key"]);
36 }
37
38 [Fact]
39 public void HttpRequest_ValidateHttpRequest_Post()
40 {
41 HttpRequest request = HttpRequest.Post("https://mocked-url.com?data=true");
42 Assert.Equal(HttpMethod.Post, request.Method);
43 Assert.Equal("https://mocked-url.com?data=true", request.Url);
44 Assert.Null(request.Body);
45 Assert.Empty(request.Headers);
46 }
47
48 [Fact]
49 public void HttpRequest_ValidateHttpRequest_PostWithHeader()
50 {
51 var options = new Common.Http.HttpRequestOptions();
52 options.AddHeader("Authorization", "Bearer mocked-token");
53 options.AddHeader("key", "value");
54 options.AddUserAgent("mocked-user-agent");
55
56 HttpRequest request = HttpRequest.Post("https://mocked-url.com?data=true", null, options);
57 Assert.Equal(HttpMethod.Post, request.Method);
58 Assert.Equal("https://mocked-url.com?data=true", request.Url);
59 Assert.Null(request.Body);
60 Assert.Equal(3, request.Headers.Count);
61 Assert.True(request.Headers.ContainsKey("Authorization"));
62 Assert.Contains("Bearer mocked-token", request.Headers["Authorization"]);
63 Assert.Contains("value", request.Headers["key"]);
64 Assert.Contains("mocked-user-agent", request.Headers["User-Agent"]);
65 }
66
67 [Fact]
68 public void HttpRequest_ValidateHttpRequest_PostWithBody()
69 {
70 ContinueTask continueTask = new ContinueTask(new TaskInfo()
71 {
72 Title = "mocked-title",
73 Url = "https://mocked-url.com",
74 Card = null,
75 FallbackUrl = "https://mocked-fallback-url.com",
76 CompletionBotId = "mocked-bot-id",
77 });
78
79 var options = new Common.Http.HttpRequestOptions();
80 options.AddHeader("Authorization", "Bearer mocked-token");
81 options.AddHeader("key", "value");
82
83
84 HttpRequest request = HttpRequest.Post("https://mocked-url.com?data=true", continueTask, options);
85 Assert.Equal(HttpMethod.Post, request.Method);
86 Assert.Equal("https://mocked-url.com?data=true", request.Url);
87 Assert.Equal(2, request.Headers.Count);
88 Assert.True(request.Headers.ContainsKey("Authorization"));
89 Assert.Contains("Bearer mocked-token", request.Headers["Authorization"]);
90 Assert.Contains("value", request.Headers["key"]);
91 }
92
93 [Fact]
94 public void HttpRequest_ValidateHttpRequest_Patch()
95 {
96 HttpRequest request = HttpRequest.Patch("https://mocked-url.com?data=true");
97 Assert.Equal(HttpMethod.Patch, request.Method);
98 Assert.Equal("https://mocked-url.com?data=true", request.Url);
99 Assert.Null(request.Body);
100 Assert.Empty(request.Headers);
101 }
102
103 [Fact]
104 public void HttpRequest_ValidateHttpRequest_PatchWithHeader()
105 {
106 var options = new Common.Http.HttpRequestOptions();
107 options.AddHeader("Authorization", "Bearer mocked-token");
108 options.AddHeader("key", "value");
109 options.AddUserAgent(["mocked-user-agent1", "mocked-user-agent2"]);
110
111 HttpRequest request = HttpRequest.Patch("https://mocked-url.com?data=true", null, options);
112 Assert.Equal(HttpMethod.Patch, request.Method);
113 Assert.Equal("https://mocked-url.com?data=true", request.Url);
114 Assert.Null(request.Body);
115 Assert.Equal(3, request.Headers.Count);
116 Assert.True(request.Headers.ContainsKey("Authorization"));
117 Assert.Contains("Bearer mocked-token", request.Headers["Authorization"]);
118 Assert.Contains("value", request.Headers["key"]);
119 Assert.Equal(2, request.Headers["User-Agent"].Count);
120 }
121
122 [Fact]
123 public void HttpRequest_ValidateHttpRequest_PatchWithBody()
124 {
125 ContinueTask continueTask = new ContinueTask(new TaskInfo()
126 {
127 Title = "mocked-title",
128 Url = "https://mocked-url.com",
129 Card = null,
130 FallbackUrl = "https://mocked-fallback-url.com",
131 CompletionBotId = "mocked-bot-id",
132 });
133
134 var options = new Common.Http.HttpRequestOptions();
135 options.AddHeader("Authorization", "Bearer mocked-token");
136 options.AddHeader("key", "value");
137
138
139 HttpRequest request = HttpRequest.Patch("https://mocked-url.com?data=true", continueTask, options);
140 Assert.Equal(HttpMethod.Patch, request.Method);
141 Assert.Equal("https://mocked-url.com?data=true", request.Url);
142 Assert.Equal(2, request.Headers.Count);
143 Assert.True(request.Headers.ContainsKey("Authorization"));
144 Assert.Contains("Bearer mocked-token", request.Headers["Authorization"]);
145 Assert.Contains("value", request.Headers["key"]);
146 }
147
148 [Fact]
149 public void HttpRequest_ValidateHttpRequest_Put()
150 {
151 ContinueTask continueTask = new ContinueTask(new TaskInfo()
152 {
153 Title = "mocked-title",
154 Url = "https://mocked-url.com",
155 Card = null,
156 FallbackUrl = "https://mocked-fallback-url.com",
157 CompletionBotId = "mocked-bot-id",
158 });
159
160 HttpRequest request = HttpRequest.Put("https://mocked-url.com", continueTask);
161 Assert.Equal(HttpMethod.Put, request.Method);
162 Assert.Equal("https://mocked-url.com", request.Url);
163 Assert.Equal(continueTask, request.Body);
164 }
165
166 [Fact]
167 public void HttpRequest_ValidateHttpRequest_PutWithHeader()
168 {
169 var options = new Common.Http.HttpRequestOptions();
170 options.AddHeader("Authorization", "Bearer mocked-token");
171 options.AddHeader("key", "value");
172 ContinueTask continueTask = new ContinueTask(new TaskInfo()
173 {
174 Title = "mocked-title",
175 Url = "https://mocked-url.com",
176 Card = null,
177 FallbackUrl = "https://mocked-fallback-url.com",
178 CompletionBotId = "mocked-bot-id",
179 });
180
181 HttpRequest request = HttpRequest.Put("https://mocked-url.com", continueTask, options);
182 Assert.Equal(HttpMethod.Put, request.Method);
183 Assert.Equal("https://mocked-url.com", request.Url);
184 Assert.Equal(continueTask, request.Body);
185 Assert.Equal(2, request.Headers.Count);
186 Assert.True(request.Headers.ContainsKey("Authorization"));
187 Assert.Contains("Bearer mocked-token", request.Headers["Authorization"]);
188 Assert.Contains("value", request.Headers["key"]);
189 }
190
191 [Fact]
192 public void HttpRequest_ValidateHttpRequest_Delete()
193 {
194
195 HttpRequest request = HttpRequest.Delete("https://mocked-url.com?tabid=abc");
196 Assert.Equal(HttpMethod.Delete, request.Method);
197 Assert.Equal("https://mocked-url.com?tabid=abc", request.Url);
198 Assert.Null(request.Body);
199 }
200
201 [Fact]
202 public void HttpRequest_ValidateHttpRequest_DeleteWithHeader()
203 {
204 var options = new Common.Http.HttpRequestOptions();
205 options.AddHeader("Authorization", "Bearer mocked-token");
206 options.AddHeader("key", "value");
207
208 HttpRequest request = HttpRequest.Delete("https://mocked-url.com?tabid=abc", options);
209 Assert.Equal(HttpMethod.Delete, request.Method);
210 Assert.Equal("https://mocked-url.com?tabid=abc", request.Url);
211 Assert.Null(request.Body);
212 Assert.Equal(2, request.Headers.Count);
213 Assert.True(request.Headers.ContainsKey("Authorization"));
214 Assert.Contains("Bearer mocked-token", request.Headers["Authorization"]);
215 Assert.Contains("value", request.Headers["key"]);
216 }
217}