def test_set_subnet_no_subnets(): alb_names = ['test-loadbalancer-01', 'test-loadbalancer-02'] with pytest.raises(TypeError) as x: set_subnets(alb_names) assert "set_subnets() missing 1 required " \ "positional argument: 'subnet_ids'" in str(x)
def test_set_subnets_invalid_alb_name(aws_client): client = MagicMock() aws_client.return_value = client alb_names = ['test-loadbalancer-01', 'test-loadbalancer-02'] subnet_ids = ['subnet-012345678', 'subnet-abcdefg0'] client.describe_subnets.return_value = { 'Subnets': [{ 'SubnetId': 'subnet-012345678' }, { 'SubnetId': 'subnet-abcdefg0' }] } client.describe_load_balancers.return_value = { 'LoadBalancers': [{ 'LoadBalancerArn': 'arn:aws:elasticloadbalancing:us-east-1:' '000000000000:loadbalancer/app/' 'test-loadbalancer-01/0f158eab895ab000', 'State': { 'Code': 'active' }, 'Type': 'application', 'LoadBalancerName': alb_names[0] }] } with pytest.raises(FailedActivity) as x: set_subnets(alb_names, subnet_ids) assert 'Unable to locate load balancer(s): {}'.format([alb_names[1] ]) in str(x)
def test_set_subnet_no_args(): with pytest.raises(TypeError) as x: set_subnets() assert ( "set_subnets() missing 2 required positional " "arguments: 'load_balancer_names' and 'subnet_ids'" in str(x.value) )
def test_set_subnets_invalid_alb_type(aws_client): client = MagicMock() aws_client.return_value = client alb_names = ["test-loadbalancer-01", "test-loadbalancer-02"] subnet_ids = ["subnet-012345678", "subnet-abcdefg0"] client.describe_subnets.return_value = { "Subnets": [{"SubnetId": "subnet-012345678"}, {"SubnetId": "subnet-abcdefg0"}] } client.describe_load_balancers.return_value = { "LoadBalancers": [ { "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:" "000000000000:loadbalancer/app/" "test-loadbalancer-01/0f158eab895ab000", "State": {"Code": "active"}, "Type": "application", "LoadBalancerName": alb_names[0], }, { "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:" "000000000000:loadbalancer/app/" "test-loadbalancer-02/010aec0000fae123", "State": {"Code": "active"}, "Type": "network", "LoadBalancerName": alb_names[1], }, ] } with pytest.raises(FailedActivity) as x: set_subnets(alb_names, subnet_ids) assert "Cannot change subnets of network load balancers." in str(x.value)
def test_set_subnet_no_subnets(): alb_names = ["test-loadbalancer-01", "test-loadbalancer-02"] with pytest.raises(TypeError) as x: set_subnets(alb_names) assert ( "set_subnets() missing 1 required " "positional argument: 'subnet_ids'" in str(x.value) )
def test_set_subnets(aws_client): client = MagicMock() aws_client.return_value = client alb_names = ['test-loadbalancer-01', 'test-loadbalancer-02'] subnet_ids = ['subnet-012345678', 'subnet-abcdefg0'] client.describe_subnets.return_value = { 'Subnets': [{ 'SubnetId': 'subnet-012345678' }, { 'SubnetId': 'subnet-abcdefg0' }] } client.describe_load_balancers.return_value = { 'LoadBalancers': [{ 'LoadBalancerArn': 'arn:aws:elasticloadbalancing:us-east-1:' '000000000000:loadbalancer/app/' 'test-loadbalancer-01/0f158eab895ab000', 'State': { 'Code': 'active' }, 'Type': 'application', 'LoadBalancerName': alb_names[0] }, { 'LoadBalancerArn': 'arn:aws:elasticloadbalancing:us-east-1:' '000000000000:loadbalancer/app/' 'test-loadbalancer-02/010aec0000fae123', 'State': { 'Code': 'active' }, 'Type': 'application', 'LoadBalancerName': alb_names[1] }] } set_subnets(alb_names, subnet_ids) calls = [ call(LoadBalancerArn='arn:aws:elasticloadbalancing:us-east-1:' '000000000000:loadbalancer/app/' 'test-loadbalancer-01/0f158eab895ab000', Subnets=subnet_ids), call(LoadBalancerArn='arn:aws:elasticloadbalancing:us-east-1:' '000000000000:loadbalancer/app/' 'test-loadbalancer-02/010aec0000fae123', Subnets=subnet_ids) ] client.set_subnets.assert_has_calls(calls, any_order=True)
def test_set_subnets_invalid_subnet(aws_client): client = MagicMock() aws_client.return_value = client alb_names = ["test-loadbalancer-01", "test-loadbalancer-02"] subnet_ids = ["subnet-012345678", "subnet-abcdefg0"] client.describe_subnets.return_value = { "Subnets": [{"SubnetId": "subnet-012345678"}] } with pytest.raises(FailedActivity) as x: set_subnets(alb_names, subnet_ids) assert f"Invalid subnet id(s): {[subnet_ids[1]]}" in str(x.value)
def test_set_subnets_invalid_subnet(aws_client): client = MagicMock() aws_client.return_value = client alb_names = ['test-loadbalancer-01', 'test-loadbalancer-02'] subnet_ids = ['subnet-012345678', 'subnet-abcdefg0'] client.describe_subnets.return_value = { 'Subnets': [{ 'SubnetId': 'subnet-012345678' }] } with pytest.raises(FailedActivity) as x: set_subnets(alb_names, subnet_ids) assert 'Invalid subnet id(s): {}'.format([subnet_ids[1]]) in str(x)
def test_set_subnets(aws_client): client = MagicMock() aws_client.return_value = client alb_names = ["test-loadbalancer-01", "test-loadbalancer-02"] subnet_ids = ["subnet-012345678", "subnet-abcdefg0"] client.describe_subnets.return_value = { "Subnets": [{"SubnetId": "subnet-012345678"}, {"SubnetId": "subnet-abcdefg0"}] } client.describe_load_balancers.return_value = { "LoadBalancers": [ { "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:" "000000000000:loadbalancer/app/" "test-loadbalancer-01/0f158eab895ab000", "State": {"Code": "active"}, "Type": "application", "LoadBalancerName": alb_names[0], }, { "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:" "000000000000:loadbalancer/app/" "test-loadbalancer-02/010aec0000fae123", "State": {"Code": "active"}, "Type": "application", "LoadBalancerName": alb_names[1], }, ] } set_subnets(alb_names, subnet_ids) calls = [ call( LoadBalancerArn="arn:aws:elasticloadbalancing:us-east-1:" "000000000000:loadbalancer/app/" "test-loadbalancer-01/0f158eab895ab000", Subnets=subnet_ids, ), call( LoadBalancerArn="arn:aws:elasticloadbalancing:us-east-1:" "000000000000:loadbalancer/app/" "test-loadbalancer-02/010aec0000fae123", Subnets=subnet_ids, ), ] client.set_subnets.assert_has_calls(calls, any_order=True)
def test_set_subnets_invalid_alb_type(aws_client): client = MagicMock() aws_client.return_value = client alb_names = ['test-loadbalancer-01', 'test-loadbalancer-02'] subnet_ids = ['subnet-012345678', 'subnet-abcdefg0'] client.describe_subnets.return_value = { 'Subnets': [{ 'SubnetId': 'subnet-012345678' }, { 'SubnetId': 'subnet-abcdefg0' }] } client.describe_load_balancers.return_value = { 'LoadBalancers': [{ 'LoadBalancerArn': 'arn:aws:elasticloadbalancing:us-east-1:' '000000000000:loadbalancer/app/' 'test-loadbalancer-01/0f158eab895ab000', 'State': { 'Code': 'active' }, 'Type': 'application', 'LoadBalancerName': alb_names[0] }, { 'LoadBalancerArn': 'arn:aws:elasticloadbalancing:us-east-1:' '000000000000:loadbalancer/app/' 'test-loadbalancer-02/010aec0000fae123', 'State': { 'Code': 'active' }, 'Type': 'network', 'LoadBalancerName': alb_names[1] }] } with pytest.raises(FailedActivity) as x: set_subnets(alb_names, subnet_ids) assert 'Cannot change subnets of network load balancers.' in str(x.value)