def test_filter_clause_no_region_codes(self) -> None: """Given no region codes to include or exclude, it returns None.""" query_builder = CloudSqlSchemaTableRegionFilteredQueryBuilder(StateBase, self.fake_state_table, self.mock_columns_to_include, region_codes_to_include=None, region_codes_to_exclude=None) self.assertEqual(None, query_builder.filter_clause())
def test_filter_clause_region_codes_to_include_empty(self) -> None: """Given and empty list for region_codes_to_include, it returns a filter to exclude all rows.""" query_builder = CloudSqlSchemaTableRegionFilteredQueryBuilder(StateBase, self.fake_state_table, self.mock_columns_to_include, region_codes_to_include=[], region_codes_to_exclude=None) expected_filter = "WHERE FALSE" self.assertEqual(expected_filter, query_builder.filter_clause())
def test_filter_clause_region_codes_to_exclude(self) -> None: """Given a StateBase schema and excluded region codes, it returns a filter clause to exclude the region codes. """ query_builder = CloudSqlSchemaTableRegionFilteredQueryBuilder(StateBase, self.fake_state_table, self.mock_columns_to_include, region_codes_to_exclude=['US_ND', 'US_ID']) expected_filter = "WHERE state_code NOT IN ('US_ND','US_ID')" self.assertEqual(expected_filter, query_builder.filter_clause())
def test_filter_clause_region_codes_to_exclude_empty(self) -> None: """Given an empty list for excluded region codes, it returns None.""" query_builder = CloudSqlSchemaTableRegionFilteredQueryBuilder( SchemaType.STATE, self.fake_state_table, self.mock_columns_to_include, region_codes_to_exclude=[], ) self.assertEqual(None, query_builder.filter_clause())
def test_filter_clause_region_codes_to_include(self) -> None: """Given a SchemaType.STATE schema and included region codes, it returns a filter clause to include the region codes. """ query_builder = CloudSqlSchemaTableRegionFilteredQueryBuilder( SchemaType.STATE, self.fake_state_table, self.mock_columns_to_include, region_codes_to_include=["US_ND", "US_ID"], ) expected_filter = "WHERE state_code IN ('US_ND','US_ID')" self.assertEqual(expected_filter, query_builder.filter_clause())