def test_targets_health_count(aws_client): client = MagicMock() aws_client.return_value = client tg_names = ['TestTargetGroup1', 'TestTargetGroup2'] client.describe_target_groups.return_value = { "TargetGroups": [{ 'TargetGroupArn': """ arn:aws:elasticloadbalancing:eu-west-1:111111111111:targetgroup/TestTargetGroup1/1234567890abcdef """, 'TargetGroupName': 'TestTargetGroup1' }, { 'TargetGroupArn': """ arn:aws:elasticloadbalancing:eu-west-1:111111111111:targetgroup/TestTargetGroup2/234567890abcdef0 """, 'TargetGroupName': 'TestTargetGroup2' }] } client.describe_target_health.side_effect = [{ 'TargetHealthDescriptions': [{ 'TargetHealth': { 'State': 'healthy' } }] }, { 'TargetHealthDescriptions': [{ 'TargetHealth': { 'State': 'unhealthy' } }] }] response = targets_health_count(tg_names=tg_names) assert {'healthy': 1} in response.values() assert {'unhealthy': 1} in response.values()
def test_targets_health_count(aws_client): client = MagicMock() aws_client.return_value = client tg_names = ["TestTargetGroup1", "TestTargetGroup2"] client.describe_target_groups.return_value = { "TargetGroups": [ { "TargetGroupArn": """ arn:aws:elasticloadbalancing:eu-west-1:111111111111:targetgroup/TestTargetGroup1/1234567890abcdef """, "TargetGroupName": "TestTargetGroup1", }, { "TargetGroupArn": """ arn:aws:elasticloadbalancing:eu-west-1:111111111111:targetgroup/TestTargetGroup2/234567890abcdef0 """, "TargetGroupName": "TestTargetGroup2", }, ] } client.describe_target_health.side_effect = [ { "TargetHealthDescriptions": [{ "TargetHealth": { "State": "healthy" } }] }, { "TargetHealthDescriptions": [{ "TargetHealth": { "State": "unhealthy" } }] }, ] response = targets_health_count(tg_names=tg_names) assert {"healthy": 1} in response.values() assert {"unhealthy": 1} in response.values()
def test_targets_health_count_needs_tg_names(): with pytest.raises(FailedActivity) as x: targets_health_count([]) assert "Non-empty list of target groups is required" in str(x)