From a17be566a9de5df34f4c0dfc1b328ae79bdf9bf6 Mon Sep 17 00:00:00 2001 From: Nayan <83352306+nayan-rafiq@users.noreply.github.com> Date: Tue, 7 Sep 2021 18:33:45 +0600 Subject: [PATCH] feat: Removed unnecessary fields from exported application (#7198) Removed unnecessary fields from exported application --- .../ImportExportApplicationService.java | 3 +++ .../ImportExportApplicationServiceTests.java | 24 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/solutions/ImportExportApplicationService.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/solutions/ImportExportApplicationService.java index f7f783de85..467c8ae12b 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/solutions/ImportExportApplicationService.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/solutions/ImportExportApplicationService.java @@ -150,6 +150,9 @@ public class ImportExportApplicationService { application.setPages(null); application.setPublishedPages(null); application.setModifiedBy(null); + application.setUpdatedAt(null); + application.setLastDeployedAt(null); + application.setGitApplicationMetadata(null); examplesOrganizationCloner.makePristine(application); applicationJson.setExportedApplication(application); return newPageRepository.findByApplicationId(applicationId, AclPermission.MANAGE_PAGES) diff --git a/app/server/appsmith-server/src/test/java/com/appsmith/server/solutions/ImportExportApplicationServiceTests.java b/app/server/appsmith-server/src/test/java/com/appsmith/server/solutions/ImportExportApplicationServiceTests.java index 6c7367d938..0d871a19f0 100644 --- a/app/server/appsmith-server/src/test/java/com/appsmith/server/solutions/ImportExportApplicationServiceTests.java +++ b/app/server/appsmith-server/src/test/java/com/appsmith/server/solutions/ImportExportApplicationServiceTests.java @@ -12,6 +12,7 @@ import com.appsmith.server.domains.Application; import com.appsmith.server.domains.ApplicationJson; import com.appsmith.server.domains.ApplicationPage; import com.appsmith.server.domains.Datasource; +import com.appsmith.server.domains.GitApplicationMetadata; import com.appsmith.server.domains.Layout; import com.appsmith.server.domains.NewAction; import com.appsmith.server.domains.NewPage; @@ -60,6 +61,7 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; +import java.time.Instant; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -149,6 +151,11 @@ public class ImportExportApplicationServiceTests { Application testApplication = new Application(); testApplication.setName("Export-Application-Test-Application"); testApplication.setOrganizationId(orgId); + testApplication.setUpdatedAt(Instant.now()); + testApplication.setLastDeployedAt(Instant.now()); + testApplication.setModifiedBy("some-user"); + testApplication.setGitApplicationMetadata(new GitApplicationMetadata()); + Application savedApplication = applicationPageService.createApplication(testApplication, orgId).block(); testAppId = savedApplication.getId(); @@ -187,6 +194,23 @@ public class ImportExportApplicationServiceTests { .verify(); } + @Test + @WithUserDetails(value = "api_user") + public void exportApplicationById_WhenContainsInternalFields_InternalFieldsNotExported() { + Mono resultMono = importExportApplicationService.exportApplicationById(testAppId); + + StepVerifier + .create(resultMono) + .assertNext(applicationJson -> { + Application exportedApplication = applicationJson.getExportedApplication(); + assertThat(exportedApplication.getModifiedBy()).isNull(); + assertThat(exportedApplication.getLastUpdateTime()).isNull(); + assertThat(exportedApplication.getLastDeployedAt()).isNull(); + assertThat(exportedApplication.getGitApplicationMetadata()).isNull(); + }) + .verifyComplete(); + } + @Test @WithUserDetails(value = "api_user") public void createExportAppJsonWithoutActionsAndDatasourceTest() {