Add tests for parameter optionality
This commit is contained in:
parent
14ab546d4d
commit
92e472d526
|
|
@ -1,4 +1,5 @@
|
||||||
using SimpleHttpServer;
|
using SimpleHttpServer;
|
||||||
|
using SimpleHttpServer.Types;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
|
||||||
namespace SimpleHttpServerTest;
|
namespace SimpleHttpServerTest;
|
||||||
|
|
@ -82,9 +83,13 @@ public class SimpleServerTest {
|
||||||
foreach (var a1 in "test1;longstring2;something else with a space".Split(';')) {
|
foreach (var a1 in "test1;longstring2;something else with a space".Split(';')) {
|
||||||
foreach (var a2 in new[] { -10, 2, -2, 5, 0, 4 }) {
|
foreach (var a2 in new[] { -10, 2, -2, 5, 0, 4 }) {
|
||||||
foreach (var a3 in new[] { -1, 9, 2, -20, 0 }) {
|
foreach (var a3 in new[] { -1, 9, 2, -20, 0 }) {
|
||||||
var resp = await AssertGetStatusCodeAsync($"returnqueries?arg1={a1}&arg2={a2}&arg3={a3}", HttpStatusCode.OK);
|
foreach (var a4 in new[] { -1, 9, 0 }) {
|
||||||
|
foreach (var page in "returnqueries;returnqueries2".Split(';')) {
|
||||||
|
var resp = await AssertGetStatusCodeAsync($"{page}?arg1={a1}&arg2={a2}&arg3={a3}&arg4={a4}", HttpStatusCode.OK);
|
||||||
var str = await resp.Content.ReadAsStringAsync();
|
var str = await resp.Content.ReadAsStringAsync();
|
||||||
Assert.AreEqual(TestEndpoints.GetReturnQueryPageResult(a1, a2, a3), str);
|
Assert.AreEqual(TestEndpoints.GetReturnQueryPageResult(a1, a2, page == "returnqueries2" ? (a3 + a4) : a3), str);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -119,8 +124,15 @@ public class SimpleServerTest {
|
||||||
public static string GetReturnQueryPageResult(string arg1, int arg2, int arg3) => $"{arg1};{arg2 * 2 - arg3 * 5}";
|
public static string GetReturnQueryPageResult(string arg1, int arg2, int arg3) => $"{arg1};{arg2 * 2 - arg3 * 5}";
|
||||||
|
|
||||||
[HttpEndpoint(HttpRequestType.GET, "/returnqueries")]
|
[HttpEndpoint(HttpRequestType.GET, "/returnqueries")]
|
||||||
public static async Task TestPage3(RequestContext req, string arg1, int arg2, int arg3) {
|
public static async Task ReturnQueriesPage(RequestContext req, string arg1, int arg2, int arg3) {
|
||||||
await req.RespWriter.WriteAsync(GetReturnQueryPageResult(arg1, arg2, arg3));
|
await req.RespWriter.WriteAsync(GetReturnQueryPageResult(arg1, arg2, arg3));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpEndpoint(HttpRequestType.GET, "/returnqueries2")]
|
||||||
|
public static async Task ReturnQueriesPage2(RequestContext req,
|
||||||
|
[Parameter("arg2")] int arg1, [Parameter("arg1")] string arg2, int arg3, [Parameter("arg4", true)] int arg4) {
|
||||||
|
// arg4 should be equal to zero as it should get the deafult value because it is not passed to the server
|
||||||
|
await req.RespWriter.WriteAsync(GetReturnQueryPageResult(arg2, arg1, arg3 + arg4));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user