Best Python code snippet using localstack_python
responses.py
Source:responses.py
...66 self.setup_class(request, full_url, headers)67 if request.method == "PUT":68 return self.create_access_point(full_url)69 if request.method == "GET":70 return self.get_access_point_policy_status(full_url)71 def create_access_point(self, full_url):72 account_id, name = self._get_accountid_and_name_from_accesspoint(full_url)73 params = xmltodict.parse(self.body)["CreateAccessPointRequest"]74 bucket = params["Bucket"]75 vpc_configuration = params.get("VpcConfiguration")76 public_access_block_configuration = params.get("PublicAccessBlockConfiguration")77 access_point = self.backend.create_access_point(78 account_id=account_id,79 name=name,80 bucket=bucket,81 vpc_configuration=vpc_configuration,82 public_access_block_configuration=public_access_block_configuration,83 )84 template = self.response_template(CREATE_ACCESS_POINT_TEMPLATE)85 return 200, {}, template.render(access_point=access_point)86 def get_access_point(self, full_url):87 account_id, name = self._get_accountid_and_name_from_accesspoint(full_url)88 access_point = self.backend.get_access_point(account_id=account_id, name=name)89 template = self.response_template(GET_ACCESS_POINT_TEMPLATE)90 return 200, {}, template.render(access_point=access_point)91 def delete_access_point(self, full_url):92 account_id, name = self._get_accountid_and_name_from_accesspoint(full_url)93 self.backend.delete_access_point(account_id=account_id, name=name)94 return 204, {}, ""95 def create_access_point_policy(self, full_url):96 account_id, name = self._get_accountid_and_name_from_policy(full_url)97 params = xmltodict.parse(self.body)98 policy = params["PutAccessPointPolicyRequest"]["Policy"]99 self.backend.create_access_point_policy(account_id, name, policy)100 return 200, {}, ""101 def get_access_point_policy(self, full_url):102 account_id, name = self._get_accountid_and_name_from_policy(full_url)103 policy = self.backend.get_access_point_policy(account_id, name)104 template = self.response_template(GET_ACCESS_POINT_POLICY_TEMPLATE)105 return 200, {}, template.render(policy=policy)106 def delete_access_point_policy(self, full_url):107 account_id, name = self._get_accountid_and_name_from_policy(full_url)108 self.backend.delete_access_point_policy(account_id=account_id, name=name)109 return 204, {}, ""110 def get_access_point_policy_status(self, full_url):111 account_id, name = self._get_accountid_and_name_from_policy(full_url)112 self.backend.get_access_point_policy_status(account_id, name)113 template = self.response_template(GET_ACCESS_POINT_POLICY_STATUS_TEMPLATE)114 return 200, {}, template.render()115 def _get_accountid_and_name_from_accesspoint(self, full_url):116 url = full_url117 if full_url.startswith("http"):118 url = full_url.split("://")[1]119 account_id = url.split(".")[0]120 name = url.split("v20180820/accesspoint/")[-1]121 return account_id, name122 def _get_accountid_and_name_from_policy(self, full_url):123 url = full_url124 if full_url.startswith("http"):125 url = full_url.split("://")[1]126 account_id = url.split(".")[0]...
models.py
Source:models.py
...101 raise AccessPointPolicyNotFound(name)102 def delete_access_point_policy(self, account_id, name):103 access_point = self.get_access_point(account_id, name)104 access_point.delete_policy()105 def get_access_point_policy_status(self, account_id, name):106 """107 We assume the policy status is always public108 """109 self.get_access_point_policy(account_id, name)110 return True111s3control_backends = BackendDict(112 S3ControlBackend,113 "s3control",114 use_boto3_regions=False,115 additional_regions=["global"],...
test_s3control_accesspoint_policy.py
Source:test_s3control_accesspoint_policy.py
...40 err["Code"].should.equal("NoSuchAccessPointPolicy")41 err["Message"].should.equal("The specified accesspoint policy does not exist")42 err["AccessPointName"].should.equal("ap_name")43@mock_s3control44def test_get_access_point_policy_status():45 client = boto3.client("s3control", region_name="us-west-2")46 client.create_access_point(47 AccountId="111111111111", Name="ap_name", Bucket="mybucket"48 )49 policy = """{50 "Version": "2012-10-17",51 "Statement": [52 {53 "Sid": "",54 "Effect": "Allow",55 "Action": "s3:GetObjectTagging",56 "Resource": "arn:aws:s3:us-east-1:123456789012:accesspoint/mybucket/object/*",57 "Principal": {58 "AWS": "*"59 }60 }61 ]62}"""63 client.put_access_point_policy(64 AccountId="111111111111", Name="ap_name", Policy=policy65 )66 resp = client.get_access_point_policy_status(67 AccountId="111111111111", Name="ap_name"68 )69 resp.should.have.key("PolicyStatus").equals({"IsPublic": True})70@mock_s3control71def test_delete_access_point_policy():72 client = boto3.client("s3control", region_name="us-west-2")73 client.create_access_point(74 AccountId="111111111111", Name="ap_name", Bucket="mybucket"75 )76 policy = """some json policy"""77 client.put_access_point_policy(78 AccountId="111111111111", Name="ap_name", Policy=policy79 )80 client.delete_access_point_policy(AccountId="111111111111", Name="ap_name")81 with pytest.raises(ClientError) as exc:82 client.get_access_point_policy(AccountId="111111111111", Name="ap_name")83 err = exc.value.response["Error"]84 err["Code"].should.equal("NoSuchAccessPointPolicy")85@mock_s3control86def test_get_unknown_access_point_policy_status():87 client = boto3.client("s3control", region_name="ap-southeast-1")88 client.create_access_point(89 AccountId="111111111111", Name="ap_name", Bucket="mybucket"90 )91 with pytest.raises(ClientError) as exc:92 client.get_access_point_policy_status(AccountId="111111111111", Name="ap_name")93 err = exc.value.response["Error"]94 err["Code"].should.equal("NoSuchAccessPointPolicy")95 err["Message"].should.equal("The specified accesspoint policy does not exist")...
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!