Пример #1
0
def test_role_is_eligible_for_repo_no_aa_data(mock_stale_aa_services, role_dict):
    r = Role(**role_dict)
    r.aa_data = []
    eligible, reason = r.is_eligible_for_repo()
    mock_stale_aa_services.assert_not_called()
    assert not eligible
    assert reason == "no Access Advisor data available"
Пример #2
0
def test_role_stale_aa_services(role_dict):
    r = Role(**role_dict)
    r.config["repo_requirements"] = {"oldest_aa_data_days": 5}
    recent_dt = datetime.datetime.now() - datetime.timedelta(days=1)
    older_dt = datetime.datetime.now() - datetime.timedelta(days=14)

    r.aa_data = [
        {
            "serviceName": "service1",
            "lastUpdated": recent_dt.isoformat()
        },
        {
            "serviceName": "service2",
            "lastUpdated": recent_dt.isoformat()
        },
        {
            "serviceName": "service3",
            "lastUpdated": older_dt.isoformat()
        },
        {
            "serviceName": "service4",
            "lastUpdated": older_dt.isoformat()
        },
    ]
    stale = r._stale_aa_services()
    assert "service1" not in stale
    assert "service2" not in stale
    assert "service3" in stale
    assert "service4" in stale
Пример #3
0
def test_role_calculate_repo_scores_no_aa_data(
    mock_get_permissions_for_policy_version,
    mock_get_repoable_permissions,
    mock_convert_repoable_perms_to_perms_and_services,
    role_dict,
):
    mock_get_permissions_for_policy_version.return_value = (
        {"service1:action1", "service1:action2", "service2", "service3:action3"},
        {"service1:action2", "service2", "service3:action3"},
    )

    r = Role(**role_dict)
    r.aa_data = []
    r.calculate_repo_scores(0, {})

    mock_get_permissions_for_policy_version.assert_called_once()
    mock_get_repoable_permissions.assert_not_called()
    mock_convert_repoable_perms_to_perms_and_services.assert_not_called()
    assert r.total_permissions == 4
    assert r.repoable_services == []
    assert r.repoable_permissions == 0
Пример #4
0
def test_role_stale_aa_services_no_aa_data(role_dict):
    r = Role(**role_dict)
    r.config["repo_requirements"] = {"oldest_aa_data_days": 5}
    r.aa_data = []
    stale = r._stale_aa_services()
    assert len(stale) == 0