Exemple #1
0
        public async Task <IActionResult> GetVoucher([FromQuery] String voucherCode,
                                                     [FromQuery] String applicationVersion,
                                                     CancellationToken cancellationToken)
        {
            if (ClaimsHelper.IsPasswordToken(this.User) == false)
            {
                return(this.Forbid());
            }

            // Do the software version check
            try
            {
                VersionCheckRequest versionCheckRequest = VersionCheckRequest.Create(applicationVersion);
                await this.Mediator.Send(versionCheckRequest, cancellationToken);
            }
            catch (VersionIncompatibleException vex)
            {
                Logger.LogError(vex);
                return(this.StatusCode(505));
            }

            Guid estateId   = Guid.Parse(ClaimsHelper.GetUserClaim(this.User, "estateId").Value);
            Guid contractId = Guid.Parse(ClaimsHelper.GetUserClaim(this.User, "contractId").Value);

            // Now do the GET
            GetVoucherRequest request = GetVoucherRequest.Create(estateId, contractId, voucherCode);

            GetVoucherResponse response = await this.Mediator.Send(request, cancellationToken);

            return(this.Ok(this.ModelFactory.ConvertFrom(response)));
        }
        public async Task VersionCheckRequestHandler_Handle_NewerVersionBuildNumber_RequestIsHandled()
        {
            VersionCheckRequestHandler requestHandler = new VersionCheckRequestHandler();

            VersionCheckRequest request = VersionCheckRequest.Create(TestData.NewerApplicationVersion);

            Should.NotThrow(async() =>
            {
                await requestHandler.Handle(request, CancellationToken.None);
            });
        }
        public async Task VersionCheckRequestHandler_Handle_RequestIsHandled()
        {
            VersionCheckRequestHandler requestHandler = new VersionCheckRequestHandler();

            VersionCheckRequest request = TestData.VersionCheckRequest;

            Should.NotThrow(async() =>
            {
                await requestHandler.Handle(request, CancellationToken.None);
            });
        }
        public async Task VersionCheckRequestHandler_Handle_OldVersion_ErrorThrown()
        {
            VersionCheckRequestHandler requestHandler = new VersionCheckRequestHandler();

            VersionCheckRequest request = VersionCheckRequest.Create(TestData.OldApplicationVersion);

            Should.Throw <VersionIncompatibleException>(async() =>
            {
                await requestHandler.Handle(request, CancellationToken.None);
            });
        }
Exemple #5
0
        public void VersionCheckRequest_CanBeCreated_IsCreated()
        {
            VersionCheckRequest request = VersionCheckRequest.Create(TestData.ApplicationVersion);

            request.VersionNumber.ShouldBe(TestData.ApplicationVersion);
        }