1
1
"""Tests for Protocol API engine parameter validation."""
2
+
2
3
import pytest
3
4
from typing import List , Optional
4
5
5
6
from opentrons .protocol_api .core .engine import load_labware_params as subject
6
7
from opentrons .protocol_engine .state .labware import LabwareLoadParams
7
8
from opentrons .protocols .api_support .constants import OPENTRONS_NAMESPACE
9
+ from opentrons .protocols .api_support .types import APIVersion
8
10
9
11
10
12
@pytest .mark .parametrize (
15
17
"custom_labware_params" ,
16
18
"expected_namespace" ,
17
19
"expected_version" ,
20
+ "current_api_version" ,
18
21
],
19
22
argvalues = [
20
- ("hello" , "world" , 123 , [], "world" , 123 ),
21
- ("hello" , "world" , None , [], "world" , 1 ),
22
- ("hello" , None , 123 , [], OPENTRONS_NAMESPACE , 123 ),
23
- ("hello" , None , None , [], OPENTRONS_NAMESPACE , 1 ),
23
+ ("hello" , "world" , 123 , [], "world" , 123 , APIVersion ( 2 , 15 ) ),
24
+ ("hello" , "world" , None , [], "world" , 1 , APIVersion ( 2 , 22 ) ),
25
+ ("hello" , None , 123 , [], OPENTRONS_NAMESPACE , 123 , APIVersion ( 2 , 14 ) ),
26
+ ("hello" , None , None , [], OPENTRONS_NAMESPACE , 1 , APIVersion ( 2 , 16 ) ),
24
27
(
25
28
"hello" ,
26
29
"world" ,
31
34
],
32
35
"world" ,
33
36
123 ,
37
+ APIVersion (2 , 17 ),
34
38
),
35
39
(
36
40
"hello" ,
42
46
],
43
47
"world" ,
44
48
123 ,
49
+ APIVersion (2 , 19 ),
45
50
),
46
51
(
47
52
"hello" ,
53
58
],
54
59
"world" ,
55
60
123 ,
61
+ APIVersion (2 , 21 ),
56
62
),
57
63
],
58
64
)
@@ -63,9 +69,12 @@ def test_resolve_load_labware_params(
63
69
custom_labware_params : List [LabwareLoadParams ],
64
70
expected_namespace : str ,
65
71
expected_version : int ,
72
+ current_api_version : APIVersion ,
66
73
) -> None :
67
74
"""It should get a namespace and version based on custom labware available or defaults."""
68
- result = subject .resolve (load_name , namespace , version , custom_labware_params )
75
+ result = subject .resolve (
76
+ load_name , namespace , version , custom_labware_params , current_api_version
77
+ )
69
78
70
79
assert result == (expected_namespace , expected_version )
71
80
@@ -82,6 +91,8 @@ def test_resolve_load_labware_params(
82
91
"nest_96_wellplate_2ml_deep" ,
83
92
"opentrons_96_wellplate_200ul_pcr_full_skirt" ,
84
93
"biorad_96_wellplate_200ul_pcr" ,
94
+ "evotips_opentrons_96_labware" ,
95
+ "evotips_flex_96_tiprack_adapter" ,
85
96
],
86
97
)
87
98
@pytest .mark .parametrize ("namespace" , [OPENTRONS_NAMESPACE , None ])
@@ -107,6 +118,7 @@ def test_version_two_and_above_default_versioning(
107
118
namespace = namespace ,
108
119
version = version ,
109
120
custom_load_labware_params = [],
121
+ api_version = APIVersion (2 , 23 ),
110
122
)
111
123
assert result == (OPENTRONS_NAMESPACE , expected_version )
112
124
@@ -122,4 +134,5 @@ def test_resolve_load_labware_params_raises() -> None:
122
134
LabwareLoadParams ("hello" , "world" , 123 ),
123
135
LabwareLoadParams ("hello" , "world" , 456 ),
124
136
],
137
+ api_version = APIVersion (2 , 23 ),
125
138
)
0 commit comments