5
5
6
6
7
7
class TestImageUtils (unittest .TestCase ):
8
+
8
9
@patch ('sagemaker.image_utils.config_for_framework' )
9
10
@patch ('sagemaker.image_utils.retrieve' )
10
11
def test_get_latest_container_image (self ,
11
12
mock_image_retrieve ,
12
13
mock_config_for_framework ):
14
+ mock_config_for_framework .return_value = {
15
+ "versions" : {
16
+ "24.03" : {
17
+ "registries" : {
18
+ "af-south-1" : "626614931356" ,
19
+ },
20
+ "repository" : "sagemaker-tritonserver" ,
21
+ "tag_prefix" : "24.03-py3"
22
+ },
23
+ "24.01" : {
24
+ "registries" : {
25
+ "af-south-1" : "626614931356"
26
+ },
27
+ "repository" : "sagemaker-tritonserver" ,
28
+ "tag_prefix" : "24.01-py3"
29
+ },
30
+ "23.12" : {
31
+ "registries" : {
32
+ "af-south-1" : "626614931356"
33
+ },
34
+ "repository" : "sagemaker-tritonserver" ,
35
+ "tag_prefix" : "23.12-py3"
36
+ }
37
+ }
38
+ }
39
+ mock_image_retrieve .return_value = "latest-image"
40
+
41
+ image , version = get_latest_container_image ("xgboost" , "inference" )
42
+ assert image == "latest-image"
43
+ assert version == "24.03"
44
+
45
+ @patch ('sagemaker.image_utils.config_for_framework' )
46
+ @patch ('sagemaker.image_utils.retrieve' )
47
+ def test_get_latest_container_image_with_alias (self ,
48
+ mock_image_retrieve ,
49
+ mock_config_for_framework ):
13
50
mock_config_for_framework .return_value = {
14
51
"inference" : {
15
52
"version_aliases" : {
@@ -24,9 +61,7 @@ def test_get_latest_container_image(self,
24
61
assert version == "1"
25
62
26
63
@patch ('sagemaker.image_utils.config_for_framework' )
27
- @patch ('sagemaker.image_utils.retrieve' )
28
64
def test_get_latest_container_image_invalid_framework (self ,
29
- mock_image_retrieve ,
30
65
mock_config_for_framework ):
31
66
mock_config_for_framework .side_effect = FileNotFoundError
32
67
@@ -35,12 +70,10 @@ def test_get_latest_container_image_invalid_framework(self,
35
70
assert "No framework config for framework" in str (e .exception )
36
71
37
72
@patch ('sagemaker.image_utils.config_for_framework' )
38
- @patch ('sagemaker.image_utils.retrieve' )
39
73
def test_get_latest_container_image_no_framework (self ,
40
- mock_image_retrieve ,
41
- mock_config_for_framework ):
74
+ mock_config_for_framework ):
42
75
mock_config_for_framework .return_value = {}
43
76
44
77
with self .assertRaises (ValueError ) as e :
45
78
get_latest_container_image ("xgboost" , "inference" )
46
- assert "No framework config for framework" in str (e .exception )
79
+ assert "No framework config for framework" in str (e .exception )
0 commit comments