public async Task <ActionResult> CurrentVersionAsync()
        {
            _logger.LogInformation("Attempting to get current schemas");
            GetCurrentVersionResponse currentVersionResponse = await _mediator.GetCurrentVersionAsync(HttpContext.RequestAborted).ConfigureAwait(false);

            return(new JsonResult(currentVersionResponse.CurrentVersions));
        }
        public static async Task <GetCurrentVersionResponse> GetCurrentVersionAsync(this IMediator mediator, CancellationToken cancellationToken)
        {
            EnsureArg.IsNotNull(mediator, nameof(mediator));

            var request = new GetCurrentVersionRequest();

            GetCurrentVersionResponse response = await mediator.Send(request, cancellationToken);

            return(response);
        }
Beispiel #3
0
        public async Task GivenACurrentMediator_WhenCurrentRequestAndEmptySchemaVersionTable_ThenReturnsEmptyArray()
        {
            var mockCurrentVersions = new List <CurrentVersionInformation>();

            _schemaDataStore.GetCurrentVersionAsync(Arg.Any <CancellationToken>())
            .Returns(mockCurrentVersions);

            GetCurrentVersionResponse response = await _mediator.GetCurrentVersionAsync(_cancellationToken);

            Assert.Equal(0, response.CurrentVersions.Count);
        }
Beispiel #4
0
        public async Task GivenACurrentMediator_WhenCurrentRequest_ThenReturnsCurrentVersionInformation()
        {
            string status = "completed";

            var mockCurrentVersions = new List <CurrentVersionInformation>()
            {
                new CurrentVersionInformation(1, (SchemaVersionStatus)Enum.Parse(typeof(SchemaVersionStatus), status, true), new List <string>()
                {
                    "server1", "server2"
                }),
                new CurrentVersionInformation(2, (SchemaVersionStatus)Enum.Parse(typeof(SchemaVersionStatus), status, true), new List <string>()),
            };

            _schemaDataStore.GetCurrentVersionAsync(Arg.Any <CancellationToken>())
            .Returns(mockCurrentVersions);
            GetCurrentVersionResponse response = await _mediator.GetCurrentVersionAsync(_cancellationToken);

            var currentVersionsResponse = response.CurrentVersions;

            Assert.Equal(mockCurrentVersions.Count, currentVersionsResponse.Count);
            Assert.Equal(1, currentVersionsResponse[0].Id);
            Assert.Equal(SchemaVersionStatus.Completed, currentVersionsResponse[0].Status);
            Assert.Equal(2, currentVersionsResponse[0].Servers.Count);
        }