Пример #1
0
def test_downgrade_spinnaker():
    """Test without any metadata name set -- should default to the account name"""
    from swag_client.migrations.versions.v2 import downgrade
    account_spinnaker = {
        "email":
        "*****@*****.**",
        "services": [{
            "metadata": {},
            "status": [{
                "region": "all",
                "notes": [],
                "enabled": True
            }],
            "name":
            "spinnaker"
        }],
        "type":
        "service",
        "aliases": [],
        "description":
        "Spinnaker Test for Downgrade",
        "schemaVersion":
        "2",
        "id":
        "098765432110",
        "name":
        "testspinnaker",
        "owner":
        "netflix",
        "contacts": ["*****@*****.**"],
        "status": [{
            "status": "created",
            "region": "all",
            "notes": []
        }],
        "sensitive":
        False,
        "provider":
        "aws",
        "tags": [],
        "environment":
        "test",
        "account_status":
        "ready"
    }

    v1 = downgrade(account_spinnaker)
    assert v1["services"]["spinnaker"]["name"] == "testspinnaker"

    # With the name set:
    account_spinnaker["services"][0]["metadata"]["name"] = "lolaccountname"
    v1 = downgrade(account_spinnaker)
    assert v1["services"]["spinnaker"]["name"] == "lolaccountname"
Пример #2
0
def run_migration(data, version_start, version_end):
    """Runs migration against a data set."""
    items = []
    if version_start == 1 and version_end == 2:
        for item in data['accounts']:
            items.append(v2.upgrade(item))

    if version_start == 2 and version_end == 1:
        for item in data:
            items.append(v2.downgrade(item))
        items = {'accounts': items}
    return items
Пример #3
0
def test_upgrade_1_to_2():
    from swag_client.migrations.versions.v2 import upgrade, downgrade

    a = {
        "bastion": "testaccount.net",
        "metadata": {
            "s3_name": "testaccounts3",
            "cloudtrail_index": "cloudtrail_testaccount[yyyymm]",
            "cloudtrail_kibana_url":
            "http://testaccount.cloudtrail.dashboard.net",
            "email": "*****@*****.**",
            "account_number": "012345678910"
        },
        "schema_version": 1,
        "owners": ["*****@*****.**"],
        "ours": True,
        "description": "LOL, Test account",
        "cmc_required": False,
        "tags": ["testing", "test"],
        "netflix": True,
        "id": "aws-012345678910",
        "name": "testaccount",
        "type": "aws",
        "alias": [
            "test",
        ],
        "services": {
            "rolliepollie": {
                "enabled": True
            },
            "awwwdit": {
                "enabled": True
            }
        },
        "account_status": "ready"
    }

    v2 = upgrade(a)

    v1 = downgrade(v2)
    assert not DeepDiff(v1, a, ignore_order=True)