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"
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
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)