コード例 #1
0
        public async Task UpdateAvailabilityRecordCommandHandler_Handle_AvailabilityRecordUpdated()
        {
            var accountId = Guid.NewGuid();

            var claimsIdentity = new ClaimsIdentity();

            claimsIdentity.AddClaim(new Claim(ClaimTypes.NameIdentifier, accountId.ToString()));
            var claimsPrincipal = new ClaimsPrincipal();

            claimsPrincipal.AddIdentity(claimsIdentity);

            var createAvailabilityRecordCommandHandler = new UpdateAvailabilityRecordCommandHandler(_availabilityRecordRepository,
                                                                                                    _claimConverter);

            var record = new AvailabilityRecord(accountId,
                                                "name",
                                                "url",
                                                200,
                                                "{}",
                                                1);

            await _availabilityRecordRepository.AddAsync(record,
                                                         CancellationToken.None);

            await _availabilityRecordRepository.UnitOfWork.SaveEntitiesAsync(CancellationToken.None);

            await createAvailabilityRecordCommandHandler.Handle(new UpdateAvailabilityRecordCommand(claimsPrincipal,
                                                                                                    record.Id,
                                                                                                    "test name",
                                                                                                    "http://google.com/",
                                                                                                    200,
                                                                                                    "{}",
                                                                                                    12), CancellationToken.None).ConfigureAwait(false);

            Assert.Equal(accountId, record.AccountId);
            Assert.Equal("test name", record.Name);
            Assert.Equal("http://google.com/", record.Url);
            Assert.Equal(200, record.ExpectedStatusCode);
            Assert.Equal("{}", record.ExpectedResponse);
            Assert.Equal(12, record.LogLifetimeThresholdInHours);
        }
コード例 #2
0
        public async Task UpdateAvailabilityRecordCommandHandler_Handle_DifferentAccountIdFail()
        {
            var accountId = Guid.NewGuid();

            var claimsIdentity = new ClaimsIdentity();

            claimsIdentity.AddClaim(new Claim(ClaimTypes.NameIdentifier, accountId.ToString()));
            var claimsPrincipal = new ClaimsPrincipal();

            claimsPrincipal.AddIdentity(claimsIdentity);

            var createAvailabilityRecordCommandHandler = new UpdateAvailabilityRecordCommandHandler(_availabilityRecordRepository,
                                                                                                    _claimConverter);

            var record = new AvailabilityRecord(Guid.NewGuid(),
                                                "name",
                                                "url",
                                                200,
                                                "{}",
                                                1);

            await _availabilityRecordRepository.AddAsync(record,
                                                         CancellationToken.None);

            await _availabilityRecordRepository.UnitOfWork.SaveEntitiesAsync(CancellationToken.None);

            await Assert.ThrowsAsync <InvalidOperationException>(async() => {
                await createAvailabilityRecordCommandHandler.Handle(new UpdateAvailabilityRecordCommand(claimsPrincipal,
                                                                                                        record.Id,
                                                                                                        "test name",
                                                                                                        "http://google.com/",
                                                                                                        200,
                                                                                                        "{}",
                                                                                                        12), CancellationToken.None).ConfigureAwait(false);
            });
        }