@Test public void testCompletedEventWarnings() throws InterruptedException { TestingWarningCollectorConfig warningCollectorConfig = new TestingWarningCollectorConfig().setPreloadedWarnings(TEST_WARNINGS); TestingWarningCollector testingWarningCollector = new TestingWarningCollector(new WarningCollectorConfig(), warningCollectorConfig); assertWarnings( "select 1", ImmutableMap.of(), testingWarningCollector.getWarnings().stream() .map(PrestoWarning::getWarningCode) .collect(toImmutableList())); }
@Test public void testAddWarnings() { TestingWarningCollector collector = new TestingWarningCollector(new WarningCollectorConfig(), new TestingWarningCollectorConfig().setAddWarnings(true)); ImmutableList.Builder<PrestoWarning> expectedWarningsBuilder = ImmutableList.builder(); expectedWarningsBuilder.add(createTestWarning(1)); assertEquals(collector.getWarnings(), expectedWarningsBuilder.build()); } }
public TestingWarningCollector(WarningCollectorConfig config, TestingWarningCollectorConfig testConfig) { this.config = requireNonNull(config, "config is null"); requireNonNull(testConfig, "testConfig is null"); addWarnings = testConfig.getAddWarnings(); // Start warning codes at 1 for (int warningCode = 1; warningCode <= testConfig.getPreloadedWarnings(); warningCode++) { add(createTestWarning(warningCode)); } warningCode.set(testConfig.getPreloadedWarnings()); }
@Test public void testExecuteQueryWarnings() throws SQLException { try (ResultSet rs = statement.executeQuery("SELECT a FROM (VALUES 1, 2, 3) t(a)")) { assertNull(statement.getConnection().getWarnings()); assertNull(statement.getWarnings()); assertNull(rs.getWarnings()); Set<WarningEntry> currentWarnings = new HashSet<>(); while (rs.next()) { assertWarnings(rs.getWarnings(), currentWarnings); } TestingWarningCollectorConfig warningCollectorConfig = new TestingWarningCollectorConfig().setPreloadedWarnings(PRELOADED_WARNINGS).setAddWarnings(true); TestingWarningCollector warningCollector = new TestingWarningCollector(new WarningCollectorConfig(), warningCollectorConfig); List<PrestoWarning> expectedWarnings = warningCollector.getWarnings(); for (PrestoWarning prestoWarning : expectedWarnings) { assertTrue(currentWarnings.contains(new WarningEntry(new PrestoSqlWarning(prestoWarning)))); } } }
@Test public void testExecuteQueryWarnings() throws SQLException { try (ResultSet rs = statement.executeQuery("SELECT a FROM (VALUES 1, 2, 3) t(a)")) { assertNull(statement.getConnection().getWarnings()); assertNull(statement.getWarnings()); assertNull(rs.getWarnings()); Set<WarningEntry> currentWarnings = new HashSet<>(); while (rs.next()) { assertWarnings(rs.getWarnings(), currentWarnings); } TestingWarningCollectorConfig warningCollectorConfig = new TestingWarningCollectorConfig().setPreloadedWarnings(PRELOADED_WARNINGS).setAddWarnings(true); TestingWarningCollector warningCollector = new TestingWarningCollector(new WarningCollectorConfig(), warningCollectorConfig); List<PrestoWarning> expectedWarnings = warningCollector.getWarnings(); for (PrestoWarning prestoWarning : expectedWarnings) { assertTrue(currentWarnings.contains(new WarningEntry(new PrestoSqlWarning(prestoWarning)))); } } }
@Test public void testStatementWarnings() throws SQLException { assertFalse(statement.execute("CREATE SCHEMA blackhole.test_schema")); SQLWarning warning = statement.getWarnings(); assertNotNull(warning); TestingWarningCollectorConfig warningCollectorConfig = new TestingWarningCollectorConfig().setPreloadedWarnings(PRELOADED_WARNINGS); TestingWarningCollector warningCollector = new TestingWarningCollector(new WarningCollectorConfig(), warningCollectorConfig); List<PrestoWarning> expectedWarnings = warningCollector.getWarnings(); assertStartsWithExpectedWarnings(warning, fromPrestoWarnings(expectedWarnings)); statement.clearWarnings(); assertNull(statement.getWarnings()); }
@Test public void testCompletedEventWarnings() throws InterruptedException { TestingWarningCollectorConfig warningCollectorConfig = new TestingWarningCollectorConfig().setPreloadedWarnings(TEST_WARNINGS); TestingWarningCollector testingWarningCollector = new TestingWarningCollector(new WarningCollectorConfig(), warningCollectorConfig); assertWarnings( "select 1", ImmutableMap.of(), testingWarningCollector.getWarnings().stream() .map(PrestoWarning::getWarningCode) .collect(toImmutableList())); }
@Test public void testStatementWarnings() throws SQLException { assertFalse(statement.execute("CREATE SCHEMA blackhole.test_schema")); SQLWarning warning = statement.getWarnings(); assertNotNull(warning); TestingWarningCollectorConfig warningCollectorConfig = new TestingWarningCollectorConfig().setPreloadedWarnings(PRELOADED_WARNINGS); TestingWarningCollector warningCollector = new TestingWarningCollector(new WarningCollectorConfig(), warningCollectorConfig); List<PrestoWarning> expectedWarnings = warningCollector.getWarnings(); assertStartsWithExpectedWarnings(warning, fromPrestoWarnings(expectedWarnings)); statement.clearWarnings(); assertNull(statement.getWarnings()); }