@Test public void testRevisionsCounts() { assert Arrays.asList( 1, 2, 3, 4 ).equals( getAuditReader().getRevisions( SetRefEdEntity.class, ed1_id ) ); assert Arrays.asList( 1, 3, 4 ).equals( getAuditReader().getRevisions( SetRefEdEntity.class, ed2_id ) ); assert Arrays.asList( 2, 3 ).equals( getAuditReader().getRevisions( SetRefIngEntity.class, ing1_id ) ); assert Arrays.asList( 2, 4 ).equals( getAuditReader().getRevisions( SetRefIngEntity.class, ing2_id ) ); }
@Test public void testHistoryOfId3() { BasicTestEntity2 ver1 = new BasicTestEntity2( id3, "z", null ); assert getAuditReader().find( BasicTestEntity2.class, id3, 1 ).equals( ver1 ); assert getAuditReader().find( BasicTestEntity2.class, id3, 2 ) == null; assert getAuditReader().find( BasicTestEntity2.class, id3, 3 ) == null; assert getAuditReader().find( BasicTestEntity2.class, id3, 4 ) == null; } }
@Test public void testFindRevisions() { AuditReader vr = getAuditReader(); Set<Number> revNumbers = new HashSet<Number>(); revNumbers.add( 1 ); revNumbers.add( 2 ); Map<Number, CustomRevEntity> revisionMap = vr.findRevisions( CustomRevEntity.class, revNumbers ); assert (revisionMap.size() == 2); assert (revisionMap.get( 1 ).equals( vr.findRevision( CustomRevEntity.class, 1 ) )); assert (revisionMap.get( 2 ).equals( vr.findRevision( CustomRevEntity.class, 2 ) )); }
@Test public void testRevisionsForDates() { AuditReader vr = getAuditReader(); assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp2 ) ) ).getTime() <= timestamp2; assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp2 ) ).intValue() + 1 ) .getTime() > timestamp2; assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp3 ) ) ).getTime() <= timestamp3; assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp3 ) ).intValue() + 1 ) .getTime() > timestamp3; assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp4 ) ) ).getTime() <= timestamp4; } }
@Test public void testQueryWithDeleted() { // Selecting all entities, also the deleted ones List entities = getAuditReader().createQuery().forRevisionsOfEntity( PrimitiveTestEntity.class, true, true ) .getResultList(); assert entities.size() == 3; assert entities.get( 0 ).equals( new PrimitiveTestEntity( id1, 10, 0 ) ); assert entities.get( 1 ).equals( new PrimitiveTestEntity( id1, 20, 0 ) ); assert entities.get( 2 ).equals( new PrimitiveTestEntity( id1, 0, 0 ) ); } }
@Test public void testRevisionCounts() { assertEquals( Arrays.asList( 1, 2, 3 ), getAuditReader().getRevisions( Product.class, productId ) ); assertEquals( 1, getAuditReader().find( Product.class, productId, 1 ).getItems().size() ); assertEquals( 2, getAuditReader().find( Product.class, productId, 2 ).getItems().size() ); assertEquals( 1, getAuditReader().find( Product.class, productId, 3 ).getItems().size() ); }
@Test public void testIsEntityClassAuditedForAuditedEntity() { assertTrue( getAuditReader().isEntityClassAudited( AuditedTestEntity.class ) ); assertEquals( Arrays.asList( 1, 2, 3 ), getAuditReader().getRevisions( AuditedTestEntity.class, 1 ) ); }
@Test public void testTimestamps() { assert getAuditReader().getRevisionNumberForDate( new Date( timestamp2 ) ).intValue() == 1; assert getAuditReader().getRevisionNumberForDate( new Date( timestamp3 ) ).intValue() == 2; assert getAuditReader().getRevisionNumberForDate( new Date( timestamp4 ) ).intValue() == 3; }
@Test public void testFindRevision() { AuditReader vr = getAuditReader(); long rev1Timestamp = vr.findRevision( CustomDateRevEntity.class, 1 ).getDateTimestamp().getTime(); assert rev1Timestamp > timestamp1; assert rev1Timestamp <= timestamp2; long rev2Timestamp = vr.findRevision( CustomDateRevEntity.class, 2 ).getDateTimestamp().getTime(); assert rev2Timestamp > timestamp2; assert rev2Timestamp <= timestamp3; }
@Test public void testRevisionsDates() { for ( int i = 1; i < 7; i++ ) { assert getAuditReader().getRevisionDate( i ).getTime() <= getAuditReader().getRevisionDate( i + 1 ).getTime(); } }
@Test public void testPolymorphicQuery() { ParentEntity parentVer1 = new ParentEntity( id1, "x" ); assert getAuditReader().createQuery().forEntitiesAtRevision( ParentEntity.class, 1 ).getSingleResult() .equals( parentVer1 ); assert getAuditReader().createQuery().forEntitiesAtRevision( ChildEntity.class, 1 ) .getResultList().size() == 0; } }
@Test public void testRevisionHistory() { List revisions = getAuditReader().getRevisions( Widget.class, this.widgetId ); assertEquals( Arrays.asList( 1, 2, 3 ), revisions ); final Widget rev1 = getAuditReader().find( Widget.class, this.widgetId, 1 ); assertEquals( Widget.Status.DRAFT, rev1.getStatus() ); final Widget rev2 = getAuditReader().find( Widget.class, this.widgetId, 2 ); assertEquals( Widget.Status.ARCHIVED, rev2.getStatus() ); final Widget rev3 = getAuditReader().find( Widget.class, this.widgetId, 3 ); assertNull( rev3 ); }
@Test public void testRevisionsForDates() { AuditReader vr = getAuditReader(); assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp2 ) ) ).getTime() <= timestamp2; assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp2 ) ).intValue() + 1 ) .getTime() > timestamp2; assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp3 ) ) ).getTime() <= timestamp3; }
@Test public void testTimestamps() { assert getAuditReader().getRevisionNumberForDate( new Date( timestamp2 ) ).intValue() == 1; assert getAuditReader().getRevisionNumberForDate( new Date( timestamp3 ) ).intValue() == 2; }
@Test public void testFindRevision() { AuditReader vr = getAuditReader(); long rev1Timestamp = vr.findRevision( CustomBoxedRevEntity.class, 1 ).getCustomTimestamp(); assert rev1Timestamp > timestamp1; assert rev1Timestamp <= timestamp2; long rev2Timestamp = vr.findRevision( CustomBoxedRevEntity.class, 2 ).getCustomTimestamp(); assert rev2Timestamp > timestamp2; assert rev2Timestamp <= timestamp3; }
@Test public void testRevisionsOfEntityWithoutDelete() { List result = getAuditReader().createQuery() .forRevisionsOfEntity( StrIntTestEntity.class, false, false ) .add( AuditEntity.id().eq( id2 ) ) .getResultList(); assert result.size() == 1; assert ((Object[]) result.get( 0 ))[0].equals( new StrIntTestEntity( "b", 11, id2 ) ); assert ((SequenceIdRevisionEntity) ((Object[]) result.get( 0 ))[1]).getId() == 1; assert ((Object[]) result.get( 0 ))[2].equals( RevisionType.ADD ); } }
@Test public void testRevisionsCounts() { assert Arrays.asList( 1, 2, 3, 4 ).equals( getAuditReader().getRevisions( SetRefCollEntity.class, coll1_id ) ); assert Arrays.asList( 1 ).equals( getAuditReader().getRevisions( StrTestEntity.class, str1_id ) ); assert Arrays.asList( 1 ).equals( getAuditReader().getRevisions( StrTestEntity.class, str2_id ) ); }
@Test public void testStringMapHistory() { final List<Number> revisions = getAuditReader().getRevisions( StringMapEntity.class, mapId ); assertEquals( Arrays.asList( 1, 2 ), revisions ); final StringMapEntity rev1 = getAuditReader().find( StringMapEntity.class, mapId, 1 ); assertEquals( TestTools.makeMap( "A", "B" ), rev1.getStrings() ); final StringMapEntity rev2 = getAuditReader().find( StringMapEntity.class, mapId, 2 ); assertEquals( TestTools.makeMap( "D", "E" ), rev2.getStrings() ); }
@Test public void testHistoryOfCcte() { ParametrizedCustomTypeEntity rev1 = getAuditReader().find( ParametrizedCustomTypeEntity.class, pcte_id, 1 ); ParametrizedCustomTypeEntity rev2 = getAuditReader().find( ParametrizedCustomTypeEntity.class, pcte_id, 2 ); assert "xUy".equals( rev1.getStr() ); assert "xVy".equals( rev2.getStr() ); } }
@Test public void testRevisionsForDates() { AuditReader vr = getAuditReader(); assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp2 ) ) ).getTime() <= timestamp2; assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp2 ) ).intValue() + 1 ) .getTime() > timestamp2; assert vr.getRevisionDate( vr.getRevisionNumberForDate( new Date( timestamp3 ) ) ).getTime() <= timestamp3; }