@Test public void testMultipleCellsInOneFamilyAreConverted() { byte[] row = dataHelper.randomData("rk-"); byte[] family = dataHelper.randomData("f1"); byte[] qualifier1 = dataHelper.randomData("qual1"); byte[] qualifier2 = dataHelper.randomData("qual2"); byte[] value1 = dataHelper.randomData("v1"); byte[] value2 = dataHelper.randomData("v2"); long timestamp1 = 1L; long timestamp2 = 2L; Put hbasePut = new Put(row); hbasePut.addColumn(family, qualifier1, timestamp1, value1); hbasePut.addColumn(family, qualifier2, timestamp2, value2); MutateRowRequest.Builder rowMutationBuilder = adapter.adapt(hbasePut); Assert.assertArrayEquals(row, rowMutationBuilder.getRowKey().toByteArray()); Assert.assertEquals(2, rowMutationBuilder.getMutationsCount()); Mutation mutation = rowMutationBuilder.getMutations(0); Assert.assertEquals(MutationCase.SET_CELL, mutation.getMutationCase()); SetCell setCell = mutation.getSetCell(); Assert.assertArrayEquals(family, setCell.getFamilyNameBytes().toByteArray()); Assert.assertArrayEquals(qualifier1, setCell.getColumnQualifier().toByteArray()); Assert.assertEquals(TimeUnit.MILLISECONDS.toMicros(timestamp1), setCell.getTimestampMicros()); Assert.assertArrayEquals(value1, setCell.getValue().toByteArray()); Mutation mod2 = rowMutationBuilder.getMutations(1); SetCell setCell2 = mod2.getSetCell(); Assert.assertArrayEquals(family, setCell2.getFamilyNameBytes().toByteArray()); Assert.assertArrayEquals(qualifier2, setCell2.getColumnQualifier().toByteArray()); Assert.assertEquals(TimeUnit.MILLISECONDS.toMicros(timestamp2), setCell2.getTimestampMicros()); Assert.assertArrayEquals(value2, setCell2.getValue().toByteArray()); }
@Test public void testSingleCellIsConverted() { byte[] row = dataHelper.randomData("rk-"); byte[] family = dataHelper.randomData("f"); byte[] qualifier = dataHelper.randomData("qual"); byte[] value = dataHelper.randomData("v1"); long timestamp = 2L; Put hbasePut = new Put(row); hbasePut.addColumn(family, qualifier, timestamp, value); MutateRowRequest.Builder rowMutationBuilder = adapter.adapt(hbasePut); Assert.assertArrayEquals(row, rowMutationBuilder.getRowKey().toByteArray()); Assert.assertEquals(1, rowMutationBuilder.getMutationsCount()); Mutation mutation = rowMutationBuilder.getMutations(0); Assert.assertEquals(MutationCase.SET_CELL, mutation.getMutationCase()); SetCell setCell = mutation.getSetCell(); Assert.assertArrayEquals(family, setCell.getFamilyNameBytes().toByteArray()); Assert.assertArrayEquals(qualifier, setCell.getColumnQualifier().toByteArray()); Assert.assertEquals(TimeUnit.MILLISECONDS.toMicros(timestamp), setCell.getTimestampMicros()); Assert.assertArrayEquals(value, setCell.getValue().toByteArray()); }
@Test public void testRetry() { byte[] row = dataHelper.randomData("rk-"); byte[] family1 = dataHelper.randomData("f1"); byte[] qualifier1 = dataHelper.randomData("qual1"); byte[] value1 = dataHelper.randomData("v1"); Put hbasePut = new Put(row, System.currentTimeMillis()); hbasePut.addColumn(family1, qualifier1, value1); MutateRowRequest.Builder rowMutationBuilder = adapter.adapt(hbasePut); MutateRowRequest request = rowMutationBuilder.build(); // Is the Put retryable? Assert.assertTrue(BigtableDataGrpcClient.IS_RETRYABLE_MUTATION.apply(request)); }
@Test public void testImplicitTimestampsAreUnset() { byte[] row = dataHelper.randomData("rk-"); byte[] family1 = dataHelper.randomData("f1"); byte[] qualifier1 = dataHelper.randomData("qual1"); byte[] value1 = dataHelper.randomData("v1"); Put hbasePut = new Put(row); hbasePut.addColumn(family1, qualifier1, value1); MutateRowRequest.Builder rowMutationBuilder = adapter.adapt(hbasePut); Assert.assertArrayEquals(row, rowMutationBuilder.getRowKey().toByteArray()); Assert.assertEquals(1, rowMutationBuilder.getMutationsCount()); Mutation mutation = rowMutationBuilder.getMutations(0); Assert.assertEquals(MutationCase.SET_CELL, mutation.getMutationCase()); SetCell setCell = mutation.getSetCell(); Assert.assertArrayEquals(family1, setCell.getFamilyNameBytes().toByteArray()); Assert.assertArrayEquals(qualifier1, setCell.getColumnQualifier().toByteArray()); Assert.assertEquals(-1L, setCell.getTimestampMicros()); Assert.assertArrayEquals(value1, setCell.getValue().toByteArray()); }
@Test(expected = IllegalArgumentException.class) public void testEmptyPut() { byte[] row = dataHelper.randomData("rk-"); Put emptyPut = new Put(row); adapter.adapt(emptyPut); }