예제 #1
0
        public virtual async void TestUpdate()
        {
            var builder = new WebHostBuilder()
                          .UseEnvironment("Production")
                          .UseStartup <TestStartup>();
            TestServer testServer = new TestServer(builder);

            var client = new ApiClient(testServer.CreateClient());

            client.SetBearerToken(JWTTestHelper.GenerateBearerToken());
            var mapper = new ApiLinkServerModelMapper();
            ApplicationDbContext       context = testServer.Host.Services.GetService(typeof(ApplicationDbContext)) as ApplicationDbContext;
            ILinkService               service = testServer.Host.Services.GetService(typeof(ILinkService)) as ILinkService;
            ApiLinkServerResponseModel model   = await service.Get(1);

            ApiLinkClientRequestModel request = mapper.MapServerResponseToClientRequest(model);

            request.SetProperties(1, 1, DateTime.Parse("1/1/1988 12:00:00 AM"), DateTime.Parse("1/1/1988 12:00:00 AM"), "B", Guid.Parse("3842cac4-b9a0-8223-0dcc-509a6f75849b"), 1, "B", 2, "B", "B", 2);

            UpdateResponse <ApiLinkClientResponseModel> updateResponse = await client.LinkUpdateAsync(model.Id, request);

            context.Entry(context.Set <Link>().ToList()[0]).Reload();
            updateResponse.Record.Should().NotBeNull();
            updateResponse.Success.Should().BeTrue();
            updateResponse.Record.Id.Should().Be(1);
            context.Set <Link>().ToList()[0].AssignedMachineId.Should().Be(1);
            context.Set <Link>().ToList()[0].ChainId.Should().Be(1);
            context.Set <Link>().ToList()[0].DateCompleted.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            context.Set <Link>().ToList()[0].DateStarted.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            context.Set <Link>().ToList()[0].DynamicParameters.Should().Be("B");
            context.Set <Link>().ToList()[0].ExternalId.Should().Be(Guid.Parse("3842cac4-b9a0-8223-0dcc-509a6f75849b"));
            context.Set <Link>().ToList()[0].LinkStatusId.Should().Be(1);
            context.Set <Link>().ToList()[0].Name.Should().Be("B");
            context.Set <Link>().ToList()[0].Order.Should().Be(2);
            context.Set <Link>().ToList()[0].Response.Should().Be("B");
            context.Set <Link>().ToList()[0].StaticParameters.Should().Be("B");
            context.Set <Link>().ToList()[0].TimeoutInSeconds.Should().Be(2);

            updateResponse.Record.Id.Should().Be(1);
            updateResponse.Record.AssignedMachineId.Should().Be(1);
            updateResponse.Record.ChainId.Should().Be(1);
            updateResponse.Record.DateCompleted.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            updateResponse.Record.DateStarted.Should().Be(DateTime.Parse("1/1/1988 12:00:00 AM"));
            updateResponse.Record.DynamicParameters.Should().Be("B");
            updateResponse.Record.ExternalId.Should().Be(Guid.Parse("3842cac4-b9a0-8223-0dcc-509a6f75849b"));
            updateResponse.Record.LinkStatusId.Should().Be(1);
            updateResponse.Record.Name.Should().Be("B");
            updateResponse.Record.Order.Should().Be(2);
            updateResponse.Record.Response.Should().Be("B");
            updateResponse.Record.StaticParameters.Should().Be("B");
            updateResponse.Record.TimeoutInSeconds.Should().Be(2);
        }
예제 #2
0
        public void MapServerResponseToRequest()
        {
            var mapper = new ApiLinkServerModelMapper();
            var model  = new ApiLinkServerResponseModel();

            model.SetProperties(1, 1, 1, DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), "A", Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da"), 1, "A", 1, "A", "A", 1);
            ApiLinkServerRequestModel response = mapper.MapServerResponseToRequest(model);

            response.Should().NotBeNull();
            response.AssignedMachineId.Should().Be(1);
            response.ChainId.Should().Be(1);
            response.DateCompleted.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.DateStarted.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.DynamicParameters.Should().Be("A");
            response.ExternalId.Should().Be(Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da"));
            response.LinkStatusId.Should().Be(1);
            response.Name.Should().Be("A");
            response.Order.Should().Be(1);
            response.Response.Should().Be("A");
            response.StaticParameters.Should().Be("A");
            response.TimeoutInSeconds.Should().Be(1);
        }
예제 #3
0
        public void CreatePatch()
        {
            var mapper = new ApiLinkServerModelMapper();
            var model  = new ApiLinkServerRequestModel();

            model.SetProperties(1, 1, DateTime.Parse("1/1/1987 12:00:00 AM"), DateTime.Parse("1/1/1987 12:00:00 AM"), "A", Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da"), 1, "A", 1, "A", "A", 1);

            JsonPatchDocument <ApiLinkServerRequestModel> patch = mapper.CreatePatch(model);
            var response = new ApiLinkServerRequestModel();

            patch.ApplyTo(response);
            response.AssignedMachineId.Should().Be(1);
            response.ChainId.Should().Be(1);
            response.DateCompleted.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.DateStarted.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.DynamicParameters.Should().Be("A");
            response.ExternalId.Should().Be(Guid.Parse("8420cdcf-d595-ef65-66e7-dff9f98764da"));
            response.LinkStatusId.Should().Be(1);
            response.Name.Should().Be("A");
            response.Order.Should().Be(1);
            response.Response.Should().Be("A");
            response.StaticParameters.Should().Be("A");
            response.TimeoutInSeconds.Should().Be(1);
        }