@VisibleForTesting CfDef getCfForTable(TableReference tableRef, byte[] rawMetadata, int gcGraceSeconds) { return ColumnFamilyDefinitions .getCfDef(config.getKeyspaceOrThrow(), tableRef, gcGraceSeconds, rawMetadata); }
@Test public void nonDefaultFeaturesCorrectlyCompared() { CfDef cf1 = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, TABLE_METADATA_WITH_MANY_NON_DEFAULT_FEATURES); CfDef cf2 = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, TABLE_METADATA_WITH_MANY_NON_DEFAULT_FEATURES); assertTrue("identical CFs should equal each other", ColumnFamilyDefinitions.isMatchingCf(cf1, cf2)); }
@Test public void identicalCfsAreEqual() { CfDef cf1 = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, AtlasDbConstants.GENERIC_TABLE_METADATA); CfDef cf2 = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, AtlasDbConstants.GENERIC_TABLE_METADATA); assertTrue("identical CFs should equal each other", ColumnFamilyDefinitions.isMatchingCf(cf1, cf2)); } }
@Test public void cfDefWithDifferingGcGraceSecondsValuesShouldNotMatch() { CfDef clientSideTable = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), CassandraConstants.DEFAULT_GC_GRACE_SECONDS, AtlasDbConstants.GENERIC_TABLE_METADATA); CfDef clusterSideTable = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), FOUR_DAYS_IN_SECONDS, AtlasDbConstants.GENERIC_TABLE_METADATA); assertFalse("ColumnDefinitions with different gc_grace_seconds should not match", ColumnFamilyDefinitions.isMatchingCf(clientSideTable, clusterSideTable)); }
@Test public void compactionStrategiesShouldMatchWithOrWithoutPackageName() { CfDef standard = ColumnFamilyDefinitions.getCfDef( "test_keyspace", TableReference.fromString("test_table"), CassandraConstants.DEFAULT_GC_GRACE_SECONDS, new byte[0]); CfDef fullyQualified = standard.setCompaction_strategy("com.palantir.AwesomeCompactionStrategy"); CfDef onlyClassName = standard.deepCopy().setCompaction_strategy("AwesomeCompactionStrategy"); assertTrue( String.format("Compaction strategies %s and %s should match", fullyQualified.compaction_strategy, onlyClassName.compaction_strategy), ColumnFamilyDefinitions.isMatchingCf(fullyQualified, onlyClassName)); }
@VisibleForTesting CfDef getCfForTable(TableReference tableRef, byte[] rawMetadata, int gcGraceSeconds) { return ColumnFamilyDefinitions .getCfDef(config.getKeyspaceOrThrow(), tableRef, gcGraceSeconds, rawMetadata); }