Best Python code snippet using localstack_python
responses.py
Source:responses.py  
...60            return self.create_access_point_policy(full_url)61        if request.method == "GET":62            return self.get_access_point_policy(full_url)63        if request.method == "DELETE":64            return self.delete_access_point_policy(full_url)65    def access_point_policy_status(self, request, full_url, headers):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):...models.py
Source:models.py  
...98        access_point = self.get_access_point(account_id, name)99        if access_point.has_policy():100            return access_point.policy101        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"],116)test_s3control_accesspoint_policy.py
Source:test_s3control_accesspoint_policy.py  
...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")...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!!
