~rally-drivers/rally/master

« back to all changes in this revision

Viewing changes to tests/unit/common/db/test_migrations.py

  • Committer: Gerrit Code Review
  • Author(s): Jenkins
  • Date: 2016-12-30 16:14:11 UTC
  • mfrom: (2651.1.1)
  • Revision ID: git-v1:9ec91ef15cac53b9ffaf3bc5bf60449f8584512e
Merge "[Verify] Add DB migration to fix test results for verifications"

Show diffs side-by-side

added added

removed removed

Lines of Context:
1019
1019
                    deployment_table.c.uuid ==
1020
1020
                    self._484cd9413e66_deployment_uuid)
1021
1021
            )
 
1022
 
 
1023
    def _pre_upgrade_37fdbb373e8d(self, engine):
 
1024
            self._37fdbb373e8d_deployment_uuid = "37fdbb373e8d-deployment"
 
1025
            self._37fdbb373e8d_verifier_uuid = "37fdbb373e8d-verifier"
 
1026
            self._37fdbb373e8d_verifications_tests = [
 
1027
                {
 
1028
                    "test_1[smoke, negative]": {
 
1029
                        "name": "test_1",
 
1030
                        "time": 2.32,
 
1031
                        "status": "success",
 
1032
                        "tags": ["smoke", "negative"]
 
1033
                    },
 
1034
                    "test_2[smoke, negative]": {
 
1035
                        "name": "test_2",
 
1036
                        "time": 4.32,
 
1037
                        "status": "success",
 
1038
                        "tags": ["smoke", "negative"]
 
1039
                    }
 
1040
                },
 
1041
                {
 
1042
                    "test_3[smoke, negative]": {
 
1043
                        "name": "test_3",
 
1044
                        "time": 6.32,
 
1045
                        "status": "success",
 
1046
                        "tags": ["smoke", "negative"]
 
1047
                    },
 
1048
                    "test_4[smoke, negative]": {
 
1049
                        "name": "test_4",
 
1050
                        "time": 8.32,
 
1051
                        "status": "success",
 
1052
                        "tags": ["smoke", "negative"]
 
1053
                    }
 
1054
                }
 
1055
            ]
 
1056
 
 
1057
            deployment_table = db_utils.get_table(engine, "deployments")
 
1058
            verifiers_table = db_utils.get_table(engine, "verifiers")
 
1059
            verifications_table = db_utils.get_table(engine, "verifications")
 
1060
 
 
1061
            deployment_status = consts.DeployStatus.DEPLOY_FINISHED
 
1062
            with engine.connect() as conn:
 
1063
                conn.execute(
 
1064
                    deployment_table.insert(),
 
1065
                    [{"uuid": self._37fdbb373e8d_deployment_uuid,
 
1066
                      "name": self._37fdbb373e8d_deployment_uuid,
 
1067
                      "config": six.b(json.dumps([])),
 
1068
                      "enum_deployments_status": deployment_status,
 
1069
                      "credentials": six.b(json.dumps([])),
 
1070
                      "users": six.b(json.dumps([]))
 
1071
                      }])
 
1072
 
 
1073
                conn.execute(
 
1074
                    verifiers_table.insert(),
 
1075
                    [{"uuid": self._37fdbb373e8d_verifier_uuid,
 
1076
                      "name": self._37fdbb373e8d_verifier_uuid,
 
1077
                      "type": "some-type",
 
1078
                      "status": consts.VerifierStatus.CONFIGURED
 
1079
                      }])
 
1080
 
 
1081
                for i in range(len(self._37fdbb373e8d_verifications_tests)):
 
1082
                    tests = self._37fdbb373e8d_verifications_tests[i]
 
1083
                    conn.execute(
 
1084
                        verifications_table.insert(),
 
1085
                        [{"uuid": "verification-uuid-%s" % i,
 
1086
                          "deployment_uuid":
 
1087
                              self._37fdbb373e8d_deployment_uuid,
 
1088
                          "verifier_uuid": self._37fdbb373e8d_verifier_uuid,
 
1089
                          "status": consts.VerificationStatus.FINISHED,
 
1090
                          "tests": json.dumps(tests)
 
1091
                          }])
 
1092
 
 
1093
    def _check_37fdbb373e8d(self, engine, data):
 
1094
        self.assertEqual("37fdbb373e8d",
 
1095
                         api.get_backend().schema_revision(engine=engine))
 
1096
 
 
1097
        verifications_table = db_utils.get_table(engine, "verifications")
 
1098
        with engine.connect() as conn:
 
1099
            verifications = conn.execute(
 
1100
                verifications_table.select()).fetchall()
 
1101
            self.assertEqual(len(verifications),
 
1102
                             len(self._37fdbb373e8d_verifications_tests))
 
1103
 
 
1104
            for i in range(len(verifications)):
 
1105
                v = verifications[i]
 
1106
                updated_tests = json.loads(v.tests)
 
1107
                expected_tests = self._37fdbb373e8d_verifications_tests[i]
 
1108
                for test in expected_tests.values():
 
1109
                    duration = test.pop("time")
 
1110
                    test["duration"] = duration
 
1111
 
 
1112
                self.assertEqual(expected_tests, updated_tests)