package com.constellio.app.modules.rm.migrations; import static org.assertj.core.api.Assertions.assertThat; import java.io.File; import org.junit.Test; import com.constellio.app.modules.rm.services.RMSchemasRecordsServices; import com.constellio.app.modules.rm.wrappers.RetentionRule; import com.constellio.model.entities.records.wrappers.User; import com.constellio.sdk.tests.ConstellioTest; import com.constellio.sdk.tests.SDKFoldersLocator; public class RMMigrationTo6_2_AcceptanceTest extends ConstellioTest { @Test public void whenMigrateFromOlderVersionThenAllCopyRetentionRuleReceivedAnId() throws Exception { givenSystemAtVersion6_1WithDocumentRules(); RMSchemasRecordsServices rm = new RMSchemasRecordsServices(zeCollection, getAppLayerFactory()); RetentionRule folderAndDocumentRule = rm.getRetentionRule("00000000309"); RetentionRule documentRule = rm.getRetentionRule("00000000312"); RetentionRule folderRule = rm.getRetentionRule("ruleId_4"); assertThat(folderAndDocumentRule.getSecondaryCopy().getId()).isNotNull(); assertThat(folderAndDocumentRule.getPrincipalCopies().get(0).getId()).isNotNull(); assertThat(folderAndDocumentRule.getDocumentCopyRetentionRules().get(0).getId()).isNotNull(); assertThat(folderAndDocumentRule.getDocumentCopyRetentionRules().get(1).getId()).isNotNull(); assertThat(folderRule.getSecondaryCopy().getId()).isNotNull(); assertThat(folderRule.getPrincipalCopies().get(0).getId()).isNotNull(); assertThat(documentRule.getPrincipalDefaultDocumentCopyRetentionRule().getId()).isNotNull(); assertThat(documentRule.getSecondaryDefaultDocumentCopyRetentionRule().getId()).isNotNull(); assertThat(documentRule.getDocumentCopyRetentionRules().get(0).getId()).isNotNull(); assertThat(documentRule.getDocumentCopyRetentionRules().get(1).getId()).isNotNull(); } private void givenSystemAtVersion6_1WithDocumentRules() { givenTransactionLogIsEnabled(); File statesFolder = new SDKFoldersLocator().getInitialStatesFolder(); File state = new File(statesFolder, "given_system_in_6.1_with_tasks,rm_modules__with_document_rules.zip"); getCurrentTestSession().getFactoriesTestFeatures().givenSystemInState(state); } }