public async Task should_be_able_to_Create_a_key_without_applications_mapped() { var cmd = new CreateApiKey("Mofo", Guid.NewGuid().ToString("N"), Guid.NewGuid().ToString("N")); var bus = Substitute.For <IEventBus>(); var sut = new CreateApiKeyHandler(_uow, bus); await sut.ExecuteAsync(cmd); var repos = new ApiKeyRepository(_uow); var generated = await repos.GetByKeyAsync(cmd.ApiKey); generated.Should().NotBeNull(); generated.Claims.Should().BeEmpty(); }
public async Task Should_be_able_to_Create_key() { var cmd = new CreateApiKey("Mofo", Guid.NewGuid().ToString("N"), Guid.NewGuid().ToString("N"), new[] { _applicationId }); var bus = Substitute.For <IEventBus>(); var sut = new CreateApiKeyHandler(_uow, bus); await sut.ExecuteAsync(cmd); var repos = new ApiKeyRepository(_uow); var generated = await repos.GetByKeyAsync(cmd.ApiKey); generated.Should().NotBeNull(); generated.Claims.First().Value.Should().BeEquivalentTo(_applicationId.ToString()); }
public async Task <IActionResult> Create([FromBody] CreateApiKey request) { var key = new SensateApiKey { Id = Guid.NewGuid().ToString(), UserId = this.CurrentUser.Id, CreatedOn = DateTime.Now.ToUniversalTime(), Revoked = false, Type = ApiKeyType.ApiKey, ReadOnly = request.ReadOnly, Name = request.Name, RequestCount = 0 }; await this._keys.CreateAsync(key).AwaitBackground(); return(this.CreatedAtAction("CreateApiKey", key)); }
public async Task <ActionResult> Create(CreateViewModel model) { model.Applications = await GetMyApplications(); if (!ModelState.IsValid) { return(View(model)); } var apiKey = Guid.NewGuid().ToString("N"); var sharedSecret = Guid.NewGuid().ToString("N"); var apps = model.SelectedApplications == null ? new int[0] : model.SelectedApplications.Select(int.Parse).ToArray(); var cmd = new CreateApiKey(model.ApplicationName, apiKey, sharedSecret, apps); await _commandBus.ExecuteAsync(cmd); return(RedirectToAction("Created", new { apiKey, sharedSecret })); }
public async Task Should_be_able_to_Create_key() { var cmd = new CreateApiKey("Mofo", Guid.NewGuid().ToString("N"), Guid.NewGuid().ToString("N"), new[] { _applicationId }); var bus = Substitute.For <IMessageBus>(); var ctx = Substitute.For <IMessageContext>(); using (var uow = CreateUnitOfWork()) { var sut = new CreateApiKeyHandler(uow, bus); await sut.HandleAsync(ctx, cmd); var repos = new ApiKeyRepository(uow); var generated = await repos.GetByKeyAsync(cmd.ApiKey); generated.Should().NotBeNull(); generated.Claims.First().Value.Should().BeEquivalentTo(_applicationId.ToString()); uow.SaveChanges(); } }
public async Task Should_be_able_to_Create_a_key_without_applications_mapped() { var cmd = new CreateApiKey("Mofo", Guid.NewGuid().ToString("N"), Guid.NewGuid().ToString("N")); var bus = Substitute.For <IMessageBus>(); var ctx = Substitute.For <IMessageContext>(); using (var uow = CreateUnitOfWork()) { var sut = new CreateApiKeyHandler(uow, bus); await sut.HandleAsync(ctx, cmd); var repos = new ApiKeyRepository(uow); var generated = await repos.GetByKeyAsync(cmd.ApiKey); generated.Should().NotBeNull(); generated.Claims.Should().NotBeEmpty("because keys without appIds are universal"); uow.SaveChanges(); } }
public async Task HandleAsync(CreateApiKey command) => await ProcessAsync(command);