@@ -57,6 +57,16 @@ def test_ensure_folders_exists_when_no_folder_exists(self, mock_get_conn):
57
57
58
58
mock_get_conn .assert_has_calls (
59
59
[
60
+ mock .call ()
61
+ .files ()
62
+ .list (
63
+ q = (
64
+ "trashed=false and mimeType='application/vnd.google-apps.folder' "
65
+ "and name='AAA' and 'root' in parents"
66
+ ),
67
+ spaces = "drive" ,
68
+ fields = "files(id, name)" ,
69
+ ),
60
70
mock .call ()
61
71
.files ()
62
72
.create (
@@ -119,6 +129,19 @@ def test_ensure_folders_exists_when_some_folders_exists(self, mock_get_conn):
119
129
120
130
mock_get_conn .assert_has_calls (
121
131
[
132
+ * [
133
+ mock .call ()
134
+ .files ()
135
+ .list (
136
+ q = (
137
+ "trashed=false and mimeType='application/vnd.google-apps.folder' "
138
+ f"and name='{ d } ' and '{ key } ' in parents"
139
+ ),
140
+ spaces = "drive" ,
141
+ fields = "files(id, name)" ,
142
+ )
143
+ for d , key in [("AAA" , "root" ), ("BBB" , "ID_1" ), ("CCC" , "ID_2" )]
144
+ ],
122
145
mock .call ()
123
146
.files ()
124
147
.create (
@@ -156,6 +179,25 @@ def test_ensure_folders_exists_when_all_folders_exists(self, mock_get_conn):
156
179
157
180
result_value = self .gdrive_hook ._ensure_folders_exists ("AAA/BBB/CCC/DDD" )
158
181
182
+ mock_get_conn .assert_has_calls (
183
+ [
184
+ * [
185
+ mock .call ()
186
+ .files ()
187
+ .list (
188
+ q = (
189
+ "trashed=false and mimeType='application/vnd.google-apps.folder' "
190
+ f"and name='{ d } ' and '{ key } ' in parents"
191
+ ),
192
+ spaces = "drive" ,
193
+ fields = "files(id, name)" ,
194
+ )
195
+ for d , key in [("AAA" , "root" ), ("BBB" , "ID_1" ), ("CCC" , "ID_2" ), ("DDD" , "ID_3" )]
196
+ ],
197
+ ],
198
+ any_order = True ,
199
+ )
200
+
159
201
mock_get_conn .return_value .files .return_value .create .assert_not_called ()
160
202
assert "ID_4" == result_value
161
203
0 commit comments