示例#1
0
        public void ShouldDeleteVendorWithApplication()
        {
            var newVendor = new Vendor {
                VendorName = "test vendor"
            };
            var newApplication = new Application {
                ApplicationName = "test application", OperationalContextUri = OperationalContext.DefaultOperationalContextUri
            };

            newVendor.Applications.Add(newApplication);
            Save(newVendor);
            var vendorId      = newVendor.VendorId;
            var applicationId = newApplication.ApplicationId;

            applicationId.ShouldBeGreaterThan(0);

            Scoped <IUsersContext>(usersContext =>
            {
                var deleteApplicationCommand = new DeleteApplicationCommand(usersContext);
                var deleteVendorCommand      = new DeleteVendorCommand(usersContext, deleteApplicationCommand);
                deleteVendorCommand.Execute(vendorId);
            });

            Transaction(usersContext => usersContext.Vendors.Where(v => v.VendorId == vendorId).ToArray()).ShouldBeEmpty();
            Transaction(usersContext => usersContext.Applications.Where(a => a.ApplicationId == applicationId).ToArray()).ShouldBeEmpty();
        }
示例#2
0
        public async Task DeleteApplicationHandler_Handle_ShouldThrowExceptionIfApplicationHasAnyEnvironment()
        {
            var applicationId            = Guid.Parse("CEC6C736-E6B2-467D-B833-650BEB06A9DE");
            var deleteApplicationCommand = new DeleteApplicationCommand(applicationId);

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

            await Assert.ThrowsAsync <DeleteFailedException>(() =>
                                                             _deleteApplicationCommandHandler.Handle(deleteApplicationCommand, CancellationToken.None));
        }
示例#3
0
        public async Task <ActionResult <Application> > Delete(int id)
        {
            var request  = new DeleteApplicationCommand(id);
            var response = await _mediator.Send(request);

            return(Ok(response));
        }
示例#4
0
        public void ShouldDeleteApplicationWithProfile()
        {
            var application = new Application {
                ApplicationName = "test application", OperationalContextUri = OperationalContext.DefaultOperationalContextUri
            };
            var profile = new Profile {
                ProfileName = "test profile"
            };

            application.Profiles.Add(profile);

            Save(application);

            var applicationId = application.ApplicationId;

            applicationId.ShouldBeGreaterThan(0);

            var profileId = profile.ProfileId;

            profileId.ShouldBeGreaterThan(0);

            Scoped <IUsersContext>(usersContext =>
            {
                var deleteApplicationCommand = new DeleteApplicationCommand(usersContext);
                deleteApplicationCommand.Execute(applicationId);
            });

            Transaction(usersContext => usersContext.Applications.Where(a => a.ApplicationId == applicationId).ToArray()).ShouldBeEmpty();
            Transaction(usersContext => usersContext.Profiles.Where(p => p.ProfileId == profileId).ToArray()).ShouldNotBeEmpty();
        }
示例#5
0
        public async Task DeleteApplicationHandler_Handle_ShouldRemoveApplicationEntity()
        {
            var applicationId            = Guid.Parse("CEC6C736-E6B2-467D-B833-650BEB06A9DE");
            var deleteApplicationCommand = new DeleteApplicationCommand(applicationId);

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

            await _deleteApplicationCommandHandler.Handle(deleteApplicationCommand, CancellationToken.None);

            Assert.False(Context.Applications.Any(app => app.Id == applicationId));
        }
 public ViewModelBase()
 {
     connection                = new Connection();
     connectCommand            = new ConnectCommand(this);
     removeServiceCommand      = new RemoveServiceCommand(this);
     restartServiceCommand     = new RestartServiceCommand(this);
     updateServiceCommand      = new UpdateServiceCommand(this);
     upgradeApplicationCommand = new UpgradeApplicationCommand(this);
     deleteApplicationCommand  = new DeleteApplicationCommand(this);
     refreshCommand            = new RefreshCommand(this);
     Applications              = new ObservableCollection <ApplicationType>();
     AppGridEnable             = false;
     ServiceGridEnable         = false;
     SFPowerShell.Initialize();
     //ApplicationType ap = new ApplicationType("Id", "name", "TypeName", "version", "1");
     //Service s = new Service("SId", "SName", "SType", "SVersion", "1", "1");
     //ap.Services.Add(s);
     //Parameter p = new Parameter("keykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykeykey", "valuevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevalue");
     //ap.ApplicationParameters.Add(p);
     //Parameter p2 = new Parameter("key2", "value2");
     //ap.ApplicationParameters.Add(p2);
     //Applications.Add(ap);
     //ApplicationType ap2 = new ApplicationType("Id2", "name2", "TypeName2", "version2", "1");
     //Service s2 = new Service("SId2", "SName2", "SType2", "SVersion2", "1", "1");
     //ap2.Services.Add(s2);
     //Parameter p3 = new Parameter("key2", "value2");
     //ap2.ApplicationParameters.Add(p3);
     //Applications.Add(ap2);
 }
示例#7
0
        public async Task <IActionResult> Delete(int id)
        {
            var deleteApplicationCommand = new DeleteApplicationCommand(id);
            var response = await _mediator.Send(deleteApplicationCommand);

            return(Ok(response));
        }
