@@ -65,83 +65,70 @@ def table_item(dataset_id, table_id, type_="TABLE"):
6565
6666
6767@pytest .mark .parametrize (
68- ["datasets_list " , "tables_lists " , "expected" ],
68+ ["dataset " , "tables_list " , "expected" ],
6969 [
70- ([] , [], []),
71- ([ dataset_item ( "dataset_1" )] , [[] ], []),
70+ (None , [], []),
71+ ("dataset" , [], []),
7272 (
73- [ dataset_item ( "dataset_1" ), dataset_item ( "dataset_2" )] ,
73+ "dataset" ,
7474 [
75- [table_item ("dataset_1" , "d1t1" ), table_item ("dataset_1" , "d1t2" )],
76- [
77- table_item ("dataset_2" , "d2t1" ),
78- table_item ("dataset_2" , "d2view" , type_ = "VIEW" ),
79- table_item ("dataset_2" , "d2ext" , type_ = "EXTERNAL" ),
80- table_item ("dataset_2" , "d2mv" , type_ = "MATERIALIZED_VIEW" ),
81- ],
75+ table_item ("dataset" , "t1" ),
76+ table_item ("dataset" , "view" , type_ = "VIEW" ),
77+ table_item ("dataset" , "ext" , type_ = "EXTERNAL" ),
78+ table_item ("dataset" , "mv" , type_ = "MATERIALIZED_VIEW" ),
8279 ],
83- ["dataset_1.d1t1 " , "dataset_1.d1t2" , "dataset_2.d2t1" , "dataset_2.d2ext " ],
80+ ["t1 " , "ext " ],
8481 ),
8582 (
86- [dataset_item ("dataset_1" ), dataset_item ("dataset_deleted" )],
87- [
88- [table_item ("dataset_1" , "d1t1" )],
89- google .api_core .exceptions .NotFound ("dataset_deleted" ),
90- ],
91- ["dataset_1.d1t1" ],
83+ "dataset" ,
84+ google .api_core .exceptions .NotFound ("dataset_deleted" ),
85+ [],
9286 ),
9387 ],
9488)
9589def test_get_table_names (
96- engine_under_test , mock_bigquery_client , datasets_list , tables_lists , expected
90+ engine_under_test , mock_bigquery_client , dataset , tables_list , expected
9791):
98- mock_bigquery_client .list_datasets .return_value = datasets_list
99- mock_bigquery_client .list_tables .side_effect = tables_lists
100- table_names = sqlalchemy .inspect (engine_under_test ).get_table_names ()
101- mock_bigquery_client .list_datasets .assert_called_once ()
102- assert mock_bigquery_client .list_tables .call_count == len (datasets_list )
92+ mock_bigquery_client .list_tables .side_effect = [tables_list ]
93+ table_names = sqlalchemy .inspect (engine_under_test ).get_table_names (schema = dataset )
94+ if dataset :
95+ mock_bigquery_client .list_tables .assert_called_once ()
96+ else :
97+ mock_bigquery_client .list_tables .assert_not_called ()
10398 assert list (sorted (table_names )) == list (sorted (expected ))
10499
105100
106101@pytest .mark .parametrize (
107- ["datasets_list " , "tables_lists " , "expected" ],
102+ ["dataset " , "tables_list " , "expected" ],
108103 [
109- ([] , [], []),
110- ([ dataset_item ( "dataset_1" )] , [[] ], []),
104+ (None , [], []),
105+ ("dataset" , [], []),
111106 (
112- [ dataset_item ( "dataset_1" ), dataset_item ( "dataset_2" )] ,
107+ "dataset" ,
113108 [
114- [
115- table_item ("dataset_1" , "d1t1" ),
116- table_item ("dataset_1" , "d1view" , type_ = "VIEW" ),
117- ],
118- [
119- table_item ("dataset_2" , "d2t1" ),
120- table_item ("dataset_2" , "d2view" , type_ = "VIEW" ),
121- table_item ("dataset_2" , "d2ext" , type_ = "EXTERNAL" ),
122- table_item ("dataset_2" , "d2mv" , type_ = "MATERIALIZED_VIEW" ),
123- ],
109+ table_item ("dataset" , "t1" ),
110+ table_item ("dataset" , "view" , type_ = "VIEW" ),
111+ table_item ("dataset" , "ext" , type_ = "EXTERNAL" ),
112+ table_item ("dataset" , "mv" , type_ = "MATERIALIZED_VIEW" ),
124113 ],
125- ["dataset_1.d1view " , "dataset_2.d2view" , "dataset_2.d2mv " ],
114+ ["view " , "mv " ],
126115 ),
127116 (
128- [dataset_item ("dataset_1" ), dataset_item ("dataset_deleted" )],
129- [
130- [table_item ("dataset_1" , "d1view" , type_ = "VIEW" )],
131- google .api_core .exceptions .NotFound ("dataset_deleted" ),
132- ],
133- ["dataset_1.d1view" ],
117+ "dataset_deleted" ,
118+ google .api_core .exceptions .NotFound ("dataset_deleted" ),
119+ [],
134120 ),
135121 ],
136122)
137123def test_get_view_names (
138- inspector_under_test , mock_bigquery_client , datasets_list , tables_lists , expected
124+ inspector_under_test , mock_bigquery_client , dataset , tables_list , expected
139125):
140- mock_bigquery_client .list_datasets .return_value = datasets_list
141- mock_bigquery_client .list_tables .side_effect = tables_lists
142- view_names = inspector_under_test .get_view_names ()
143- mock_bigquery_client .list_datasets .assert_called_once ()
144- assert mock_bigquery_client .list_tables .call_count == len (datasets_list )
126+ mock_bigquery_client .list_tables .side_effect = [tables_list ]
127+ view_names = inspector_under_test .get_view_names (schema = dataset )
128+ if dataset :
129+ mock_bigquery_client .list_tables .assert_called_once ()
130+ else :
131+ mock_bigquery_client .list_tables .assert_not_called ()
145132 assert list (sorted (view_names )) == list (sorted (expected ))
146133
147134
0 commit comments