@Test public void testRepeatedColumnMatching() throws Exception { try { testBuilder() .sqlQuery("select * from cp.\"store/json/schema_change_int_to_string.json\"") .optionSettingQueriesForTestQuery("alter system set \"store.json.all_text_mode\" = true") .ordered() .jsonBaselineFile("testframework/schema_change_int_to_string_non-matching.json") .optionSettingQueriesForBaseline("alter system set \"store.json.all_text_mode\" = true") .build().run(); } catch (Exception ex) { assertThat(ex.getMessage(), CoreMatchers.containsString("at position 1 column '`field_1`' mismatched values,")); assertThat(ex.getMessage(), CoreMatchers.containsString("expected (JsonStringArrayList):")); assertThat(ex.getMessage(), CoreMatchers.containsString("[\"5\",\"2\",\"3\",\"4\",\"1\",\"2\"]")); assertThat(ex.getMessage(), CoreMatchers.containsString("but received (JsonStringArrayList):")); assertThat(ex.getMessage(), CoreMatchers.containsString("[\"5\"]")); // this indicates successful completion of the test test("alter system set \"store.json.all_text_mode\" = false"); return; } throw new Exception("Test framework verification failed, expected failure on order check."); }
@Test public void testComplexJSON_all_text() throws Exception { testBuilder() .sqlQuery("select * from cp.\"store/json/schema_change_int_to_string.json\"") .optionSettingQueriesForTestQuery("alter system set \"store.json.all_text_mode\" = true") .ordered() .jsonBaselineFile("store/json/schema_change_int_to_string.json") .optionSettingQueriesForBaseline("alter system set \"store.json.all_text_mode\" = true") .build().run(); testBuilder() .sqlQuery("select * from cp.\"store/json/schema_change_int_to_string.json\"") .optionSettingQueriesForTestQuery("alter system set \"store.json.all_text_mode\" = true") .unOrdered() // Check other verification method with same files .jsonBaselineFile("store/json/schema_change_int_to_string.json") .optionSettingQueriesForBaseline("alter system set \"store.json.all_text_mode\" = true") .build().run(); test("alter system set \"store.json.all_text_mode\" = false"); }