@@ -32,13 +32,13 @@ async def test_get_tree_cover_loss_by_drivers_not_found(
32
32
params = {"x-api-key" : api_key , "geostore_id" : geostore , "canopy_cover" : 30 }
33
33
34
34
response = await async_client .get (
35
- "/v0/land/tree-cover-loss-by-driver " , headers = headers , params = params
35
+ "/v0/land/tree_cover_loss_by_driver " , headers = headers , params = params
36
36
)
37
37
38
38
assert response .status_code == 404
39
39
40
40
resource_id = _get_resource_id (
41
- "tree-cover-loss-by-driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
41
+ "tree_cover_loss_by_driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
42
42
)
43
43
mock_get_resources .assert_awaited_with (resource_id )
44
44
@@ -58,16 +58,16 @@ async def test_get_tree_cover_loss_by_drivers_found(
58
58
headers = {"origin" : origin }
59
59
params = {"x-api-key" : api_key , "geostore_id" : geostore , "canopy_cover" : 30 }
60
60
resource_id = _get_resource_id (
61
- "tree-cover-loss-by-driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
61
+ "tree_cover_loss_by_driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
62
62
)
63
63
64
64
response = await async_client .get (
65
- "/v0/land/tree-cover-loss-by-driver " , headers = headers , params = params
65
+ "/v0/land/tree_cover_loss_by_driver " , headers = headers , params = params
66
66
)
67
67
68
68
assert response .status_code == 200
69
69
assert (
70
- f"/v0/land/tree-cover-loss-by-driver /{ resource_id } "
70
+ f"/v0/land/tree_cover_loss_by_driver /{ resource_id } "
71
71
in response .json ()["data" ]["link" ]
72
72
)
73
73
mock_get_resources .assert_awaited_with (resource_id )
@@ -93,7 +93,7 @@ async def test_get_tree_cover_loss_by_drivers_with_overrides(
93
93
headers = {"origin" : origin }
94
94
params = {"x-api-key" : api_key , "geostore_id" : geostore , "canopy_cover" : 30 }
95
95
resource_id = _get_resource_id (
96
- "tree-cover-loss-by-driver " ,
96
+ "tree_cover_loss_by_driver " ,
97
97
geostore ,
98
98
30 ,
99
99
{
@@ -104,14 +104,14 @@ async def test_get_tree_cover_loss_by_drivers_with_overrides(
104
104
)
105
105
106
106
response = await async_client .get (
107
- "/v0/land/tree-cover-loss-by-driver?x-api-key={api_key}& geostore_id={geostore_id }&canopy_cover=30&dataset=umd_tree_cover_loss&version=v1.8&dataset=umd_tree_cover_density_2000&version=v1.6" ,
107
+ f "/v0/land/tree_cover_loss_by_driver? geostore_id={ geostore } &canopy_cover=30&dataset=umd_tree_cover_loss&version=v1.8&dataset=umd_tree_cover_density_2000&version=v1.6" ,
108
108
headers = headers ,
109
109
params = params ,
110
110
)
111
111
112
112
assert response .status_code == 200
113
113
mock_get_resource_id .assert_called_with (
114
- "tree-cover-loss-by-driver " ,
114
+ "tree_cover_loss_by_driver " ,
115
115
uuid .UUID (geostore ),
116
116
30 ,
117
117
{
@@ -121,7 +121,7 @@ async def test_get_tree_cover_loss_by_drivers_with_overrides(
121
121
},
122
122
)
123
123
assert (
124
- f"/v0/land/tree-cover-loss-by-driver /{ resource_id } "
124
+ f"/v0/land/tree_cover_loss_by_driver /{ resource_id } "
125
125
in response .json ()["data" ]["link" ]
126
126
)
127
127
mock_get_resources .assert_awaited_with (resource_id )
@@ -137,7 +137,11 @@ async def test_post_tree_cover_loss_by_drivers(
137
137
origin = payload ["domains" ][0 ]
138
138
139
139
headers = {"origin" : origin , "x-api-key" : api_key }
140
- payload = {"geostore_id" : geostore , "canopy_cover" : 30 }
140
+ payload = {
141
+ "geostore_id" : geostore ,
142
+ "canopy_cover" : 30 ,
143
+ "dataset_version" : {"umd_tree_cover_loss" : "v1.8" },
144
+ }
141
145
with (
142
146
patch (
143
147
"app.routes.datamart.land._save_pending_resource"
@@ -147,13 +151,14 @@ async def test_post_tree_cover_loss_by_drivers(
147
151
) as mock_compute_result ,
148
152
):
149
153
response = await async_client .post (
150
- "/v0/land/tree-cover-loss-by-driver " , headers = headers , json = payload
154
+ "/v0/land/tree_cover_loss_by_driver " , headers = headers , json = payload
151
155
)
156
+
152
157
assert response .status_code == 202
153
158
154
159
body = response .json ()
155
160
assert body ["status" ] == "success"
156
- assert "/v0/land/tree-cover-loss-by-driver /" in body ["data" ]["link" ]
161
+ assert "/v0/land/tree_cover_loss_by_driver /" in body ["data" ]["link" ]
157
162
158
163
resource_id = body ["data" ]["link" ].split ("/" )[- 1 ]
159
164
try :
@@ -166,7 +171,10 @@ async def test_post_tree_cover_loss_by_drivers(
166
171
resource_id , "/v0/land/tree-cover-loss-by-driver" , api_key
167
172
)
168
173
mock_compute_result .assert_awaited_with (
169
- resource_id , uuid .UUID (geostore ), 30 , DEFAULT_LAND_DATASET_VERSIONS
174
+ resource_id ,
175
+ uuid .UUID (geostore ),
176
+ 30 ,
177
+ DEFAULT_LAND_DATASET_VERSIONS | {"umd_tree_cover_loss" : "v1.8" },
170
178
)
171
179
172
180
@@ -185,10 +193,10 @@ async def test_get_tree_cover_loss_by_drivers_after_create_with_retry(
185
193
"app.routes.datamart.land._get_resource" , return_value = {"status" : "pending" }
186
194
):
187
195
resource_id = _get_resource_id (
188
- "tree-cover-loss-by-driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
196
+ "tree_cover_loss_by_driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
189
197
)
190
198
response = await async_client .get (
191
- f"/v0/land/tree-cover-loss-by-driver /{ resource_id } " , headers = headers
199
+ f"/v0/land/tree_cover_loss_by_driver /{ resource_id } " , headers = headers
192
200
)
193
201
194
202
assert response .status_code == 200
@@ -210,10 +218,10 @@ async def test_get_tree_cover_loss_by_drivers_after_create_saved(
210
218
211
219
with patch ("app.routes.datamart.land._get_resource" , return_value = TreeCoverLossByDriver (** MOCK_RESOURCE )):
212
220
resource_id = _get_resource_id (
213
- "tree-cover-loss-by-driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
221
+ "tree_cover_loss_by_driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
214
222
)
215
223
response = await async_client .get (
216
- f"/v0/land/tree-cover-loss-by-driver /{ resource_id } " , headers = headers
224
+ f"/v0/land/tree_cover_loss_by_driver /{ resource_id } " , headers = headers
217
225
)
218
226
219
227
assert response .status_code == 200
@@ -232,20 +240,23 @@ async def test_compute_tree_cover_loss_by_driver(geostore):
232
240
patch ("app.crud.datamart.update_result" ) as mock_write_result ,
233
241
):
234
242
resource_id = _get_resource_id (
235
- "tree-cover-loss-by-driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
243
+ "tree_cover_loss_by_driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
236
244
)
237
245
geostore_common = await get_geostore (geostore , GeostoreOrigin .rw )
238
246
239
247
await compute_tree_cover_loss_by_driver (
240
- resource_id , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
248
+ resource_id ,
249
+ geostore ,
250
+ 30 ,
251
+ DEFAULT_LAND_DATASET_VERSIONS | {"umd_tree_cover_loss" : "v1.8" },
241
252
)
242
253
243
254
mock_query_dataset_json .assert_awaited_once_with (
244
255
"umd_tree_cover_loss" ,
245
- "v1.11 " ,
256
+ "v1.8 " ,
246
257
"SELECT SUM(area__ha) FROM data WHERE umd_tree_cover_density_2000__threshold >= 30 GROUP BY tsc_tree_cover_loss_drivers__driver" ,
247
258
geostore_common ,
248
- DEFAULT_LAND_DATASET_VERSIONS ,
259
+ DEFAULT_LAND_DATASET_VERSIONS | { "umd_tree_cover_loss" : "v1.8" } ,
249
260
)
250
261
251
262
MOCK_RESOURCE ["metadata" ]["geostore_id" ] = geostore
@@ -264,7 +275,7 @@ async def test_compute_tree_cover_loss_by_driver_error(geostore):
264
275
patch ("app.crud.datamart.update_result" ) as mock_write_error ,
265
276
):
266
277
resource_id = _get_resource_id (
267
- "tree-cover-loss-by-driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
278
+ "tree_cover_loss_by_driver " , geostore , 30 , DEFAULT_LAND_DATASET_VERSIONS
268
279
)
269
280
geostore_common = await get_geostore (geostore , GeostoreOrigin .rw )
270
281
@@ -332,7 +343,7 @@ async def test_compute_tree_cover_loss_by_driver_error(geostore):
332
343
"geostore_id" : "" ,
333
344
"canopy_cover" : 30 ,
334
345
"sources" : [
335
- {"dataset" : "umd_tree_cover_loss" , "version" : "v1.11 " },
346
+ {"dataset" : "umd_tree_cover_loss" , "version" : "v1.8 " },
336
347
{"dataset" : "tsc_tree_cover_loss_drivers" , "version" : "v2023" },
337
348
{"dataset" : "umd_tree_cover_density_2000" , "version" : "v1.8" },
338
349
],
0 commit comments