示例#8
0
 public EditAppViewModel(ApplicationConfigService appConfigService, ApplicationViewModel model)
 {
     Application                = model.ApplicationTuple;
     AppConfigService           = appConfigService;
     DeleteApplicationCommand   = new DeleteApplicationCommand(this);
     DeployAsiLoaderCommand     = new DeployAsiLoaderCommand(this);
     SetApplicationImageCommand = new SetApplicationImageCommand(this);
 }
示例#9
0
 public AddAppViewModel(MainPageViewModel viewModel)
 {
     MainPageViewModel          = viewModel;
     AddApplicationCommand      = new AddApplicationCommand(this);
     DeleteApplicationCommand   = new DeleteApplicationCommand(this);
     DeployAsiLoaderCommand     = new DeployAsiLoaderCommand(this);
     SetApplicationImageCommand = new SetApplicationImageCommand(this);
 }
示例#10
0
        public void ShouldDeleteApplication()
        {
            var application = new Application {
                ApplicationName = "test application", OperationalContextUri = OperationalContext.DefaultOperationalContextUri
            };

            Save(application);
            var applicationId = application.ApplicationId;

            var deleteApplicationCommand = new DeleteApplicationCommand(TestContext);

            deleteApplicationCommand.Execute(applicationId);
            TestContext.Applications.Where(a => a.ApplicationId == applicationId).ShouldBeEmpty();
        }
示例#11
0
        public void ShouldDeleteApplicationWithClient()
        {
            var application = new Application {
                ApplicationName = "test application", OperationalContextUri = OperationalContext.DefaultOperationalContextUri
            };

            var client = new ApiClient
            {
                Name           = "test client",
                Key            = "n/a",
                Secret         = "n/a",
                ActivationCode = "fake activation code"
            };

            var clientAccessToken = new ClientAccessToken
            {
                ApiClient  = client,
                Expiration = DateTime.Now.AddDays(1)
            };

            client.ClientAccessTokens.Add(clientAccessToken);

            application.ApiClients.Add(client);
            Save(application);

            var applicationId = application.ApplicationId;

            applicationId.ShouldBeGreaterThan(0);

            var clientId = client.ApiClientId;

            clientId.ShouldBeGreaterThan(0);

            var tokenId = clientAccessToken.Id;

            tokenId.ShouldNotBe(Guid.Empty);

            Scoped <IUsersContext>(usersContext =>
            {
                var deleteApplicationCommand = new DeleteApplicationCommand(usersContext);
                deleteApplicationCommand.Execute(applicationId);
            });

            Transaction(usersContext => usersContext.Applications.Where(a => a.ApplicationId == applicationId).ToArray()).ShouldBeEmpty();
            Transaction(usersContext => usersContext.Clients.Where(c => c.ApiClientId == clientId).ToArray()).ShouldBeEmpty();
        }
示例#12
0
        public void ShouldDeleteApplication()
        {
            var application = new Application {
                ApplicationName = "test application", OperationalContextUri = OperationalContext.DefaultOperationalContextUri
            };

            Save(application);
            var applicationId = application.ApplicationId;

            Scoped <IUsersContext>(usersContext =>
            {
                var deleteApplicationCommand = new DeleteApplicationCommand(usersContext);
                deleteApplicationCommand.Execute(applicationId);
            });

            Transaction(usersContext => usersContext.Applications.Where(a => a.ApplicationId == applicationId).ToArray()).ShouldBeEmpty();
        }
示例#13
0
        public void ShouldDeleteApplicationWithOrganization()
        {
            var application = new Application {
                ApplicationName = "test application", OperationalContextUri = OperationalContext.DefaultOperationalContextUri
            };

            var client = new ApiClient
            {
                Name   = "test client",
                Key    = "n/a",
                Secret = "n/a",
            };

            var organization = new ApplicationEducationOrganization
            {
                Application = application,
                Clients     = new List <ApiClient> {
                    client
                }
            };

            application.ApiClients.Add(client);
            application.ApplicationEducationOrganizations.Add(organization);
            Save(application);

            var applicationId = application.ApplicationId;

            applicationId.ShouldBeGreaterThan(0);

            var organizationId = organization.ApplicationEducationOrganizationId;

            organizationId.ShouldBeGreaterThan(0);

            Scoped <IUsersContext>(usersContext =>
            {
                var deleteApplicationCommand = new DeleteApplicationCommand(usersContext);
                deleteApplicationCommand.Execute(applicationId);
            });

            Transaction(usersContext => usersContext.Applications.Where(a => a.ApplicationId == applicationId).ToArray()).ShouldBeEmpty();
            Transaction(usersContext => usersContext.ApplicationEducationOrganizations.Where(o => o.ApplicationEducationOrganizationId == organizationId).ToArray()).ShouldBeEmpty();
        }
示例#14
0
 public void Dispose()
 {
     DeleteApplicationCommand?.Dispose();
     DeployAsiLoaderCommand?.Dispose();
 }
示例#15
0
 public async Task DeleteApplicationHandler_Handle_ShouldThrowExceptionIfApplicationIdIsNotSet()
 {
     var deleteApplicationCommand = new DeleteApplicationCommand(default(Guid));
     await Assert.ThrowsAsync <SpiderException>(() =>
                                                _deleteApplicationCommandHandler.Handle(deleteApplicationCommand, CancellationToken.None));
 }
 public ApplicationCannotBeDeleteWhenRecordDoesNotExistInDatabaseBusinessRule(DeleteApplicationCommand command, IQueryable <Application> applications)
 {
     _applications = applications;
     _command      = command;
 }