@Test public void canGetAllTableNames() { assertThat(getTestKvs().getAllTableNames()).contains(TEST_TABLE); }
@Test public void canCreateTables() { TableReference tableToCreate = TableReference.createWithEmptyNamespace("new_table2"); getTestKvs().createTables(ImmutableMap.of(tableToCreate, AtlasDbConstants.GENERIC_TABLE_METADATA)); assertThat(getTestKvs().getAllTableNames()).contains(tableToCreate); assertKvsReturnsGenericMetadata(tableToCreate); assertCassandraSchemaChanged(); }
@Test public void shouldCreateTablesConsistentlyWithMultipleCassandraNodes() throws Exception { TableReference table1 = TableReference.createFromFullyQualifiedName("ns.table1"); CassandraKeyValueServiceConfig config = ThreeNodeCassandraCluster.KVS_CONFIG; try { CyclicBarrier barrier = new CyclicBarrier(THREAD_COUNT); for (int i = 0; i < THREAD_COUNT; i++) { async(() -> { CassandraKeyValueService keyValueService = CassandraKeyValueServiceImpl.createForTesting(config, Optional.empty()); barrier.await(); keyValueService.createTable(table1, AtlasDbConstants.GENERIC_TABLE_METADATA); return null; }); } } finally { executorService.shutdown(); assertTrue(executorService.awaitTermination(4, TimeUnit.MINUTES)); } CassandraKeyValueService kvs = CassandraKeyValueServiceImpl.createForTesting(config, Optional.empty()); assertThat(kvs.getAllTableNames(), hasItem(table1)); assertThat(new File(CONTAINERS.getLogDirectory()), containsFiles(everyItem(doesNotContainTheColumnFamilyIdMismatchError()))); }
@Test public void canCreateTable() { TableReference tableToCreate = TableReference.createWithEmptyNamespace("new_table"); getTestKvs().createTable(tableToCreate, AtlasDbConstants.GENERIC_TABLE_METADATA); assertThat(getTestKvs().getAllTableNames()).contains(tableToCreate); assertKvsReturnsGenericMetadata(tableToCreate); assertCassandraSchemaChanged(); }