@Test
@Ignore("To be fixed: GUVNOR-296")
public void testHistoryAfterReImportSampleRepository() throws Exception {
QueryPageRequest request;
PageResponse<QueryPageRow> response;
ServiceImplementation impl = getServiceImplementation();
RepositoryPackageService repositoryPackageService = getRepositoryPackageService();
//Import sample, do a sanity check, make sure sample is installed correctly
repositoryPackageService.installSampleRepository();
PackageConfigData[] cfgs = repositoryPackageService.listPackages();
assertEquals( 2,
cfgs.length );
assertTrue( cfgs[0].getName().equals( "mortgages" ) || cfgs[1].getName().equals( "mortgages" ) );
request = new QueryPageRequest( "Bankruptcy history",
false,
0,
20 );
RepositoryAssetService repositoryAssetService = getRepositoryAssetService();
response = repositoryAssetService.quickFindAsset( request );
assertEquals( 1,
response.getPageRowList().size() );
String uuid = response.getPageRowList().get( 0 ).getUuid();
// create version 4.
RuleAsset ai = repositoryAssetService.loadRuleAsset( uuid );
ai.setCheckinComment( "version 4" );
repositoryAssetService.checkinVersion( ai );
// create version 5.
ai = repositoryAssetService.loadRuleAsset( uuid );
ai.setCheckinComment( "version 5" );
repositoryAssetService.checkinVersion( ai );
System.out.println( "old uuid: " + uuid );
//NOTE: Have not figured out the reason, but if we dont create a random package here,
//we will get an InvalidItemStateException during impl.installSampleRepository()
impl.getRulesRepository().createPackage( "testHistoryAfterReImportSampleRepository",
"desc" );
TableDataResult result = repositoryAssetService.loadItemHistory( uuid );
assertNotNull( result );
TableDataRow[] rows = result.data;
assertEquals( 2,
rows.length );
//Import sample again
repositoryPackageService.installSampleRepository();
request = new QueryPageRequest( "Bankruptcy history",
false,
0,
20 );
response = repositoryAssetService.quickFindAsset( request );
assertEquals( 1,