55
66
77class TestImageUtils (unittest .TestCase ):
8+
89 @patch ('sagemaker.image_utils.config_for_framework' )
910 @patch ('sagemaker.image_utils.retrieve' )
1011 def test_get_latest_container_image (self ,
1112 mock_image_retrieve ,
1213 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 ):
1350 mock_config_for_framework .return_value = {
1451 "inference" : {
1552 "version_aliases" : {
@@ -24,9 +61,7 @@ def test_get_latest_container_image(self,
2461 assert version == "1"
2562
2663 @patch ('sagemaker.image_utils.config_for_framework' )
27- @patch ('sagemaker.image_utils.retrieve' )
2864 def test_get_latest_container_image_invalid_framework (self ,
29- mock_image_retrieve ,
3065 mock_config_for_framework ):
3166 mock_config_for_framework .side_effect = FileNotFoundError
3267
@@ -35,12 +70,10 @@ def test_get_latest_container_image_invalid_framework(self,
3570 assert "No framework config for framework" in str (e .exception )
3671
3772 @patch ('sagemaker.image_utils.config_for_framework' )
38- @patch ('sagemaker.image_utils.retrieve' )
3973 def test_get_latest_container_image_no_framework (self ,
40- mock_image_retrieve ,
41- mock_config_for_framework ):
74+ mock_config_for_framework ):
4275 mock_config_for_framework .return_value = {}
4376
4477 with self .assertRaises (ValueError ) as e :
4578 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