when(newKieModule.getCreationTimestamp()).thenReturn(10l); final long oldKieModuleTimeStamp = ((InternalKieModule) oldKieModule).getCreationTimestamp(); final long originalKieModuleTimestamp = originalOldKieModule.getCreationTimestamp(); assertEquals( "The old kie module in the repo is not the originally deployed module!", originalKieModuleTimestamp, oldKieModuleTimeStamp);
final InternalKieModule kieModule = mock(InternalKieModule.class); when(kieModule.getReleaseId()).thenReturn(releaseIds[i]); when(kieModule.getCreationTimestamp()).thenReturn(10l); kieModuleRepo.store(kieModule);
final InternalKieModule originalKieModule = mock(InternalKieModule.class); when(originalKieModule.getReleaseId()).thenReturn(releaseId); when(originalKieModule.getCreationTimestamp()).thenReturn(0l); when(redeployKieModule.getCreationTimestamp()).thenReturn(1l); assertNotNull( "Redeployed module has disappeared from KieModuleRepo!", redeployedKieModule); assertEquals( "Original module retrieved instead of redeployed module!", 1l, redeployKieModule.getCreationTimestamp() );
@Test public void storingNewProjectsCausesOldProjectEvictionFromKieModuleRepoTest() throws Exception { // setup setFinalField(maxSizeGaCacheField, null, 3); setFinalField(maxSizeGaVersionsCacheField, null, 2); // to test oldKieModules caching final ReleaseIdImpl [] releaseIds = new ReleaseIdImpl[7]; for( int i = 0; i < releaseIds.length; ++i ) { final String artifactId = Character.toString((char)('A'+i)); releaseIds[i] = new ReleaseIdImpl("org", artifactId, "1.0"); } // store for( int i = 0; i < releaseIds.length; ++i ) { final InternalKieModule kieModule = mock(InternalKieModule.class); when(kieModule.getReleaseId()).thenReturn(releaseIds[i]); when(kieModule.getCreationTimestamp()).thenReturn(10l); kieModuleRepo.store(kieModule); kieModuleRepo.store(kieModule); // store module 2 times to trigger storage to oldKieModules } final int numKieModules = countKieModules(kieModuleRepo.kieModules); assertEquals( "KieModuleRepo cache should not grow past " + KieModuleRepo.MAX_SIZE_GA_CACHE + ": ", KieModuleRepo.MAX_SIZE_GA_CACHE, numKieModules ); final int oldKieModulesSize = kieModuleRepo.oldKieModules.size(); final int max = KieModuleRepo.MAX_SIZE_GA_CACHE * KieModuleRepo.MAX_SIZE_GA_VERSIONS_CACHE; assertTrue( "KieModuleRepot old KieModules map is not limited in it's growth: " + oldKieModulesSize + " > " + max, oldKieModulesSize <= max ); }
final InternalKieModule kieModule = mock(InternalKieModule.class); when(kieModule.getReleaseId()).thenReturn(releaseIds[i]); when(kieModule.getCreationTimestamp()).thenReturn(10l); kieModuleRepo.store(kieModule); final InternalKieModule kieModule = mock(InternalKieModule.class); when(kieModule.getReleaseId()).thenReturn(releaseIds[i]); when(kieModule.getCreationTimestamp()).thenReturn(10l); kieModuleRepo.store(kieModule);