@Test(expected = NullPointerException.class) public void testSerializeNullReadFunction() { RemoteTableDescriptor desc = new RemoteTableDescriptor("1"); Map<String, String> tableConfig = desc.toConfig(new MapConfig()); Assert.assertTrue(tableConfig.containsKey(RemoteTableDescriptor.READ_FN)); }
@Test public void testSerializeNullWriteFunction() { String tableId = "1"; RemoteTableDescriptor desc = new RemoteTableDescriptor(tableId) .withReadFunction(createMockTableReadFunction()); Map<String, String> tableConfig = desc.toConfig(new MapConfig()); assertExists(RemoteTableDescriptor.READ_FN, tableId, tableConfig); assertEquals(null, RemoteTableDescriptor.WRITE_FN, tableId, tableConfig); }
@Test(expected = IllegalArgumentException.class) public void testSpecifyBothRateAndRateLimiter() { RemoteTableDescriptor desc = new RemoteTableDescriptor("1"); desc.withReadFunction(createMockTableReadFunction()); desc.withReadRateLimit(100); desc.withRateLimiter(createMockRateLimiter(), null, null); desc.toConfig(new MapConfig()); }
private void doTestSerialize(RateLimiter rateLimiter, TableRateLimiter.CreditFunction readCredFn, TableRateLimiter.CreditFunction writeCredFn) { String tableId = "1"; RemoteTableDescriptor desc = new RemoteTableDescriptor(tableId) .withReadFunction(createMockTableReadFunction()) .withWriteFunction(createMockTableWriteFunction()); if (rateLimiter != null) { desc.withRateLimiter(rateLimiter, readCredFn, writeCredFn); } else { desc.withReadRateLimit(100); desc.withWriteRateLimit(200); } Map<String, String> tableConfig = desc.toConfig(new MapConfig()); assertExists(RemoteTableDescriptor.RATE_LIMITER, tableId, tableConfig); Assert.assertEquals(readCredFn != null, tableConfig.containsKey(JavaTableConfig.buildKey(tableId, RemoteTableDescriptor.READ_CREDIT_FN))); Assert.assertEquals(writeCredFn != null, tableConfig.containsKey(JavaTableConfig.buildKey(tableId, RemoteTableDescriptor.WRITE_CREDIT_FN))); }