11from . import S3_CONN_INFO
22from minio import Minio
3- import json
43import urllib3
54import certifi
65from nose .tools import assert_true , raises
76from .schema_external import schema , SimpleRemote
87from datajoint .errors import DataJointError
9- import os
108from datajoint .hash import uuid_from_buffer
119from datajoint .blob import pack
1210
@@ -62,60 +60,6 @@ def test_connection_secure():
6260 def test_remove_object_exception ():
6361 # https://github.com/datajoint/datajoint-python/issues/952
6462
65- # Initialize minioClient with an endpoint and access/secret keys.
66- minio_client = Minio (
67- 'minio:9000' ,
68- access_key = 'jeffjeff' ,
69- secret_key = 'jeffjeff' ,
70- secure = False )
71-
72- # Create new user
73- os .system ('mc admin user add myminio jeffjeff jeffjeff' )
74- # json for test policy for permissionless user
75- testpolicy = {
76- "Version" : "2012-10-17" ,
77- "Statement" : [
78- {
79- "Action" : [
80- "s3:GetBucketLocation" ,
81- "s3:ListBucket" ,
82- "s3:ListBucketMultipartUploads" ,
83- "s3:ListAllMyBuckets"
84- ],
85- "Effect" : "Allow" ,
86- "Resource" : [
87- "arn:aws:s3:::datajoint.test" ,
88- "arn:aws:s3:::datajoint.migrate"
89- ],
90- "Sid" : ""
91- },
92- {
93- "Action" : [
94- "s3:GetObject" ,
95- "s3:ListMultipartUploadParts"
96- ],
97- "Effect" : "Allow" ,
98- "Resource" : [
99- "arn:aws:s3:::datajoint.test/*" ,
100- "arn:aws:s3:::datajoint.migrate/*"
101- ],
102- "Sid" : ""
103- }
104- ]
105- }
106-
107- # Write test json to tmp directory so we can use it to create a new user policy
108- with open ('/tmp/policy.json' , 'w' ) as f :
109- f .write (json .dumps (testpolicy ))
110-
111- # Add alias myminio
112- os .system (
113- 'mc alias set myminio/ http://fakeservices.datajoint.io datajoint datajoint' )
114-
115- # Add the policy and apply it to the user
116- os .system ('mc admin policy add myminio test /tmp/policy.json' )
117- os .system ('mc admin policy set myminio test user=jeffjeff' )
118-
11963 # Insert some test data and remove it so that the external table is populated
12064 test = [1 , [1 , 2 , 3 ]]
12165 SimpleRemote .insert1 (test )
@@ -124,20 +68,20 @@ def test_remove_object_exception():
12468 # Save the old external table minio client
12569 old_client = schema .external ['share' ].s3 .client
12670
127- # Apply our new minio client to the external table that has permissions restrictions
128- schema .external ['share' ].s3 .client = minio_client
71+ # Apply our new minio client which has a user that does not exist
72+ schema .external ['share' ].s3 .client = Minio (
73+ 'minio:9000' ,
74+ access_key = 'jeffjeff' ,
75+ secret_key = 'jeffjeff' ,
76+ secure = False )
12977
13078 # This method returns a list of errors
13179 error_list = schema .external ['share' ].delete (delete_external_files = True ,
13280 errors_as_string = False )
13381
13482 # Teardown
135- os .system ('mc admin policy remove myminio test' )
136- os .system ('mc admin user remove myminio jeffjeff' )
13783 schema .external ['share' ].s3 .client = old_client
13884 schema .external ['share' ].delete (delete_external_files = True )
139- os .remove ("/tmp/policy.json" )
140- os .system ('mc alias remove myminio/' )
14185
14286 # Raise the error we want if the error matches the expected uuid
14387 if str (error_list [0 ][0 ]) == str (uuid_from_buffer (pack (test [1 ]))):
0 commit comments