@@ -14,6 +14,8 @@ def test_cuda_requirement_v1_0() -> None:
14
14
)
15
15
cwl_obj = load_document_by_uri (uri )
16
16
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_0 .CUDARequirement )
17
+ cwl_dict = cwl_obj .save (top = True )
18
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:CUDARequirement"
17
19
18
20
19
21
def test_cuda_requirement_v1_1 () -> None :
@@ -25,6 +27,8 @@ def test_cuda_requirement_v1_1() -> None:
25
27
)
26
28
cwl_obj = load_document_by_uri (uri )
27
29
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_1 .CUDARequirement )
30
+ cwl_dict = cwl_obj .save (top = True )
31
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:CUDARequirement"
28
32
29
33
30
34
def test_cuda_requirement_v1_2 () -> None :
@@ -36,6 +40,8 @@ def test_cuda_requirement_v1_2() -> None:
36
40
)
37
41
cwl_obj = load_document_by_uri (uri )
38
42
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_2 .CUDARequirement )
43
+ cwl_dict = cwl_obj .save (top = True )
44
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:CUDARequirement"
39
45
40
46
41
47
def test_load_listing_requirement_v1_0 () -> None :
@@ -47,6 +53,8 @@ def test_load_listing_requirement_v1_0() -> None:
47
53
)
48
54
cwl_obj = load_document_by_uri (uri )
49
55
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_0 .LoadListingRequirement )
56
+ cwl_dict = cwl_obj .save (top = True )
57
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:LoadListingRequirement"
50
58
51
59
52
60
def test_loop_v1_2 () -> None :
@@ -61,6 +69,8 @@ def test_loop_v1_2() -> None:
61
69
loop_req = next (iter (cwl_step .requirements ))
62
70
assert isinstance (loop_req , cwl_v1_2 .Loop )
63
71
assert isinstance (next (iter (loop_req .loop )), cwl_v1_2 .LoopInput )
72
+ cwl_dict = cwl_obj .save (top = True )
73
+ assert cwl_dict ["steps" ][0 ]["requirements" ][0 ]["class" ] == "cwltool:Loop"
64
74
65
75
66
76
def test_inplace_update_requirement_v1_0 () -> None :
@@ -74,6 +84,8 @@ def test_inplace_update_requirement_v1_0() -> None:
74
84
assert isinstance (
75
85
next (iter (cwl_obj .requirements )), cwl_v1_0 .InplaceUpdateRequirement
76
86
)
87
+ cwl_dict = cwl_obj .save (top = True )
88
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:InplaceUpdateRequirement"
77
89
78
90
79
91
def test_mpi_requirement_v1_0 () -> None :
@@ -85,6 +97,8 @@ def test_mpi_requirement_v1_0() -> None:
85
97
)
86
98
cwl_obj = load_document_by_uri (uri )
87
99
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_0 .MPIRequirement )
100
+ cwl_dict = cwl_obj .save (top = True )
101
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:MPIRequirement"
88
102
89
103
90
104
def test_mpi_requirement_v1_1 () -> None :
@@ -96,6 +110,8 @@ def test_mpi_requirement_v1_1() -> None:
96
110
)
97
111
cwl_obj = load_document_by_uri (uri )
98
112
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_1 .MPIRequirement )
113
+ cwl_dict = cwl_obj .save (top = True )
114
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:MPIRequirement"
99
115
100
116
101
117
def test_mpi_requirement_v1_2 () -> None :
@@ -107,6 +123,8 @@ def test_mpi_requirement_v1_2() -> None:
107
123
)
108
124
cwl_obj = load_document_by_uri (uri )
109
125
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_2 .MPIRequirement )
126
+ cwl_dict = cwl_obj .save (top = True )
127
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:MPIRequirement"
110
128
111
129
112
130
def test_network_access_v1_0 () -> None :
@@ -116,6 +134,8 @@ def test_network_access_v1_0() -> None:
116
134
)
117
135
cwl_obj = load_document_by_uri (uri )
118
136
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_0 .NetworkAccess )
137
+ cwl_dict = cwl_obj .save (top = True )
138
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:NetworkAccess"
119
139
120
140
121
141
def test_process_generator_v1_0 () -> None :
@@ -125,7 +145,10 @@ def test_process_generator_v1_0() -> None:
125
145
.resolve ()
126
146
.as_uri ()
127
147
)
128
- assert isinstance (load_document_by_uri (uri ), cwl_v1_0 .ProcessGenerator )
148
+ cwl_obj = load_document_by_uri (uri )
149
+ assert isinstance (cwl_obj , cwl_v1_0 .ProcessGenerator )
150
+ cwl_dict = cwl_obj .save (top = True )
151
+ assert cwl_dict ["class" ] == "cwltool:ProcessGenerator"
129
152
130
153
131
154
def test_process_generator_v1_1 () -> None :
@@ -135,7 +158,10 @@ def test_process_generator_v1_1() -> None:
135
158
.resolve ()
136
159
.as_uri ()
137
160
)
138
- assert isinstance (load_document_by_uri (uri ), cwl_v1_1 .ProcessGenerator )
161
+ cwl_obj = load_document_by_uri (uri )
162
+ assert isinstance (cwl_obj , cwl_v1_1 .ProcessGenerator )
163
+ cwl_dict = cwl_obj .save (top = True )
164
+ assert cwl_dict ["class" ] == "cwltool:ProcessGenerator"
139
165
140
166
141
167
def test_process_generator_v1_2 () -> None :
@@ -145,60 +171,79 @@ def test_process_generator_v1_2() -> None:
145
171
.resolve ()
146
172
.as_uri ()
147
173
)
148
- assert isinstance (load_document_by_uri (uri ), cwl_v1_2 .ProcessGenerator )
174
+ cwl_obj = load_document_by_uri (uri )
175
+ assert isinstance (cwl_obj , cwl_v1_2 .ProcessGenerator )
176
+ cwl_dict = cwl_obj .save (top = True )
177
+ assert cwl_dict ["class" ] == "cwltool:ProcessGenerator"
149
178
150
179
151
180
def test_secrets_v1_0 () -> None :
152
181
"""Test that Secrets objects are correctly loaded for CWL v1.0."""
153
182
uri = Path (get_data ("testdata/extensions/secrets_v1_0.cwl" )).resolve ().as_uri ()
154
183
cwl_obj = load_document_by_uri (uri )
155
184
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_0 .Secrets )
185
+ cwl_dict = cwl_obj .save (top = True )
186
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:Secrets"
156
187
157
188
158
189
def test_secrets_v1_1 () -> None :
159
190
"""Test that Secrets objects are correctly loaded for CWL v1.1."""
160
191
uri = Path (get_data ("testdata/extensions/secrets_v1_1.cwl" )).resolve ().as_uri ()
161
192
cwl_obj = load_document_by_uri (uri )
162
193
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_1 .Secrets )
194
+ cwl_dict = cwl_obj .save (top = True )
195
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:Secrets"
163
196
164
197
165
198
def test_secrets_v1_2 () -> None :
166
199
"""Test that Secrets objects are correctly loaded for CWL v1.2."""
167
200
uri = Path (get_data ("testdata/extensions/secrets_v1_2.cwl" )).resolve ().as_uri ()
168
201
cwl_obj = load_document_by_uri (uri )
169
202
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_2 .Secrets )
203
+ cwl_dict = cwl_obj .save (top = True )
204
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:Secrets"
170
205
171
206
172
207
def test_shm_size_v1_0 () -> None :
173
208
"""Test that ShmSize objects are correctly loaded for CWL v1.0."""
174
209
uri = Path (get_data ("testdata/extensions/shm-size_v1_0.cwl" )).resolve ().as_uri ()
175
210
cwl_obj = load_document_by_uri (uri )
176
211
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_0 .ShmSize )
212
+ cwl_dict = cwl_obj .save (top = True )
213
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:ShmSize"
177
214
178
215
179
216
def test_shm_size_v1_1 () -> None :
180
217
"""Test that ShmSize objects are correctly loaded for CWL v1.1."""
181
218
uri = Path (get_data ("testdata/extensions/shm-size_v1_1.cwl" )).resolve ().as_uri ()
182
219
cwl_obj = load_document_by_uri (uri )
183
220
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_1 .ShmSize )
221
+ cwl_dict = cwl_obj .save (top = True )
222
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:ShmSize"
184
223
185
224
186
225
def test_shm_size_v1_2 () -> None :
187
226
"""Test that ShmSize objects are correctly loaded for CWL v1.2."""
188
227
uri = Path (get_data ("testdata/extensions/shm-size_v1_2.cwl" )).resolve ().as_uri ()
189
228
cwl_obj = load_document_by_uri (uri )
190
229
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_2 .ShmSize )
230
+ cwl_dict = cwl_obj .save (top = True )
231
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:ShmSize"
191
232
192
233
193
234
def test_time_limit_v1_0 () -> None :
194
235
"""Test that TimeLimit objects are correctly loaded for CWL v1.0."""
195
236
uri = Path (get_data ("testdata/extensions/time-limit_v1_0.cwl" )).resolve ().as_uri ()
196
237
cwl_obj = load_document_by_uri (uri )
197
238
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_0 .TimeLimit )
239
+ cwl_dict = cwl_obj .save (top = True )
240
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:TimeLimit"
198
241
199
242
200
243
def test_work_reuse_v1_0 () -> None :
201
244
"""Test that WorkReuse objects are correctly loaded for CWL v1.0."""
202
245
uri = Path (get_data ("testdata/extensions/work-reuse_v1_0.cwl" )).resolve ().as_uri ()
203
246
cwl_obj = load_document_by_uri (uri )
204
247
assert isinstance (next (iter (cwl_obj .requirements )), cwl_v1_0 .WorkReuse )
248
+ cwl_dict = cwl_obj .save (top = True )
249
+ assert cwl_dict ["requirements" ][0 ]["class" ] == "cwltool:WorkReuse"
0 commit comments