How to use get_bucket_acl method in localstack

Best Python code snippet using localstack_python

test_api_base.py

Source:test_api_base.py Github

copy

Full Screen

...7class TestApiBase(OssTestCase):8 if OSS_CNAME:9 def test_cname_bucket(self):10 bucket = oss2.Bucket(oss2.Auth(OSS_ID, OSS_SECRET), OSS_CNAME, OSS_BUCKET, is_cname=True)11 bucket.get_bucket_acl()12 def test_cname_object(self):13 bucket = oss2.Bucket(oss2.Auth(OSS_ID, OSS_SECRET), OSS_CNAME, OSS_BUCKET, is_cname=True)14 bucket.put_object('hello.txt', 'hello world')15 def test_https(self):16 bucket_name = random_string(63)17 bucket = oss2.Bucket(oss2.AnonymousAuth(), OSS_ENDPOINT.replace('http://', 'https://'), bucket_name)18 self.assertRaises(oss2.exceptions.NoSuchBucket, bucket.get_object, 'hello.txt')19 # 只是为了测试,请不要用IP访问OSS,除非你是在VPC环境下。20 def test_ip(self):21 bucket_name = random_string(63)22 ip = socket.gethostbyname(OSS_ENDPOINT.replace('https://', '').replace('http://', ''))23 bucket = oss2.Bucket(oss2.AnonymousAuth(), ip, bucket_name)24 self.assertRaises(oss2.exceptions.NoSuchBucket, bucket.get_object, 'hello.txt')25 def test_invalid_bucket_name(self):26 bucket_name = random_string(64)27 self.assertRaises(oss2.exceptions.ClientError, oss2.Bucket, oss2.AnonymousAuth(), OSS_ENDPOINT, bucket_name)28 def test_whitespace(self):29 bucket = oss2.Bucket(oss2.Auth(OSS_ID, ' ' + OSS_SECRET + ' '), OSS_ENDPOINT, OSS_BUCKET)30 bucket.get_bucket_acl()31 bucket = oss2.Bucket(oss2.Auth(OSS_ID, OSS_SECRET), ' ' + OSS_ENDPOINT + ' ', OSS_BUCKET)32 bucket.get_bucket_acl()33 bucket = oss2.Bucket(oss2.Auth(OSS_ID, OSS_SECRET), OSS_ENDPOINT, ' ' + OSS_BUCKET + ' ')34 bucket.get_bucket_acl()35 if sys.version_info >= (3, 3):36 def test_user_agent(self):37 app = 'fantastic-tool'38 assert_found = False39 def do_request(session_self, req, timeout):40 if assert_found:41 self.assertTrue(req.headers['User-Agent'].find(app) >= 0)42 else:43 self.assertTrue(req.headers['User-Agent'].find(app) < 0)44 raise oss2.exceptions.ClientError('intentional')45 from unittest.mock import patch46 with patch.object(oss2.Session, 'do_request', side_effect=do_request, autospec=True):47 # 不加 app_name48 assert_found = False...

Full Screen

Full Screen

s3_barrel.py

Source:s3_barrel.py Github

copy

Full Screen

...33 items[region] = []34 response = client.list_buckets()35 items[region].extend(response['Buckets'])36 return items37 def get_bucket_acl(self):38 if self.cache.get('get_bucket_acl'):39 return self.cache['get_bucket_acl']40 items = {}41 for region, client in self.clients.items():42 items[region] = {}43 for bucket in self.tap('list_buckets')[region]:44 response = client.get_bucket_acl(45 Bucket=bucket['Name']46 )47 items[region][bucket['Name']] = response['Grants']48 return items49 def get_bucket_versioning(self):50 if self.cache.get('get_bucket_versioning'):51 return self.cache['get_bucket_versioning']52 items = {}53 for region, client in self.clients.items():54 items[region] = {}55 for bucket in self.tap('list_buckets')[region]:56 response = client.get_bucket_versioning(57 Bucket=bucket['Name']58 )...

Full Screen

Full Screen

get_bucket_acl.py

Source:get_bucket_acl.py Github

copy

Full Screen

1import logging2import boto33from botocore.exceptions import ClientError4def get_bucket_acl(bucket_name):5 """Retrieve the access control list of an Amazon S3 bucket6 :param bucket_name: string7 :return: Dictionary defining the bucket's access control policy consisting8 of owner and grants. If error, return None.9 """10 # Retrieve the bucket ACL11 s3 = boto3.client('s3')12 try:13 response = s3.get_bucket_acl(Bucket=bucket_name)14 except ClientError as e:15 # AllAccessDisabled error == bucket not found16 logging.error(e)17 return None18 # Return both the Owner and Grants keys19 # The Owner and Grants settings together form the Access Control Policy.20 # The Grants alone form the Access Control List.21 return {'Owner': response['Owner'], 'Grants': response['Grants']}22def main():23 """Exercise get_bucket_acl()"""24 # Assign this value before running the program25 test_bucket_name = 'BUCKET_NAME'26 # Set up logging27 logging.basicConfig(level=logging.DEBUG,28 format='%(levelname)s: %(asctime)s: %(message)s')29 # Retrieve the current bucket ACL30 acl = get_bucket_acl(test_bucket_name)31 if acl is None:32 exit(-1)33 # Output the bucket ACL grantees and permissions34 for grantee in acl['Grants']:35 # The grantee type determines the grantee_identifier36 grantee_type = grantee['Grantee']['Type']37 if grantee_type == 'CanonicalUser':38 grantee_identifier = grantee['Grantee']['DisplayName']39 elif grantee_type == 'AmazonCustomerByEmail':40 grantee_identifier = grantee['Grantee']['EmailAddress']41 elif grantee_type == 'Group':42 grantee_identifier = grantee['Grantee']['URI']43 else:44 grantee_identifier = 'Unknown'...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful