Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
        public Task <string> ReverseQueryAsync(string data, BlockParameter blockParameter = null)
        {
            var reverseFunction = new ReverseFunction();

            reverseFunction.Data = data;

            return(ContractHandler.QueryAsync <ReverseFunction, string>(reverseFunction, blockParameter));
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
 public Task <string> ReverseQueryAsync(ReverseFunction reverseFunction, BlockParameter blockParameter = null)
 {
     return(ContractHandler.QueryAsync <ReverseFunction, string>(reverseFunction, blockParameter));
 }
Ejemplo n.º 7
0
        public void TestStringReverse()
        {
            var function = new ReverseFunction();

            Assert.That(function.Evaluate("abc"), Is.EqualTo("cba"));
        }
Ejemplo n.º 8
0
        public void TestArrayReverse()
        {
            var function = new ReverseFunction();

            Assert.That(function.Evaluate(new[] { 1, 2, 3 }), Is.EqualTo(new[] { 3, 2, 1 }));
        }
Ejemplo n.º 9
0
        public void TestNullReverse()
        {
            var function = new ReverseFunction();

            Assert.That(function.Evaluate(null), Is.EqualTo(null));
        }