コード例 #1
0
    def setUp(self):
        super().setUp()

        self.awsapi = testslide.StrictMock(aws_api.AWSApi)
        self.mock_constructor(aws_api, "AWSApi").to_return_value(self.awsapi)

        self.build_desired_state_vpc = self.mock_callable(
            integ, "build_desired_state_vpc"
        )
        self.build_desired_state_all_clusters = self.mock_callable(
            integ, "build_desired_state_all_clusters"
        )
        self.build_desired_state_vpc_mesh = self.mock_callable(
            integ, "build_desired_state_vpc_mesh"
        )
        self.terraform = testslide.StrictMock(terraform.TerraformClient)
        self.terrascript = testslide.StrictMock(terrascript.TerrascriptClient)
        self.mock_constructor(terraform, "TerraformClient").to_return_value(
            self.terraform
        )
        self.mock_constructor(terrascript, "TerrascriptClient").to_return_value(
            self.terrascript
        )
        self.ocmmap = testslide.StrictMock(ocm.OCMMap)
        self.mock_constructor(ocm, "OCMMap").to_return_value(self.ocmmap)
        self.mock_callable(queries, "get_aws_accounts").to_return_value(
            [{"name": "desired_requester_account"}]
        )
        self.clusters = (
            self.mock_callable(queries, "get_clusters")
            .to_return_value(
                [{"name": "aname", "ocm": "aocm", "peering": {"apeering"}}]
            )
            .and_assert_called_once()
        )
        self.settings = (
            self.mock_callable(queries, "get_app_interface_settings")
            .to_return_value({})
            .and_assert_called_once()
        )

        self.mock_callable(self.terrascript, "populate_vpc_peerings").to_return_value(
            None
        ).and_assert_called_once()
        self.mock_callable(self.terrascript, "dump").to_return_value(
            {"some_account": "/some/dir"}
        ).and_assert_called_once()
        # Sigh...
        self.exit = self.mock_callable(sys, "exit").to_raise(OSError("Exit called!"))
        self.addCleanup(testslide.mock_callable.unpatch_all_callable_mocks)
コード例 #2
0
 def test_has_mock_constructor(self):
     dict_reader = testslide.StrictMock(csv.DictReader)
     path = "/meh"
     self.mock_constructor(csv, "DictReader").for_call(path).to_return_value(
         dict_reader
     )
     self.assertTrue(id(dict_reader), id(csv.DictReader(path)))
コード例 #3
0
    def setUp(self) -> None:
        super().setUp()
        self.resource_inventory = cast(
            resource.ResourceInventory,
            testslide.StrictMock(resource.ResourceInventory))

        self.oc_map = cast(oc.OC_Map, testslide.StrictMock(oc.OC_Map))
        self.mock_constructor(oc, "OC_Map").to_return_value(self.oc_map)
        self.namespaces = [fxt.get_anymarkup("valid-ns.yml")]

        self.mock_callable(self.resource_inventory,
                           "initialize_resource_type").for_call(
                               "cs1", "ns1", "Template").to_return_value(None)

        self.mock_callable(self.oc_map,
                           "get").for_call("cs1",
                                           False).to_return_value("stuff")
        self.addCleanup(testslide.mock_callable.unpatch_all_callable_mocks)
