55
66import requests
77from dotenv import load_dotenv
8+ from mdps_ds_lib .lib .aws .aws_s3 import AwsS3
89from mdps_ds_lib .lib .cognito_login .cognito_login import CognitoLogin
910
1011
@@ -31,10 +32,30 @@ def setUp(self) -> None:
3132
3233 self .tenant = 'UDS_LOCAL_TEST_3' # 'uds_local_test' # 'uds_sandbox'
3334 self .tenant_venue = 'DEV' # 'DEV1' # 'dev'
34- self .collection_name = 'AAA-04 ' # 'uds_collection' # 'sbx_collection'
35+ self .collection_name = 'CCC-01 ' # 'uds_collection' # 'sbx_collection'
3536 self .collection_version = '08' .replace ('.' , '' ) # '2402011200'
3637 return
3738
39+ def test_01_setup_permissions (self ):
40+ collection_url = f'{ self ._url_prefix } /admin/auth'
41+ admin_add_body = {
42+ "actions" : ["READ" , "CREATE" , "DELETE" ],
43+ "resources" : [f"URN:NASA:UNITY:{ self .tenant } :{ self .tenant_venue } :.*" ],
44+ "tenant" : self .tenant ,
45+ "venue" : self .tenant_venue ,
46+ "group_name" : "Unity_Viewer"
47+ }
48+ s = requests .session ()
49+ s .trust_env = False
50+ response = s .put (url = collection_url , headers = {
51+ 'Authorization' : f'Bearer { self .cognito_login .token } ' ,
52+ 'Content-Type' : 'application/json' ,
53+ }, verify = False , data = json .dumps (admin_add_body ))
54+ self .assertEqual (response .status_code , 200 , f'wrong status code: { response .text } ' )
55+ response_json = response .content .decode ()
56+ print (response_json )
57+ return
58+
3859 def test_delete_all (self ):
3960 collection_id = f'URN:NASA:UNITY:{ self .tenant } :{ self .tenant_venue } :{ self .collection_name } ___001'
4061 post_url = f'{ self .uds_url } collections/{ collection_id } /items/' # MCP Dev
@@ -51,7 +72,9 @@ def test_delete_all(self):
5172 self .assertTrue (len (response_json ['features' ]) > 0 , f'empty collection :(' )
5273 deleting_granule_id = response_json ['features' ][0 ]['id' ]
5374
54- post_url = f'{ self .uds_url } collections/{ collection_id } /items/{ deleting_granule_id } ' # MCP Dev
75+ asset_urls = [v ['href' ] for k , v in response_json ['features' ][0 ]['assets' ].items ()]
76+ print (asset_urls )
77+ post_url = f'{ self .uds_url } collections/{ collection_id } /items/{ deleting_granule_id } /?delete_files=false' # MCP Dev
5578 print (post_url )
5679 query_result = requests .delete (url = post_url ,
5780 headers = headers ,
@@ -65,4 +88,8 @@ def test_delete_all(self):
6588 self .assertEqual (query_result .status_code , 200 , f'wrong status code. { query_result .text } ' )
6689 response_json = json .loads (query_result .text )
6790 print (json .dumps (response_json , indent = 4 ))
91+
92+ s3 = AwsS3 ()
93+ for each_url in asset_urls :
94+ self .assertTrue (s3 .set_s3_url (each_url ).exists (s3 .target_bucket , s3 .target_key ), f'file no longer exists: { each_url } ' )
6895 return
0 commit comments