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)
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)))
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)
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"], }, ]