1
1
import pytest
2
2
3
+ from openeo import BatchJob
3
4
from openeo .rest ._testing import DummyBackend
4
5
from openeo .rest .multiresult import MultiResult
5
6
6
7
7
8
class TestMultiResultHandling :
8
-
9
- def test_create_job_method (self , dummy_backend ):
10
- con = dummy_backend .connection
11
- cube = con .load_collection ("S2" )
9
+ def test_flat_graph (self , dummy_backend ):
10
+ cube = dummy_backend .connection .load_collection ("S2" )
12
11
save1 = cube .save_result (format = "GTiff" )
13
12
save2 = cube .save_result (format = "netCDF" )
14
13
multi_result = MultiResult ([save1 , save2 ])
15
- multi_result .create_job ()
16
- assert dummy_backend .get_batch_pg () == {
14
+ assert multi_result .flat_graph () == {
17
15
"loadcollection1" : {
18
16
"process_id" : "load_collection" ,
19
17
"arguments" : {"id" : "S2" , "spatial_extent" : None , "temporal_extent" : None },
@@ -29,7 +27,37 @@ def test_create_job_method(self, dummy_backend):
29
27
},
30
28
}
31
29
32
- def test_create_job_on_connection (self , con120 , dummy_backend ):
30
+ def test_create_job_method (self , dummy_backend ):
31
+ con = dummy_backend .connection
32
+ cube = con .load_collection ("S2" )
33
+ save1 = cube .save_result (format = "GTiff" )
34
+ save2 = cube .save_result (format = "netCDF" )
35
+ multi_result = MultiResult ([save1 , save2 ])
36
+ multi_result .create_job (title = "multi result test" )
37
+ assert dummy_backend .batch_jobs == {
38
+ "job-000" : {
39
+ "job_id" : "job-000" ,
40
+ "pg" : {
41
+ "loadcollection1" : {
42
+ "process_id" : "load_collection" ,
43
+ "arguments" : {"id" : "S2" , "spatial_extent" : None , "temporal_extent" : None },
44
+ },
45
+ "saveresult1" : {
46
+ "process_id" : "save_result" ,
47
+ "arguments" : {"data" : {"from_node" : "loadcollection1" }, "format" : "GTiff" , "options" : {}},
48
+ },
49
+ "saveresult2" : {
50
+ "process_id" : "save_result" ,
51
+ "arguments" : {"data" : {"from_node" : "loadcollection1" }, "format" : "netCDF" , "options" : {}},
52
+ "result" : True ,
53
+ },
54
+ },
55
+ "status" : "created" ,
56
+ "title" : "multi result test" ,
57
+ }
58
+ }
59
+
60
+ def test_create_job_through_connection (self , con120 , dummy_backend ):
33
61
con = dummy_backend .connection
34
62
cube = con120 .load_collection ("S2" )
35
63
save1 = cube .save_result (format = "GTiff" )
@@ -51,3 +79,34 @@ def test_create_job_on_connection(self, con120, dummy_backend):
51
79
"result" : True ,
52
80
},
53
81
}
82
+
83
+ def test_execute_batch (self , dummy_backend ):
84
+ con = dummy_backend .connection
85
+ cube = con .load_collection ("S2" )
86
+ save1 = cube .save_result (format = "GTiff" )
87
+ save2 = cube .save_result (format = "netCDF" )
88
+ multi_result = MultiResult ([save1 , save2 ])
89
+ job = multi_result .execute_batch (title = "multi result test" )
90
+ assert isinstance (job , BatchJob )
91
+ assert dummy_backend .batch_jobs == {
92
+ "job-000" : {
93
+ "job_id" : "job-000" ,
94
+ "pg" : {
95
+ "loadcollection1" : {
96
+ "process_id" : "load_collection" ,
97
+ "arguments" : {"id" : "S2" , "spatial_extent" : None , "temporal_extent" : None },
98
+ },
99
+ "saveresult1" : {
100
+ "process_id" : "save_result" ,
101
+ "arguments" : {"data" : {"from_node" : "loadcollection1" }, "format" : "GTiff" , "options" : {}},
102
+ },
103
+ "saveresult2" : {
104
+ "process_id" : "save_result" ,
105
+ "arguments" : {"data" : {"from_node" : "loadcollection1" }, "format" : "netCDF" , "options" : {}},
106
+ "result" : True ,
107
+ },
108
+ },
109
+ "status" : "finished" ,
110
+ "title" : "multi result test" ,
111
+ }
112
+ }
0 commit comments