CreateEnvironmentCommandHandler_Handle_ShouldAddNewEnvironmentInApplication()
        {
            var applicationId     = Guid.Parse("346AD95F-3B37-453A-B6E1-07F625BCB0CC");
            var createEnvironment = new CreateEnvironmentDto
            {
                ApplicationId = applicationId,
                Name          = "Development",
                Description   = "Description"
            };
            var application = new Domain.Entities.Application
            {
                Id   = applicationId,
                Name = "Application",
            };

            Context.Applications.Add(application);
            Context.Environments.Add(new Domain.Entities.Environment
            {
                Id            = Guid.NewGuid(),
                ApplicationId = applicationId,
                Name          = "Prod",
                IsActive      = true
            });
            await Context.SaveChangesAsync();

            var command = new CreateEnvironmentCommand(createEnvironment);
            await _createEnvironmentsCommandHandler.Handle(command, CancellationToken.None);

            var actualEnvironmentCount = await
                                         Context.Environments.Where(env => env.ApplicationId == applicationId)
                                         ?.CountAsync(CancellationToken.None);

            Assert.Equal(2, actualEnvironmentCount);
        }
        CreateEnvironmentCommandHandler_Handle_ShouldThrowExceptionIfEnvironmentAlreadyExistsInApplication()
        {
            var applicationId     = Guid.Parse("346AD95F-3B37-453A-B6E1-07F625BCB0CC");
            var createEnvironment = new CreateEnvironmentDto
            {
                ApplicationId = applicationId,
                Name          = "Prod",
                Description   = "Description"
            };
            var application = new Domain.Entities.Application
            {
                Id   = applicationId,
                Name = "Application",
            };

            Context.Applications.Add(application);
            Context.Environments.Add(new Domain.Entities.Environment
            {
                Id            = Guid.NewGuid(),
                Application   = application,
                ApplicationId = applicationId,
                Name          = "Prod",
                IsActive      = true
            });
            await Context.SaveChangesAsync();

            var command = new CreateEnvironmentCommand(createEnvironment);
            await Assert.ThrowsAsync <RecordAlreadyExistsException>(() =>
                                                                    _createEnvironmentsCommandHandler.Handle(command, CancellationToken.None));
        }
        public async Task CreateEnvironmentCommandHandler_Handle_ShouldThrowExceptionIfApplicationNotExists()
        {
            var createEnvironment = new CreateEnvironmentDto
            {
                ApplicationId = Guid.NewGuid(),
                Name          = "Name",
                Description   = "Description"
            };

            var command = new CreateEnvironmentCommand(createEnvironment);
            await Assert.ThrowsAsync <SpiderException>(() =>
                                                       _createEnvironmentsCommandHandler.Handle(command, CancellationToken.None));
        }
Exemplo n.º 4
0
        private async Task When_a_environment_is_requested()
        {
            var provider = _services.BuildServiceProvider();

            var provisioningBroker = provider.GetRequiredService <IProvisioningBroker>();


            var environmentDesiredState = new DesiredState(
                name: "environment",
                apiVersion: "1",
                labels: null,
                properties: new[]
            {
                new Property("name", "production"), new Property("capability.RootId", "operateports-zekzl"),
            }
                );
            var createEnvironmentCommand = new CreateEnvironmentCommand(environmentDesiredState);
            var result = await provisioningBroker.Handle(createEnvironmentCommand);
        }
 public void Setup()
 {
     createEnvironmentCommand = new CreateEnvironmentCommand(RepositoryFactory, FileSystem, ClientFactory, CommandOutputProvider);
     //Repository.Environments.Create(Arg.Any<EnvironmentResource>()).Returns()
 }