24
24
SINGLE_FILE_NAME = 'file1.py'
25
25
UPLOAD_DATA_TESTS_SINGLE_FILE = os .path .join (UPLOAD_DATA_TESTS_FILES_DIR , SINGLE_FILE_NAME )
26
26
BUCKET_NAME = 'mybucket'
27
+ AES_ENCRYPTION_ENABLED = {'ServerSideEncryption' : 'AES256' }
27
28
28
29
29
30
@pytest .fixture ()
@@ -37,19 +38,46 @@ def sagemaker_session():
37
38
def test_upload_data_absolute_dir (sagemaker_session ):
38
39
result_s3_uri = sagemaker_session .upload_data (UPLOAD_DATA_TESTS_FILES_DIR )
39
40
40
- uploaded_files = [args [0 ] for name , args , kwargs in sagemaker_session .boto_session .mock_calls
41
- if name == 'resource().Object().upload_file' ]
41
+ uploaded_files_with_args = [( args [0 ], kwargs ) for name , args , kwargs in sagemaker_session .boto_session .mock_calls
42
+ if name == 'resource().Object().upload_file' ]
42
43
assert result_s3_uri == 's3://{}/data' .format (BUCKET_NAME )
43
- assert len (uploaded_files ) == 4
44
- for file in uploaded_files :
44
+ assert len (uploaded_files_with_args ) == 4
45
+ for file , kwargs in uploaded_files_with_args :
45
46
assert os .path .exists (file )
47
+ assert kwargs ['ExtraArgs' ] is None
46
48
47
49
48
50
def test_upload_data_absolute_file (sagemaker_session ):
49
51
result_s3_uri = sagemaker_session .upload_data (UPLOAD_DATA_TESTS_SINGLE_FILE )
50
52
51
- uploaded_files = [args [0 ] for name , args , kwargs in sagemaker_session .boto_session .mock_calls
52
- if name == 'resource().Object().upload_file' ]
53
+ uploaded_files_with_args = [( args [0 ], kwargs ) for name , args , kwargs in sagemaker_session .boto_session .mock_calls
54
+ if name == 'resource().Object().upload_file' ]
53
55
assert result_s3_uri == 's3://{}/data/{}' .format (BUCKET_NAME , SINGLE_FILE_NAME )
54
- assert len (uploaded_files ) == 1
55
- assert os .path .exists (uploaded_files [0 ])
56
+ assert len (uploaded_files_with_args ) == 1
57
+ (file , kwargs ) = uploaded_files_with_args [0 ]
58
+ assert os .path .exists (file )
59
+ assert kwargs ['ExtraArgs' ] is None
60
+
61
+
62
+ def test_upload_data_aes_encrypted_absolute_dir (sagemaker_session ):
63
+ result_s3_uri = sagemaker_session .upload_data (UPLOAD_DATA_TESTS_FILES_DIR , extra_args = AES_ENCRYPTION_ENABLED )
64
+
65
+ uploaded_files_with_args = [(args [0 ], kwargs ) for name , args , kwargs in sagemaker_session .boto_session .mock_calls
66
+ if name == 'resource().Object().upload_file' ]
67
+ assert result_s3_uri == 's3://{}/data' .format (BUCKET_NAME )
68
+ assert len (uploaded_files_with_args ) == 4
69
+ for file , kwargs in uploaded_files_with_args :
70
+ assert os .path .exists (file )
71
+ assert kwargs ['ExtraArgs' ] == AES_ENCRYPTION_ENABLED
72
+
73
+
74
+ def test_upload_data_aes_encrypted_absolute_file (sagemaker_session ):
75
+ result_s3_uri = sagemaker_session .upload_data (UPLOAD_DATA_TESTS_SINGLE_FILE , extra_args = AES_ENCRYPTION_ENABLED )
76
+
77
+ uploaded_files_with_args = [(args [0 ], kwargs ) for name , args , kwargs in sagemaker_session .boto_session .mock_calls
78
+ if name == 'resource().Object().upload_file' ]
79
+ assert result_s3_uri == 's3://{}/data/{}' .format (BUCKET_NAME , SINGLE_FILE_NAME )
80
+ assert len (uploaded_files_with_args ) == 1
81
+ (file , kwargs ) = uploaded_files_with_args [0 ]
82
+ assert os .path .exists (file )
83
+ assert kwargs ['ExtraArgs' ] == AES_ENCRYPTION_ENABLED
0 commit comments