1- import pytest
21from osparc import JobMetadata , ApiClient , SolversApi , JobMetadataUpdate
32from faker import Faker
43from typing import Callable
54from pydantic import BaseModel
65
76
8- @pytest .fixture
9- def job_metadata (faker : Faker ) -> JobMetadata :
10- _job_id = f"{ faker .uuid4 ()} "
11- return JobMetadata (
12- job_id = _job_id ,
13- metadata = {
14- "job_id" : _job_id ,
15- "job_name" : f"{ faker .text ()} " ,
16- "node_id" : f"{ faker .uuid4 ()} " ,
17- },
18- url = faker .url (),
19- )
20-
21-
22- @pytest .fixture
23- def job_metadata_update (faker : Faker ):
24- return JobMetadataUpdate (
25- metadata = {
26- "var1" : faker .boolean (),
27- "var2" : faker .pyfloat (),
28- "var3" : faker .pyint (),
29- "var4" : faker .text (),
30- }
31- )
32-
33-
347def test_get_job_custom_metadata (
358 create_server_mock : Callable [[int , BaseModel ], None ],
369 job_metadata : JobMetadata ,
@@ -44,3 +17,22 @@ def test_get_job_custom_metadata(
4417 solver_key = "mysolver" , version = "1.2.3" , job_id = f"{ faker .uuid4 ()} "
4518 )
4619 assert metadata == job_metadata
20+
21+
22+ def test_replace_job_custom_metadata (
23+ create_server_mock : Callable [[int , BaseModel ], None ],
24+ job_metadata : JobMetadata ,
25+ job_metadata_update : JobMetadataUpdate ,
26+ api_client : ApiClient ,
27+ faker : Faker ,
28+ ):
29+ create_server_mock (200 , job_metadata )
30+
31+ _solvers_api = SolversApi (api_client = api_client )
32+ _job_metadata = _solvers_api .replace_job_custom_metadata (
33+ solver_key = "mysolver" ,
34+ version = "1.2.3" ,
35+ job_id = f"{ faker .uuid4 ()} " ,
36+ job_metadata_update = job_metadata_update ,
37+ )
38+ assert _job_metadata == job_metadata
0 commit comments