fix: check for repoName while deleting apps (#8866)
* check for repoName while deleting apps * Added tests
This commit is contained in:
parent
3fd5edad11
commit
ebb9665d42
|
|
@ -319,10 +319,9 @@ public class ApplicationPageServiceImpl implements ApplicationPageService {
|
||||||
return applicationMono
|
return applicationMono
|
||||||
.flatMapMany(application -> {
|
.flatMapMany(application -> {
|
||||||
GitApplicationMetadata gitData = application.getGitApplicationMetadata();
|
GitApplicationMetadata gitData = application.getGitApplicationMetadata();
|
||||||
if (gitData != null && !StringUtils.isEmpty(gitData.getDefaultApplicationId())) {
|
if (gitData != null && !StringUtils.isEmpty(gitData.getDefaultApplicationId()) && !StringUtils.isEmpty(gitData.getRepoName())) {
|
||||||
GitApplicationMetadata gitApplicationMetadata = application.getGitApplicationMetadata();
|
String repoName = gitData.getRepoName();
|
||||||
String repoName = gitApplicationMetadata.getRepoName();
|
Path repoPath = Paths.get(application.getOrganizationId(), gitData.getDefaultApplicationId(), repoName);
|
||||||
Path repoPath = Paths.get(application.getOrganizationId(), gitApplicationMetadata.getDefaultApplicationId(), repoName);
|
|
||||||
// Delete git repo from local and delete the applications from DB
|
// Delete git repo from local and delete the applications from DB
|
||||||
return gitFileUtils.detachRemote(repoPath)
|
return gitFileUtils.detachRemote(repoPath)
|
||||||
.flatMapMany(isCleared -> applicationService
|
.flatMapMany(isCleared -> applicationService
|
||||||
|
|
|
||||||
|
|
@ -1437,4 +1437,46 @@ public class ApplicationServiceTest {
|
||||||
.verifyComplete();
|
.verifyComplete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@WithUserDetails(value = "api_user")
|
||||||
|
public void deleteApplication_withNullGitData_Success() {
|
||||||
|
Application testApplication = new Application();
|
||||||
|
String appName = "deleteApplication_withNullGitData_Success";
|
||||||
|
testApplication.setName(appName);
|
||||||
|
Application application = applicationPageService.createApplication(testApplication, orgId).block();
|
||||||
|
|
||||||
|
Mono<Application> applicationMono = applicationPageService.deleteApplication(application.getId());
|
||||||
|
|
||||||
|
StepVerifier
|
||||||
|
.create(applicationMono)
|
||||||
|
.assertNext(application1 -> {
|
||||||
|
assertThat(application1.isDeleted()).isTrue();
|
||||||
|
})
|
||||||
|
.verifyComplete();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@WithUserDetails(value = "api_user")
|
||||||
|
public void deleteApplication_WithDeployKeysNotConnectedToRemote_Success() {
|
||||||
|
Application testApplication = new Application();
|
||||||
|
String appName = "deleteApplication_WithDeployKeysNotConnectedToRemote_Success";
|
||||||
|
testApplication.setName(appName);
|
||||||
|
GitApplicationMetadata gitApplicationMetadata = new GitApplicationMetadata();
|
||||||
|
GitAuth gitAuth = new GitAuth();
|
||||||
|
gitAuth.setPrivateKey("privateKey");
|
||||||
|
gitAuth.setPublicKey("publicKey");
|
||||||
|
gitApplicationMetadata.setGitAuth(gitAuth);
|
||||||
|
testApplication.setGitApplicationMetadata(gitApplicationMetadata);
|
||||||
|
Application application = applicationPageService.createApplication(testApplication, orgId).block();
|
||||||
|
|
||||||
|
Mono<Application> applicationMono = applicationPageService.deleteApplication(application.getId());
|
||||||
|
|
||||||
|
StepVerifier
|
||||||
|
.create(applicationMono)
|
||||||
|
.assertNext(application1 -> {
|
||||||
|
assertThat(application1.isDeleted()).isTrue();
|
||||||
|
})
|
||||||
|
.verifyComplete();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user