def test_weighted_dns_load_balancer_with_different_domains(monkeypatch, # noqa: F811 boto_client, boto_resource): senza.traffic.DNS_ZONE_CACHE = {} boto_client['route53'].list_hosted_zones.return_value = { 'HostedZones': [HOSTED_ZONE_ZO_NE_DEV, HOSTED_ZONE_ZO_NE_COM], 'IsTruncated': False, 'MaxItems': '100'} configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'great.api.zo.ne.com', 'VersionDomain': 'version.api.zo.ne.dev' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr('senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) m_acm = MagicMock() m_acm_certificate = MagicMock() m_acm_certificate.arn = "foo" m_acm.get_certificates.return_value = iter([m_acm_certificate]) monkeypatch.setattr('senza.components.elastic_load_balancer.ACM', m_acm) result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion')) assert 'zo.ne.com.' == result["Resources"]["test_lbMainDomain"]["Properties"]['HostedZoneName'] assert 'zo.ne.dev.' == result["Resources"]["test_lbVersionDomain"]["Properties"]['HostedZoneName'] configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'this.does.not.exists.com', 'VersionDomain': 'this.does.not.exists.com' } senza.traffic.DNS_ZONE_CACHE = {} with pytest.raises(AttributeError): result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion'))
def test_weighted_dns_load_balancer_with_different_domains(monkeypatch, # noqa: F811 boto_client, boto_resource): senza.traffic.DNS_ZONE_CACHE = {} boto_client['route53'].list_hosted_zones.return_value = { 'HostedZones': [HOSTED_ZONE_ZO_NE_DEV, HOSTED_ZONE_ZO_NE_COM], 'IsTruncated': False, 'MaxItems': '100'} configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'great.api.zo.ne.com', 'VersionDomain': 'version.api.zo.ne.dev' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr('senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) m_acm = MagicMock() m_acm_certificate = MagicMock() m_acm_certificate.arn = "foo" m_acm.get_certificates.return_value = iter([m_acm_certificate]) monkeypatch.setattr('senza.components.elastic_load_balancer.ACM', m_acm) result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion')) assert 'zo.ne.com.' == result["Resources"]["test_lbMainDomain"]["Properties"]['HostedZoneName'] assert 'zo.ne.dev.' == result["Resources"]["test_lbVersionDomain"]["Properties"]['HostedZoneName'] configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'this.does.not.exists.com', 'VersionDomain': 'this.does.not.exists.com' } senza.traffic.DNS_ZONE_CACHE = {} with pytest.raises(AttributeError): result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion'))
def test_weighted_dns_load_balancer(monkeypatch, boto_client, boto_resource): # noqa: F811 senza.traffic.DNS_ZONE_CACHE = {} configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'great.api.zo.ne', 'VersionDomain': 'version.api.zo.ne' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr('senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) m_acm = MagicMock() m_acm_certificate = MagicMock() m_acm_certificate.arn = "foo" m_acm.get_certificates.return_value = iter([m_acm_certificate]) monkeypatch.setattr('senza.components.elastic_load_balancer.ACM', m_acm) result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion')) assert 'MainDomain' not in result["Resources"]["test_lb"]["Properties"]
def test_weighted_dns_load_balancer(monkeypatch): configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'main.domain', 'VersionDomain': 'version.domain' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr( 'senza.components.elastic_load_balancer.find_ssl_certificate_arn', mock_string_result) monkeypatch.setattr( 'senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) result = component_weighted_dns_elastic_load_balancer( definition, configuration, args, info, False, MagicMock()) assert 'MainDomain' not in result["Resources"]["test_lb"]["Properties"]
def test_weighted_dns_load_balancer(monkeypatch, boto_client, boto_resource): # noqa: F811 senza.traffic.DNS_ZONE_CACHE = {} configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'great.api.zo.ne', 'VersionDomain': 'version.api.zo.ne' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr('senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) m_acm = MagicMock() m_acm_certificate = MagicMock() m_acm_certificate.arn = "foo" m_acm.get_certificates.return_value = iter([m_acm_certificate]) monkeypatch.setattr('senza.components.elastic_load_balancer.ACM', m_acm) result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion')) assert 'MainDomain' not in result["Resources"]["test_lb"]["Properties"]
def component_weighted_dns_elastic_load_balancer_v2(definition, configuration, args, info, force, account_info): return component_weighted_dns_elastic_load_balancer( definition, configuration, args, info, force, account_info, lb_component=component_elastic_load_balancer_v2)
def test_weighted_dns_load_balancer(monkeypatch): senza.traffic.DNS_ZONE_CACHE = {} def my_client(rtype, *args): if rtype == 'route53': route53 = MagicMock() route53.list_hosted_zones.return_value = { 'HostedZones': [{ 'Id': '/hostedzone/123456', 'Name': 'domain.', 'ResourceRecordSetCount': 23 }], 'IsTruncated': False, 'MaxItems': '100' } return route53 return MagicMock() monkeypatch.setattr('boto3.client', my_client) configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'main.domain', 'VersionDomain': 'version.domain' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr( 'senza.components.elastic_load_balancer.find_ssl_certificate_arn', mock_string_result) monkeypatch.setattr( 'senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) result = component_weighted_dns_elastic_load_balancer( definition, configuration, args, info, False, AccountArguments('dummyregion')) assert 'MainDomain' not in result["Resources"]["test_lb"]["Properties"]
def test_weighted_dns_load_balancer(monkeypatch, boto_resource): senza.traffic.DNS_ZONE_CACHE = {} def my_client(rtype, *args): if rtype == 'route53': route53 = MagicMock() route53.list_hosted_zones.return_value = {'HostedZones': [HOSTED_ZONE_ZO_NE_COM], 'IsTruncated': False, 'MaxItems': '100'} return route53 return MagicMock() monkeypatch.setattr('boto3.client', my_client) configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'great.api.zo.ne.com', 'VersionDomain': 'version.api.zo.ne.com' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr('senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) m_acm = MagicMock() m_acm_certificate = MagicMock() m_acm_certificate.arn = "foo" m_acm.get_certificates.return_value = iter([m_acm_certificate]) monkeypatch.setattr('senza.components.elastic_load_balancer.ACM', m_acm) result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion')) assert 'MainDomain' not in result["Resources"]["test_lb"]["Properties"]
def test_weighted_dns_load_balancer(monkeypatch): senza.traffic.DNS_ZONE_CACHE = {} def my_client(rtype, *args): if rtype == 'route53': route53 = MagicMock() route53.list_hosted_zones.return_value = {'HostedZones': [{'Id': '/hostedzone/123456', 'Name': 'domain.', 'ResourceRecordSetCount': 23}], 'IsTruncated': False, 'MaxItems': '100'} return route53 return MagicMock() monkeypatch.setattr('boto3.client', my_client) configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'main.domain', 'VersionDomain': 'version.domain' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr('senza.components.elastic_load_balancer.find_ssl_certificate_arn', mock_string_result) monkeypatch.setattr('senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion')) assert 'MainDomain' not in result["Resources"]["test_lb"]["Properties"]
def test_weighted_dns_load_balancer(monkeypatch): configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'main.domain', 'VersionDomain': 'version.domain' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr('senza.components.elastic_load_balancer.find_ssl_certificate_arn', mock_string_result) monkeypatch.setattr('senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, MagicMock()) assert 'MainDomain' not in result["Resources"]["test_lb"]["Properties"]
def test_weighted_dns_load_balancer_with_different_domains(monkeypatch): senza.traffic.DNS_ZONE_CACHE = {} def my_client(rtype, *args): if rtype == 'route53': route53 = MagicMock() route53.list_hosted_zones.return_value = {'HostedZones': [{'Id': '/hostedzone/123456', 'Name': 'zo.ne.dev.', 'ResourceRecordSetCount': 23}, {'Id': '/hostedzone/123457', 'Name': 'zo.ne.com.', 'ResourceRecordSetCount': 23}], 'IsTruncated': False, 'MaxItems': '100'} return route53 return MagicMock() monkeypatch.setattr('boto3.client', my_client) configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'great.api.zo.ne.com', 'VersionDomain': 'version.api.zo.ne.dev' } info = {'StackName': 'foobar', 'StackVersion': '0.1'} definition = {"Resources": {}} args = MagicMock() args.region = "foo" mock_string_result = MagicMock() mock_string_result.return_value = "foo" monkeypatch.setattr('senza.components.elastic_load_balancer.find_ssl_certificate_arn', mock_string_result) monkeypatch.setattr('senza.components.elastic_load_balancer.resolve_security_groups', mock_string_result) result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion')) assert 'zo.ne.com.' == result["Resources"]["test_lbMainDomain"]["Properties"]['HostedZoneName'] assert 'zo.ne.dev.' == result["Resources"]["test_lbVersionDomain"]["Properties"]['HostedZoneName'] configuration = { "Name": "test_lb", "SecurityGroups": "", "HTTPPort": "9999", 'MainDomain': 'this.does.not.exists.com', 'VersionDomain': 'this.does.not.exists.com' } senza.traffic.DNS_ZONE_CACHE = {} try: result = component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, False, AccountArguments('dummyregion')) except ValueError: pass except: assert False, 'raise unknown exception' else: print(result) print(configuration) assert False, 'doesn\'t raise a ValueError exception'
def component_weighted_dns_elastic_load_balancer_v2(definition, configuration, args, info, force, account_info): return component_weighted_dns_elastic_load_balancer(definition, configuration, args, info, force, account_info, lb_component=component_elastic_load_balancer_v2)