@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 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 testCacheReferenceAccessAfterFind() { SetRefEdEntity ed1_rev1 = getAuditReader().find( SetRefEdEntity.class, ed1_id, 1 ); SetRefIngEntity ing1_rev1 = getAuditReader().find( SetRefIngEntity.class, ing1_id, 1 ); SetRefIngEntity ing2_rev1 = getAuditReader().find( SetRefIngEntity.class, ing2_id, 1 ); // It should be exactly the same object assert ing1_rev1.getReference() == ed1_rev1; assert ing2_rev1.getReference() == ed1_rev1; }
@Test public void testHistoryOfId1() { CompositeDateIdTestEntity ver1 = new CompositeDateIdTestEntity( id1, "x" ); CompositeDateIdTestEntity ver2 = new CompositeDateIdTestEntity( id1, "y" ); assert getAuditReader().find( CompositeDateIdTestEntity.class, id1, 1 ).getStr1().equals( "x" ); assert getAuditReader().find( CompositeDateIdTestEntity.class, id1, 2 ).getStr1().equals( "y" ); } }
@Test public void testHistoryOfId1() { BasicTestEntity1 ver1 = new BasicTestEntity1( id1, "x", 1 ); BasicTestEntity1 ver2 = new BasicTestEntity1( id1, null, 1 ); assert getAuditReader().find( BasicTestEntity1.class, id1, 1 ).equals( ver1 ); assert getAuditReader().find( BasicTestEntity1.class, id1, 2 ).equals( ver1 ); assert getAuditReader().find( BasicTestEntity1.class, id1, 3 ).equals( ver2 ); assert getAuditReader().find( BasicTestEntity1.class, id1, 4 ).equals( ver2 ); }
@Test public void testIndexedCollectionRev4() { final Parent p = getAuditReader().find( Parent.class, 1, 4 ); assertEquals( 0, p.getChildren().size() ); }
@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 testHistoryOfId1() { LobTestEntity ver1 = new LobTestEntity( id1, "abc", new byte[]{ 0, 1, 2 }, new char[]{ 'x', 'y', 'z' } ); LobTestEntity ver2 = new LobTestEntity( id1, "def", new byte[]{ 3, 4, 5 }, new char[]{ 'h', 'i', 'j' } ); assertEquals( getAuditReader().find( LobTestEntity.class, id1, 1 ), ver1 ); assertEquals( getAuditReader().find( LobTestEntity.class, id1, 2 ), ver2 ); }
@Test public void testIndexedCollectionRev2() { final Parent p = getAuditReader().find( Parent.class, 1, 2 ); assertEquals( 1, p.getChildren().size() ); assertEquals( Arrays.asList( "child2" ), p.getChildren() ); }
@Test public void testCacheReferenceAccessAfterCollectionAccessRev1() { SetRefEdEntity ed1_rev1 = getAuditReader().find( SetRefEdEntity.class, ed1_id, 1 ); // It should be exactly the same object assert ed1_rev1.getReffering().size() == 2; for ( SetRefIngEntity setRefIngEntity : ed1_rev1.getReffering() ) { assert setRefIngEntity.getReference() == ed1_rev1; } }
@Test public void testCacheReferenceAccessAfterCollectionAccessRev2() { SetRefEdEntity ed2_rev2 = getAuditReader().find( SetRefEdEntity.class, ed2_id, 2 ); assert ed2_rev2.getReffering().size() == 2; for ( SetRefIngEntity setRefIngEntity : ed2_rev2.getReffering() ) { assert setRefIngEntity.getReference() == ed2_rev2; } }
@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 testHistoryOfId1() { Country country1 = getEntityManager().find( Country.class, country.getCode() ); assertEquals( country1, country ); Country history = getAuditReader().find( Country.class, country1.getCode(), 1 ); assertEquals( country, history ); }
@Test public void testRevision2() { final Product product = getAuditReader().find( Product.class, productId, 2 ); assertEquals( 2, product.getItems().size() ); assertEquals( "bread", product.getItems().get( 0 ).getName() ); assertEquals( "bread2", product.getItems().get( 1 ).getName() ); assertEquals( new Type( 2, "T2" ), product.getItems().get( 1 ).getType() ); }
@Test public void testHistoryOfId1() { SerializableTestEntity ver1 = new SerializableTestEntity( id1, new SerObject( "d1" ) ); SerializableTestEntity ver2 = new SerializableTestEntity( id1, new SerObject( "d2" ) ); assert getAuditReader().find( SerializableTestEntity.class, id1, 1 ).equals( ver1 ); assert getAuditReader().find( SerializableTestEntity.class, id1, 2 ).equals( ver2 ); } }
@Test public void testRevision2() { final A rev2 = getAuditReader().find( A.class, this.a.getId(), 2 ); assertEquals( 2, rev2.getMap().size() ); assertEquals( TestTools.makeMap( this.b1, this.c1, this.b2, this.c2 ), rev2.getMap() ); }
@Test public void testHistoryOfOwned() { OneToManyOwned owned = new OneToManyOwned( "data", null, ownedId ); ManyToOneOwning owning1 = new ManyToOneOwning( "data1", owned, owning1Id ); ManyToOneOwning owning2 = new ManyToOneOwning( "data2", owned, owning2Id ); OneToManyOwned ver1 = getAuditReader().find( OneToManyOwned.class, ownedId, 1 ); Assert.assertEquals( owned, ver1 ); Assert.assertEquals( TestTools.makeSet( owning1, owning2 ), ver1.getReferencing() ); OneToManyOwned ver2 = getAuditReader().find( OneToManyOwned.class, ownedId, 2 ); Assert.assertEquals( owned, ver2 ); Assert.assertEquals( TestTools.makeSet( owning2 ), ver2.getReferencing() ); }
@Test public void testAuditChildTableAlias() { Parent parent = new Parent( "parent", parentId ); Child child = new Child( "child", childId ); Parent ver1 = getAuditReader().find( Parent.class, parentId, 1 ); Assert.assertEquals( parent, ver1 ); Assert.assertEquals( TestTools.makeSet( child ), ver1.getCollection() ); } }