@@ -12,7 +12,7 @@ def setUp(self) -> None:
12
12
self .s3_parameters = {
13
13
"access-key" : "AK" ,
14
14
"secret-key" : "SK" ,
15
- "region" : "AS -1" ,
15
+ "region" : "us-east -1" ,
16
16
"bucket" : "balde" ,
17
17
"endpoint" : "http://localhost:9000" ,
18
18
}
@@ -44,16 +44,50 @@ def test_upload_content_with_ca_chain(self, mock_boto):
44
44
mock_session .resource .return_value = mock_resource
45
45
mock_resource .Bucket .return_value = mock_bucket
46
46
47
- s3_parameters = {
48
- "access-key" : "AK" ,
49
- "secret-key" : "SK" ,
50
- "region" : "AS-1" ,
51
- "bucket" : "balde" ,
52
- "endpoint" : "http://localhost:9000" ,
53
- "tls-ca-chain" : ["Zm9vYmFy" ],
54
- }
47
+ s3_parameters = self .s3_parameters
48
+ s3_parameters ["tls-ca-chain" ] = ["Zm9vYmFy" ]
55
49
56
50
upload_content_to_s3 ("content" , "key" , s3_parameters )
57
51
58
52
mock_bucket .upload_file .assert_called_once ()
59
53
mock_session .resource .assert_called_once ()
54
+
55
+ @patch ("lib.charms.mysql.v0.s3_helpers.boto3" )
56
+ def test_upload_content_with_new_bucket_endpoint (self , mock_boto ):
57
+ mock_session = MagicMock ()
58
+ mock_resource = MagicMock ()
59
+ mock_bucket = MagicMock ()
60
+
61
+ mock_boto .session .Session .return_value = mock_session
62
+ mock_session .resource .return_value = mock_resource
63
+ mock_resource .Bucket .return_value = mock_bucket
64
+
65
+ s3_parameters = self .s3_parameters
66
+ s3_parameters ["endpoint" ] = "https://s3.us-east-1.amazonaws.com"
67
+
68
+ upload_content_to_s3 ("content" , "key" , s3_parameters )
69
+
70
+ mock_bucket .upload_file .assert_called_once ()
71
+ mock_session .resource .assert_called_with (
72
+ "s3" , endpoint_url = "https://s3.us-east-1.amazonaws.com" , verify = True
73
+ )
74
+
75
+ @patch ("lib.charms.mysql.v0.s3_helpers.boto3" )
76
+ def test_upload_content_with_old_bucket_endpoint (self , mock_boto ):
77
+ mock_session = MagicMock ()
78
+ mock_resource = MagicMock ()
79
+ mock_bucket = MagicMock ()
80
+
81
+ mock_boto .session .Session .return_value = mock_session
82
+ mock_session .resource .return_value = mock_resource
83
+ mock_resource .Bucket .return_value = mock_bucket
84
+
85
+ s3_parameters = self .s3_parameters
86
+ s3_parameters ["endpoint" ] = "https://s3.amazonaws.com"
87
+
88
+ upload_content_to_s3 ("content" , "key" , s3_parameters )
89
+
90
+ mock_bucket .upload_file .assert_called_once ()
91
+ mock_session .resource .assert_called_with (
92
+ "s3" , endpoint_url = "https://s3.us-east-1.amazonaws.com" , verify = True
93
+ )
0 commit comments