private void restoreAndAssert(HollowProducer producer, long version, int size, int valueMultiplier, int valueFieldCount) { ReadState readState = producer.restore(version, blobRetriever); Assert.assertNotNull(lastRestoreStatus); Assert.assertEquals(Status.SUCCESS, lastRestoreStatus.getStatus()); Assert.assertEquals("Version should be the same", version, lastRestoreStatus.getDesiredVersion()); HollowObjectTypeReadState typeState = (HollowObjectTypeReadState) readState.getStateEngine().getTypeState("TestPojo"); BitSet populatedOrdinals = typeState.getPopulatedOrdinals(); Assert.assertEquals(size, populatedOrdinals.cardinality()); int ordinal = populatedOrdinals.nextSetBit(0); while (ordinal != -1) { GenericHollowObject obj = new GenericHollowObject(new HollowObjectGenericDelegate(typeState), ordinal); System.out.println("ordinal=" + ordinal + obj); int id = obj.getInt("id"); for (int i = 0; i < valueFieldCount; i++) { String valueFN = "v" + (i + 1); int value = id * valueMultiplier; Assert.assertEquals(valueFN, value, obj.getInt(valueFN)); } ordinal = populatedOrdinals.nextSetBit(ordinal + 1); } System.out.println("Asserted Correctness of version:" + version + "\n\n"); }
@Test public void testPublishAndRestore() { HollowProducer producer = createProducer(tmpFolder, schema); long version = testPublishV1(producer, 2, 10); producer.restore(version, blobRetriever); Assert.assertNotNull(lastRestoreStatus); Assert.assertEquals(Status.SUCCESS, lastRestoreStatus.getStatus()); Assert.assertEquals("Version should be the same", version, lastRestoreStatus.getDesiredVersion()); }