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
|
||||
.flatMapMany(application -> {
|
||||
GitApplicationMetadata gitData = application.getGitApplicationMetadata();
|
||||
if (gitData != null && !StringUtils.isEmpty(gitData.getDefaultApplicationId())) {
|
||||
GitApplicationMetadata gitApplicationMetadata = application.getGitApplicationMetadata();
|
||||
String repoName = gitApplicationMetadata.getRepoName();
|
||||
Path repoPath = Paths.get(application.getOrganizationId(), gitApplicationMetadata.getDefaultApplicationId(), repoName);
|
||||
if (gitData != null && !StringUtils.isEmpty(gitData.getDefaultApplicationId()) && !StringUtils.isEmpty(gitData.getRepoName())) {
|
||||
String repoName = gitData.getRepoName();
|
||||
Path repoPath = Paths.get(application.getOrganizationId(), gitData.getDefaultApplicationId(), repoName);
|
||||
// Delete git repo from local and delete the applications from DB
|
||||
return gitFileUtils.detachRemote(repoPath)
|
||||
.flatMapMany(isCleared -> applicationService
|
||||
|
|
|
|||
|
|
@ -1437,4 +1437,46 @@ public class ApplicationServiceTest {
|
|||
.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