@@ -65,83 +65,70 @@ def table_item(dataset_id, table_id, type_="TABLE"):
65
65
66
66
67
67
@pytest .mark .parametrize (
68
- ["datasets_list " , "tables_lists " , "expected" ],
68
+ ["dataset " , "tables_list " , "expected" ],
69
69
[
70
- ([] , [], []),
71
- ([ dataset_item ( "dataset_1" )] , [[] ], []),
70
+ (None , [], []),
71
+ ("dataset" , [], []),
72
72
(
73
- [ dataset_item ( "dataset_1" ), dataset_item ( "dataset_2" )] ,
73
+ "dataset" ,
74
74
[
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" ),
82
79
],
83
- ["dataset_1.d1t1 " , "dataset_1.d1t2" , "dataset_2.d2t1" , "dataset_2.d2ext " ],
80
+ ["t1 " , "ext " ],
84
81
),
85
82
(
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
+ [],
92
86
),
93
87
],
94
88
)
95
89
def 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
97
91
):
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 ()
103
98
assert list (sorted (table_names )) == list (sorted (expected ))
104
99
105
100
106
101
@pytest .mark .parametrize (
107
- ["datasets_list " , "tables_lists " , "expected" ],
102
+ ["dataset " , "tables_list " , "expected" ],
108
103
[
109
- ([] , [], []),
110
- ([ dataset_item ( "dataset_1" )] , [[] ], []),
104
+ (None , [], []),
105
+ ("dataset" , [], []),
111
106
(
112
- [ dataset_item ( "dataset_1" ), dataset_item ( "dataset_2" )] ,
107
+ "dataset" ,
113
108
[
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" ),
124
113
],
125
- ["dataset_1.d1view " , "dataset_2.d2view" , "dataset_2.d2mv " ],
114
+ ["view " , "mv " ],
126
115
),
127
116
(
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
+ [],
134
120
),
135
121
],
136
122
)
137
123
def 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
139
125
):
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 ()
145
132
assert list (sorted (view_names )) == list (sorted (expected ))
146
133
147
134
0 commit comments