コード例 #4
0
 def test_has_mock_constructor(self):
     logger = testslide.StrictMock(logging.Logger)
     self.mock_constructor(
         logging, "Logger").for_call(level=0).to_return_value(logger)
     self.assertTrue(id(logger), id(logging.Logger(level=0)))
    def setUp(self):
        super().setUp()
        self.peer = {
            'vpc': '172.17.0.0/12',
            'service': '10.1.0.0/8',
            'pod': '192.168.1.0/16',
        }
        self.aws_account = {
            'name': 'accountname',
            'uid': 'anuid',
            'terraformUsername': '******',
            'automationtoken': 'anautomationtoken',
            'assume_role': 'arole:very:useful:indeed:it:is',
            'assume_region': 'moon-tranquility-1',
            'assume_cidr': '172.25.0.0/12',
        }

        self.cluster = {
            'name': 'clustername',
            'spec': {
                'region': 'mars-plain-1',
            },
            'network': {
                'vpc': '172.16.0.0/12',
                'service': '10.0.0.0/8',
                'pod': '192.168.0.0/16',
            },
            'peering': {
                'connections': [
                    {
                        'provider': 'account-vpc',
                        'name': 'peername',
                        'vpc': {
                            '$ref': '/aws/account/vpcs/mars-plain-1',
                            'cidr_block': '172.30.0.0/12',
                            'vpc_id': 'avpcid',
                            **self.peer,
                            'region': 'mars-olympus-2',
                            'account': self.aws_account,
                        },
                        'manageRoutes': True,
                    },
                ]
            }
        }

        self.peer_cluster = {
                'name': 'apeerclustername',
                'spec': {
                    'region': 'mars-olympus-2',
                },
                'network': self.peer,
                'peering': {
                    'connections': [
                        {
                            'provider': 'account-vpc',
                            'name': 'peername',
                            'vpc': {
                                '$ref': '/aws/account/vpcs/mars-plain-1'
                            },
                            'manageRoutes': True,
                        },
                    ]
                }
            }
        self.cluster['peering']['connections'][0]['cluster'] = \
            self.peer_cluster
        self.build_single_cluster = self.mock_callable(
            sut, 'build_desired_state_single_cluster'
        )
        self.ocm = testslide.StrictMock(template=ocm.OCM)
        self.awsapi = testslide.StrictMock(aws_api.AWSApi)
        self.mock_constructor(
            aws_api, 'AWSApi'
        ).to_return_value(self.awsapi)
        self.ocm.get_aws_infrastructure_access_terraform_assume_role = \
            lambda cluster, uid, tfuser: self.aws_account['assume_role']
        self.addCleanup(testslide.mock_callable.unpatch_all_callable_mocks)
        self.maxDiff = None
    def setUp(self):
        super().setUp()
        self.clusters = [
            {
                'name': 'clustername',
                'spec': {
                    'region': 'mars-plain-1',
                },
                'network': {
                    'vpc': '172.16.0.0/12',
                    'service': '10.0.0.0/8',
                    'pod': '192.168.0.0/16',
                },
                'peering': {
                    'connections': [
                        {
                            'provider': 'cluster-vpc-requester',
                            'name': 'peername',
                            'vpc': {
                                '$ref': '/aws/account/vpcs/mars-plain-1'
                            },
                            'manageRoutes': True,
                        },
                    ]
                }
            }
        ]
        self.ocm = testslide.StrictMock(ocm.OCM)
        self.ocm_map = testslide.StrictMock(ocm.OCMMap)
        self.ocm_map.get = lambda clustername: self.ocm
        self.awsapi = testslide.StrictMock(aws_api.AWSApi)
        self.aws_account = {
            'name': 'accountname',
            'uid': 'anuid',
            'terraformUserName': '******',
            'automationtoken': 'anautomationtoken',
            'assume_role': 'arole:very:useful:indeed:it:is',
            'assume_region': 'moon-tranquility-1',
            'assume_cidr': '172.25.0.0/12',
        }

        self.peer = {
            'vpc': '172.17.0.0/12',
            'service': '10.1.0.0/8',
            'pod': '192.168.1.0/16',
        }
        self.peer_cluster = {
                'name': 'apeerclustername',
                'spec': {
                    'region': 'mars-olympus-2',
                },
                'network': self.peer,
                'peering': {
                    'connections': [
                        {
                            'provider': 'cluster-vpc-requester',
                            'name': 'peername',
                            'vpc': {
                                '$ref': '/aws/account/vpcs/mars-plain-1'
                            },
                            'manageRoutes': True,
                        },
                    ]
                }
            }
        self.clusters[0]['peering']['connections'][0]['cluster'] = \
            self.peer_cluster
        self.build_single_cluster = self.mock_callable(
            sut, 'build_desired_state_single_cluster'
        )
        self.addCleanup(testslide.mock_callable.unpatch_all_callable_mocks)
 def setUp(self):
     super().setUp()
     self.cluster = {
         'name': 'clustername',
         'spec': {
             'region': 'mars-plain-1',
         },
         'network': {
             'vpc': '172.16.0.0/12',
             'service': '10.0.0.0/8',
             'pod': '192.168.0.0/16',
         },
         'peering': {
             'connections': [
                 {
                     'provider': 'account-vpc-mesh',
                     'name': 'peername',
                     'vpc': {
                         '$ref': '/aws/account/vpcs/mars-plain-1'
                     },
                     'manageRoutes': True,
                     'tags': '["tag1"]',
                 },
             ]
         }
     }
     self.peer = {
         'vpc': '172.17.0.0/12',
         'service': '10.1.0.0/8',
         'pod': '192.168.1.0/16',
     }
     self.peer_cluster = {
         'name': 'apeerclustername',
         'spec': {
             'region': 'mars-olympus-2',
         },
         'network': self.peer,
         'peering': {
             'connections': [
                 {
                     'provider': 'cluster-vpc-requester',
                     'name': 'peername',
                     'vpc': {
                         '$ref': '/aws/account/vpcs/mars-plain-1'
                     },
                     'manageRoutes': True,
                     'tags': '["tag1"]',
                 },
             ]
         }
     }
     self.awsapi = testslide.StrictMock(aws_api.AWSApi)
     self.mock_constructor(
         aws_api, 'AWSApi'
     ).to_return_value(self.awsapi)
     self.find_matching_peering = self.mock_callable(
         sut, 'find_matching_peering'
     )
     self.aws_account = {
         'name': 'accountname',
         'uid': 'anuid',
         'terraformUsername': '******',
         'automationtoken': 'anautomationtoken',
         'assume_role': 'arole:very:useful:indeed:it:is',
         'assume_region': 'moon-tranquility-1',
         'assume_cidr': '172.25.0.0/12',
     }
     self.peer_account = {
         'name': 'peer_account',
         'uid': 'peeruid',
         'terraformUsername': '******',
         'automationtoken': 'peeranautomationtoken',
         'assume_role': 'a:peer:role:indeed:it:is',
         'assume_region': 'mars-hellas-1',
         'assume_cidr': '172.25.0.0/12',
     }
     self.cluster['peering']['connections'][0]['cluster'] = \
         self.peer_cluster
     self.cluster['peering']['connections'][0]['account'] = \
         self.peer_account
     self.peer_vpc = {
         'cidr_block': '172.30.0.0/12',
         'vpc_id': 'peervpcid',
         'route_table_ids': ['peer_route_table_id']
     }
     self.maxDiff = None
     self.addCleanup(testslide.mock_callable.unpatch_all_callable_mocks)
     self.ocm = testslide.StrictMock(template=ocm.OCM)
     self.ocm.get_aws_infrastructure_access_terraform_assume_role = \
         lambda cluster, uid, tfuser: self.peer_account['assume_role']
     self.account_vpcs = [
         {
             'vpc_id': 'vpc1',
             'region': 'moon-dark-1',
             'cidr_block': '192.168.3.0/24',
             'route_table_ids': ['vpc1_route_table'],
         },
         {
             'vpc_id': 'vpc2',
             'region': 'mars-utopia-2',
             'cidr_block': '192.168.4.0/24',
             'route_table_ids': ['vpc2_route_table'],
         }
     ]
    def setUp(self):
        super().setUp()
        self.peer = {
            "vpc": "172.17.0.0/12",
            "service": "10.1.0.0/8",
            "pod": "192.168.1.0/16",
        }
        self.aws_account = {
            "name": "accountname",
            "uid": "anuid",
            "terraformUsername": "******",
            "automationtoken": "anautomationtoken",
            "assume_role": "arole:very:useful:indeed:it:is",
            "assume_region": "moon-tranquility-1",
            "assume_cidr": "172.25.0.0/12",
        }

        self.cluster = {
            "name": "clustername",
            "spec": {
                "region": "mars-plain-1",
            },
            "network": {
                "vpc": "172.16.0.0/12",
                "service": "10.0.0.0/8",
                "pod": "192.168.0.0/16",
            },
            "peering": {
                "connections": [
                    {
                        "provider": "account-vpc",
                        "name": "peername",
                        "vpc": {
                            "$ref": "/aws/account/vpcs/mars-plain-1",
                            "cidr_block": "172.30.0.0/12",
                            "vpc_id": "avpcid",
                            **self.peer,
                            "region": "mars-olympus-2",
                            "account": self.aws_account,
                        },
                        "manageRoutes": True,
                    },
                ]
            },
        }

        self.peer_cluster = {
            "name": "apeerclustername",
            "spec": {
                "region": "mars-olympus-2",
            },
            "network": self.peer,
            "peering": {
                "connections": [
                    {
                        "provider": "account-vpc",
                        "name": "peername",
                        "vpc": {"$ref": "/aws/account/vpcs/mars-plain-1"},
                        "manageRoutes": True,
                    },
                ]
            },
        }
        self.cluster["peering"]["connections"][0]["cluster"] = self.peer_cluster
        self.build_single_cluster = self.mock_callable(
            sut, "build_desired_state_single_cluster"
        )
        self.ocm = testslide.StrictMock(template=ocm.OCM)
        self.awsapi = testslide.StrictMock(aws_api.AWSApi)
        self.mock_constructor(aws_api, "AWSApi").to_return_value(self.awsapi)
        self.ocm.get_aws_infrastructure_access_terraform_assume_role = (
            lambda cluster, uid, tfuser: self.aws_account["assume_role"]
        )
        self.addCleanup(testslide.mock_callable.unpatch_all_callable_mocks)
        self.maxDiff = None
 def setUp(self):
     super().setUp()
     self.cluster = {
         "name": "clustername",
         "spec": {
             "region": "mars-plain-1",
         },
         "network": {
             "vpc": "172.16.0.0/12",
             "service": "10.0.0.0/8",
             "pod": "192.168.0.0/16",
         },
         "peering": {
             "connections": [
                 {
                     "provider": "account-vpc-mesh",
                     "name": "peername",
                     "vpc": {"$ref": "/aws/account/vpcs/mars-plain-1"},
                     "manageRoutes": True,
                     "tags": '["tag1"]',
                 },
             ]
         },
     }
     self.peer = {
         "vpc": "172.17.0.0/12",
         "service": "10.1.0.0/8",
         "pod": "192.168.1.0/16",
     }
     self.peer_cluster = {
         "name": "apeerclustername",
         "spec": {
             "region": "mars-olympus-2",
         },
         "network": self.peer,
         "peering": {
             "connections": [
                 {
                     "provider": "cluster-vpc-requester",
                     "name": "peername",
                     "vpc": {"$ref": "/aws/account/vpcs/mars-plain-1"},
                     "manageRoutes": True,
                     "tags": '["tag1"]',
                 },
             ]
         },
     }
     self.awsapi = testslide.StrictMock(aws_api.AWSApi)
     self.mock_constructor(aws_api, "AWSApi").to_return_value(self.awsapi)
     self.find_matching_peering = self.mock_callable(sut, "find_matching_peering")
     self.aws_account = {
         "name": "accountname",
         "uid": "anuid",
         "terraformUsername": "******",
         "automationtoken": "anautomationtoken",
         "assume_role": "arole:very:useful:indeed:it:is",
         "assume_region": "moon-tranquility-1",
         "assume_cidr": "172.25.0.0/12",
     }
     self.peer_account = {
         "name": "peer_account",
         "uid": "peeruid",
         "terraformUsername": "******",
         "automationtoken": "peeranautomationtoken",
         "assume_role": "a:peer:role:indeed:it:is",
         "assume_region": "mars-hellas-1",
         "assume_cidr": "172.25.0.0/12",
     }
     self.cluster["peering"]["connections"][0]["cluster"] = self.peer_cluster
     self.cluster["peering"]["connections"][0]["account"] = self.peer_account
     self.peer_vpc = {
         "cidr_block": "172.30.0.0/12",
         "vpc_id": "peervpcid",
         "route_table_ids": ["peer_route_table_id"],
     }
     self.maxDiff = None
     self.addCleanup(testslide.mock_callable.unpatch_all_callable_mocks)
     self.ocm = testslide.StrictMock(template=ocm.OCM)
     self.ocm.get_aws_infrastructure_access_terraform_assume_role = (
         lambda cluster, uid, tfuser: self.peer_account["assume_role"]
     )
     self.account_vpcs = [
         {
             "vpc_id": "vpc1",
             "region": "moon-dark-1",
             "cidr_block": "192.168.3.0/24",
             "route_table_ids": ["vpc1_route_table"],
         },
         {
             "vpc_id": "vpc2",
             "region": "mars-utopia-2",
             "cidr_block": "192.168.4.0/24",
             "route_table_ids": ["vpc2_route_table"],
         },
     ]