def test_file_builder_wrong_type_raises(self) -> None: with self.assertRaises(ValueError): _ = BigQueryViewCollector.collect_view_builders_in_dir( FakeBigQueryViewBuilder, VIEWS_DIR_RELATIVE_PATH, view_file_prefix_filter="bad_view_builder_wrong_type", )
def test_collect_views_too_narrow_view_type(self) -> None: with self.assertRaises(ValueError): # One of the views is only a BigQueryView, not a DirectIngestPreProcessedIngestView _ = BigQueryViewCollector.collect_view_builders_in_dir( DirectIngestPreProcessedIngestViewBuilder, VIEWS_DIR_RELATIVE_PATH, view_file_prefix_filter="good_", )
def test_collect_views_narrow_view_type_ok(self) -> None: builders = BigQueryViewCollector.collect_view_builders_in_dir( FakeBigQueryViewBuilder, VIEWS_DIR_RELATIVE_PATH, view_file_prefix_filter="good_view_2", ) self.assertCountEqual([GOOD_VIEW_2], [b.build() for b in builders])
def test_collect_view_builders(self) -> None: builders = BigQueryViewCollector.collect_view_builders_in_dir( FakeBigQueryViewBuilder, VIEWS_DIR_RELATIVE_PATH, view_file_prefix_filter="good_", ) views: List[BigQueryView] = [builder.build() for builder in builders] self.assertCountEqual([GOOD_VIEW_1, GOOD_VIEW_2], views)