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