コード例 #1
0
ファイル: test_virgaclient.py プロジェクト: gurdulu/virga
 def test_find_elb_call_sequence(self, mock_call):
     self.maxDiff = None
     mock_call.side_effect = [
         responses.elb_describe_load_balancers,
         responses.elb_describe_tags,
     ]
     expected = responses.elb_result
     self.assertDictEqual(expected, VirgaClient.find_elb({'name':
                                                          'my-elb'}))
コード例 #2
0
ファイル: test_provider.py プロジェクト: gurdulu/virga
 def test_find_certificate_no_domain_found(self, mock_call):
     mock_call.side_effect = [{
         'CertificateSummaryList': [{
             'DomainName': 'any-domain.it'
         }]
     },
                              IndexError()]
     self.assertIsNone(
         VirgaClient.find_certificate({'domain_name': 'any-domain.it'}))
コード例 #3
0
ファイル: test_virgaclient.py プロジェクト: gurdulu/virga
 def test_find_certificate_expected_bahaviour(self, mock_call):
     mock_call.side_effect = [
         responses.acm_certificate_list,
         fixture('certificate.json', get_json=True)
     ]
     expected = responses.acm_result_find_certificate
     self.assertDictEqual(
         expected,
         VirgaClient.find_certificate({'domain_name': 'my.any-domain.com'}))
コード例 #4
0
ファイル: test_virgaclient.py プロジェクト: gurdulu/virga
 def test_find_elbv2_call_sequence(self, mock_call):
     mock_call.side_effect = [
         responses.elbv2_describe_load_balancers,
         responses.elbv2_describe_load_balancer_attributes,
         responses.elbv2_describe_listeners,
         responses.elbv2_describe_target_groups,
         responses.elbv2_describe_target_group_attributes,
         responses.elbv2_describe_tags,
     ]
     expected = responses.elbv2_result
     self.assertDictEqual(expected,
                          VirgaClient.find_elbv2({'name': 'my-elbv2'}))
コード例 #5
0
    def client(self, resource_definition: dict, resource_object: dict) -> dict:
        """
        Entry-point for calling a client.

        If the client is virga searches for the custom method.
        If the client is NOT virga searches for the boto3 definition.

        :param resource_definition: Section definition
        :param resource_object: Object filter
        :return: Response from AWS
        """
        if resource_definition['client'] == 'virga':
            client = VirgaClient()
            return getattr(client,
                           resource_definition['action'])(resource_object)
        client = boto3.client(resource_definition['client'])
        formatted_filter = self.format_filter(resource_definition,
                                              resource_object)
        return getattr(client,
                       resource_definition['action'])(**formatted_filter)
コード例 #6
0
ファイル: test_provider.py プロジェクト: gurdulu/virga
 def test_find_certificate_no_certificates_found(self, mock_call):
     mock_call.side_effect = [{}, {}]
     self.assertIsNone(
         VirgaClient.find_certificate({'domain_name': 'any-domain.it'}))
コード例 #7
0
ファイル: test_virgaclient.py プロジェクト: gurdulu/virga
 def test_find_elb_key_error(self, mock_call):
     mock_call.side_effect = KeyError()
     self.assertIsNone(VirgaClient.find_elb({'name': 'my-elb'}))
コード例 #8
0
ファイル: test_virgaclient.py プロジェクト: gurdulu/virga
 def test_find_elbv2_index_error(self, mock_call):
     mock_call.side_effect = IndexError()
     self.assertIsNone(VirgaClient.find_elbv2({'name': 'my-elbv2'}))
コード例 #9
0
ファイル: test_virgaclient.py プロジェクト: gurdulu/virga
 def test_find_certificate_domain_not_found(self, mock_list_certificates):
     mock_list_certificates.return_value = {'CertificateSummaryList': []}
     self.assertIsNone(
         VirgaClient.find_certificate({'domain_name': 'my.any-domain.com'}))