public static async Task Function_Reverses_Numbers() { // Arrange using var server = new LambdaTestServer(); using var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(1)); await server.StartAsync(cancellationTokenSource.Token); int[] value = new[] { 1, 2, 3 }; byte[] json = JsonSerializer.SerializeToUtf8Bytes(value); LambdaTestContext context = await server.EnqueueAsync(json); using var httpClient = server.CreateClient(); // Act await ReverseFunction.RunAsync(httpClient, cancellationTokenSource.Token); // Assert Assert.True(context.Response.TryRead(out LambdaTestResponse? response)); Assert.True(response !.IsSuccessful); Assert.NotNull(response.Content); var actual = JsonSerializer.Deserialize <int[]>(response.Content); Assert.NotNull(actual); Assert.Equal(new[] { 3, 2, 1 }, actual); }
public static async Task Function_Reverses_Numbers_With_Mobile_Sdk() { // Arrange using var server = new LambdaTestServer(); using var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(1)); await server.StartAsync(cancellationTokenSource.Token); int[] value = new[] { 1, 2, 3 }; byte[] content = JsonSerializer.SerializeToUtf8Bytes(value); var request = new LambdaTestRequest(content) { ClientContext = JsonSerializer.Serialize(new { client = new { app_title = "my-app" } }), CognitoIdentity = JsonSerializer.Serialize(new { identityId = "my-identity" }), }; LambdaTestContext context = await server.EnqueueAsync(content); using var httpClient = server.CreateClient(); // Act await ReverseFunction.RunAsync(httpClient, cancellationTokenSource.Token); // Assert Assert.True(context.Response.TryRead(out LambdaTestResponse? response)); Assert.NotNull(response); Assert.True(response !.IsSuccessful); var actual = JsonSerializer.Deserialize <int[]>(response.Content); Assert.NotNull(actual); Assert.Equal(new[] { 3, 2, 1 }, actual); }
public static async Task Function_Can_Process_Multiple_Requests_On_Different_Threads() { // Arrange int messageCount = 1_000; int expected = Enumerable.Range(0, messageCount).Sum(); using var server = new LambdaTestServer(); using var cts = new CancellationTokenSource(); await server.StartAsync(cts.Token); using var httpClient = server.CreateClient(); // Enqueue the requests to process in the background var completedAdding = EnqueueInParallel(messageCount, server); // Start a task to consume the responses in the background var completedProcessing = Assert(completedAdding, messageCount, cts); // Act - Start the function processing await ReverseFunction.RunAsync(httpClient, cts.Token); // Assert int actual = await completedProcessing.Task; actual.ShouldBe(expected); }
public Task <string> ReverseQueryAsync(string data, BlockParameter blockParameter = null) { var reverseFunction = new ReverseFunction(); reverseFunction.Data = data; return(ContractHandler.QueryAsync <ReverseFunction, string>(reverseFunction, blockParameter)); }
public void TestListReverse() { var function = new ReverseFunction(); var normal = new List <int>(new[] { 1, 2, 3 }); var reversed = new List <int>(new[] { 3, 2, 1 }); Assert.That(function.Evaluate(normal), Is.EqualTo(reversed)); }
public Task <string> ReverseQueryAsync(ReverseFunction reverseFunction, BlockParameter blockParameter = null) { return(ContractHandler.QueryAsync <ReverseFunction, string>(reverseFunction, blockParameter)); }
public void TestStringReverse() { var function = new ReverseFunction(); Assert.That(function.Evaluate("abc"), Is.EqualTo("cba")); }
public void TestArrayReverse() { var function = new ReverseFunction(); Assert.That(function.Evaluate(new[] { 1, 2, 3 }), Is.EqualTo(new[] { 3, 2, 1 })); }
public void TestNullReverse() { var function = new ReverseFunction(); Assert.That(function.Evaluate(null), Is.EqualTo(null)); }