protected void assertValidDataDirectory(File dir) { assertThat(dir.exists()).isTrue(); assertThat(dir.isDirectory()).isTrue(); assertThat(dir.canWrite()).isTrue(); assertThat(dir.canRead()).isTrue(); assertThat(Testing.Files.inTestDataDir(dir)).isTrue(); }
@Test public void shouldMatchCommaSeparatedLiteralIncludes() { Predicate<Integer> p = Predicates.includes("1,2,3,4,5", (i)->i.toString()); assertThat(p.test(1)).isTrue(); assertThat(p.test(2)).isTrue(); assertThat(p.test(3)).isTrue(); assertThat(p.test(4)).isTrue(); assertThat(p.test(5)).isTrue(); assertThat(p.test(0)).isFalse(); assertThat(p.test(6)).isFalse(); assertThat(p.test(-1)).isFalse(); }
@Test public void isNumericShouldReturnTrueForNumericString() { assertThat(Strings.isNumeric("123")).isTrue(); }
protected void verifyFromInitialSync(SourceRecord record, AtomicBoolean foundLast) { if (record.sourceOffset().containsKey(SourceInfo.INITIAL_SYNC)) { assertThat(record.sourceOffset().containsKey(SourceInfo.INITIAL_SYNC)).isTrue(); Struct value = (Struct) record.value(); assertThat(value.getStruct(Envelope.FieldName.SOURCE).getBoolean(SourceInfo.INITIAL_SYNC)).isTrue(); } else { // Only the last record in the initial sync should be marked as not being part of the initial sync ... assertThat(foundLast.getAndSet(true)).isFalse(); } }
@Test public void shouldMatchCommaSeparatedRegexIncludes() { Predicate<String> p = Predicates.includes("1.*5,30"); assertThat(p.test("30")).isTrue(); assertThat(p.test("1005")).isTrue(); assertThat(p.test("105")).isTrue(); assertThat(p.test("15")).isTrue(); assertThat(p.test("215")).isFalse(); assertThat(p.test("150")).isFalse(); assertThat(p.test("015")).isFalse(); assertThat(p.test("5")).isFalse(); }
@Test public void shouldDetermineValidNonFirstCharacters() { String validChars = ".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; for (int i = 0; i != validChars.length(); ++i) { assertThat(SchemaNameAdjuster.isValidFullnameNonFirstCharacter(validChars.charAt(i))).isTrue(); } }
/** * Assert that there was no exception in engine that would cause its termination. */ protected void assertEngineIsRunning() { assertThat(engine.isRunning()).as("Engine should not fail due to an exception").isTrue(); }
@Test public void shouldMatchCommaSeparatedLiteralExcludes() { Predicate<Integer> p = Predicates.excludes("1,2,3,4,5", (i)->i.toString()); assertThat(p.test(1)).isFalse(); assertThat(p.test(2)).isFalse(); assertThat(p.test(3)).isFalse(); assertThat(p.test(4)).isFalse(); assertThat(p.test(5)).isFalse(); assertThat(p.test(0)).isTrue(); assertThat(p.test(6)).isTrue(); assertThat(p.test(-1)).isTrue(); }
@Test public void shouldDetermineValidFirstCharacters() { String validChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; for (int i = 0; i != validChars.length(); ++i) { assertThat(SchemaNameAdjuster.isValidFullnameFirstCharacter(validChars.charAt(i))).isTrue(); } }
protected void assertCollectionIncluded(String fullyQualifiedCollectionName) { CollectionId id = CollectionId.parse("rs1." + fullyQualifiedCollectionName); assertThat(id).isNotNull(); assertThat(filters.collectionFilter().test(id)).isTrue(); }
@Test public void shouldRemoveDirectory() throws Exception { Path path = Paths.get(Testing.Files.dataDir(), "test-dir"); assertThat(path.toFile().mkdirs()).isTrue(); Path file = path.resolve("file.txt"); assertThat(file.toFile().createNewFile()).isTrue(); Testing.Files.delete(path); assertThat(java.nio.file.Files.exists(path)).isFalse(); } }
@Test public void shouldAllowLettersAsFirstCharacterInName() { for (char c = 'a'; c <= 'z'; ++c) { assertThat(XmlCharacters.isValidNameStart(c)).isTrue(); } for (char c = 'A'; c <= 'Z'; ++c) { assertThat(XmlCharacters.isValidNameStart(c)).isTrue(); } }
@Test public void shouldReturnTrueFromCanConsumeWithCaseSensitiveTokenStreamIfMatchStringDoesMatchCaseExactly() { makeCaseSensitive(); assertThat(tokens.canConsume("Select")).isTrue(); assertThat(tokens.canConsume("all")).isTrue(); assertThat(tokens.canConsume("columns")).isTrue(); assertThat(tokens.canConsume("from")).isTrue(); assertThat(tokens.canConsume("this")).isTrue(); assertThat(tokens.canConsume("table")).isTrue(); assertThat(tokens.hasNext()).isFalse(); }
@Test public void isNullOrEmptyReturnsTrueForNull() { assertThat(Strings.isNullOrEmpty(null)).isTrue(); }
@Test public void shouldReturnTrueFromCanConsumeWithCaseSensitiveTokenStreamIfSuppliedTypeDoesMatch() { makeCaseSensitive(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.hasNext()).isFalse(); }
@Test public void isNullOrEmptyReturnsTrueForEmptyString() { assertThat(Strings.isNullOrEmpty("")).isTrue(); }
@Test public void shouldReturnTrueFromCanConsumeWithCaseInsensitiveTokenStreamIfMatchStringDoesNotMatchCaseExactly() { makeCaseInsensitive(); assertThat(tokens.canConsume("SELECT")).isTrue(); assertThat(tokens.canConsume("ALL")).isTrue(); assertThat(tokens.canConsume("COLUMNS")).isTrue(); assertThat(tokens.canConsume("FROM")).isTrue(); assertThat(tokens.canConsume("THIS")).isTrue(); assertThat(tokens.canConsume("TABLE")).isTrue(); assertThat(tokens.hasNext()).isFalse(); }
@Test public void shouldReturnTrueFromMatchesWithCaseInsensitiveTokenStreamIfMatchStringIsUppercaseAndMatches() { makeCaseInsensitive(); assertThat(tokens.matches("SELECT")).isTrue(); assertThat(tokens.canConsume("SELECT")).isTrue(); assertThat(tokens.matches("ALL")).isTrue(); assertThat(tokens.canConsume("ALL")).isTrue(); }
@Test public void shouldReturnTrueFromCanConsumeWithCaseInsensitiveTokenStreamIfSuppliedTypeDoesMatch() { makeCaseInsensitive(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.canConsume(WORD)).isTrue(); assertThat(tokens.hasNext()).isFalse(); }
@Test public void shouldIncludeDatabaseCoveredByMultipleWildcardsInWhitelist() { filters = build.includeDatabases("db.*,mongo.*").createFilters(); assertThat(filters.databaseFilter().test("db1")).isTrue(); assertThat(filters.databaseFilter().test("mongo2")).isTrue(); }