def test_platform_set_data(self): platforms = db.platforms_list(self.env1["uuid"]) uuid = platforms[0]["uuid"] self.assertTrue(db.platform_set_data(uuid)) self.assertTrue( db.platform_set_data(uuid, platform_data={"platform": "data"})) in_db = db.platform_get(uuid) self.assertEqual({"platform": "data"}, in_db["platform_data"]) self.assertEqual({}, in_db["plugin_data"]) self.assertTrue( db.platform_set_data(uuid, plugin_data={"plugin": "data"})) in_db = db.platform_get(uuid) self.assertEqual({"platform": "data"}, in_db["platform_data"]) self.assertEqual({"plugin": "data"}, in_db["plugin_data"]) self.assertTrue( db.platform_set_data(uuid, platform_data={"platform": "data2"})) in_db = db.platform_get(uuid) self.assertEqual({"platform": "data2"}, in_db["platform_data"]) self.assertEqual({"plugin": "data"}, in_db["plugin_data"]) self.assertFalse(db.platform_set_data( "non_existing", platform_data={})) in_db = db.platform_get(uuid) # just check that nothing changed after wrong uuid passed self.assertEqual({"platform": "data2"}, in_db["platform_data"])
def test_platform_set_data(self): platforms = db.platforms_list(self.env1["uuid"]) uuid = platforms[0]["uuid"] self.assertTrue(db.platform_set_data(uuid)) self.assertTrue( db.platform_set_data(uuid, platform_data={"platform": "data"})) in_db = db.platform_get(uuid) self.assertEqual({"platform": "data"}, in_db["platform_data"]) self.assertEqual({}, in_db["plugin_data"]) self.assertTrue( db.platform_set_data(uuid, plugin_data={"plugin": "data"})) in_db = db.platform_get(uuid) self.assertEqual({"platform": "data"}, in_db["platform_data"]) self.assertEqual({"plugin": "data"}, in_db["plugin_data"]) self.assertTrue( db.platform_set_data(uuid, platform_data={"platform": "data2"})) in_db = db.platform_get(uuid) self.assertEqual({"platform": "data2"}, in_db["platform_data"]) self.assertEqual({"plugin": "data"}, in_db["plugin_data"]) self.assertFalse(db.platform_set_data("non_existing", platform_data={})) in_db = db.platform_get(uuid) # just check that nothing changed after wrong uuid passed self.assertEqual({"platform": "data2"}, in_db["platform_data"])
def teet_env_create_with_platforms(self): platforms = [{ "status": "ANY", "plugin_name": "plugin_%s@plugin" % i, "plugin_spec": {}, "platform_name": "plugin" } for i in range(3)] env = db.env_create("name", "status", "descr", {}, {}, {}, platforms) db_platforms = db.platforms_list(env["uuid"]) self.assertEqual(3, len(db_platforms))
def test_env_delete_cascade(self): platforms = [{ "status": "ANY", "plugin_name": "plugin_%s@plugin" % i, "plugin_spec": {}, "platform_name": "plugin" } for i in range(3)] env = db.env_create("name", "status", "descr", {}, {}, {}, platforms) db.env_delete_cascade(env["uuid"]) self.assertEqual(0, len(db.env_list())) self.assertEqual(0, len(db.platforms_list(env["uuid"])))
def teet_env_create_with_platforms(self): platforms = [ { "status": "ANY", "plugin_name": "plugin_%s@plugin" % i, "plugin_spec": {}, "platform_name": "plugin" } for i in range(3) ] env = db.env_create("name", "status", "descr", {}, {}, {}, platforms) db_platforms = db.platforms_list(env["uuid"]) self.assertEqual(3, len(db_platforms))
def data(self): """Returns full information about env including platforms.""" self._env = db.env_get(self.uuid) return { "id": self._env["id"], "uuid": self._env["uuid"], "created_at": self._env["created_at"], "updated_at": self._env["updated_at"], "name": self._env["name"], "description": self._env["description"], "status": self._env["status"], "spec": copy.deepcopy(self._env["spec"]), "extras": copy.deepcopy(self._env["extras"]), "platforms": db.platforms_list(self.uuid) }
def test_env_delete_cascade(self): platforms = [ { "status": "ANY", "plugin_name": "plugin_%s@plugin" % i, "plugin_spec": {}, "platform_name": "plugin" } for i in range(3) ] env = db.env_create("name", "status", "descr", {}, {}, {}, platforms) db.env_delete_cascade(env["uuid"]) self.assertEqual(0, len(db.env_list())) self.assertEqual(0, len(db.platforms_list(env["uuid"])))
def test_platform_set_status(self): platforms = db.platforms_list(self.env1["uuid"]) self.assertRaises(exceptions.DBConflict, db.platform_set_status, platforms[0]["uuid"], "OTHER", "NEW_STATUS") self.assertEqual("ANY", db.platform_get(platforms[0]["uuid"])["status"]) self.assertTrue( db.platform_set_status(platforms[0]["uuid"], "ANY", "NEW_STATUS")) self.assertEqual("NEW_STATUS", db.platform_get(platforms[0]["uuid"])["status"]) self.assertEqual("ANY", db.platform_get(platforms[1]["uuid"])["status"])
def test_platform_set_status(self): platforms = db.platforms_list(self.env1["uuid"]) self.assertRaises( exceptions.DBConflict, db.platform_set_status, platforms[0]["uuid"], "OTHER", "NEW_STATUS") self.assertEqual("ANY", db.platform_get(platforms[0]["uuid"])["status"]) self.assertTrue(db.platform_set_status( platforms[0]["uuid"], "ANY", "NEW_STATUS")) self.assertEqual("NEW_STATUS", db.platform_get(platforms[0]["uuid"])["status"]) self.assertEqual("ANY", db.platform_get(platforms[1]["uuid"])["status"])
def _get_platforms(self): """Iterate over Envs platforms. :returns: Generator that returns list of tuples (uuid, instance of rally.env.platform.Platform) """ raw_platforms = db.platforms_list(self.uuid) platforms = [] for p in raw_platforms: plugin_cls = platform.Platform.get(p["plugin_name"]) platforms.append( plugin_cls(p["plugin_spec"], uuid=p["uuid"], plugin_data=p["plugin_data"], platform_data=p["platform_data"], status=p["status"])) return platforms
def _get_platforms(self): """Iterate over Envs platforms. :returns: Generator that returns list of tuples (uuid, instance of rally.env.platform.Platform) """ raw_platforms = db.platforms_list(self.uuid) platforms = [] for p in raw_platforms: plugin_cls = platform.Platform.get(p["plugin_name"]) platforms.append( plugin_cls( p["plugin_spec"], uuid=p["uuid"], plugin_data=p["plugin_data"], platform_data=p["platform_data"], status=p["status"] ) ) return platforms
def data(self): """Returns full information about env including platforms.""" self._env = db.env_get(self.uuid) self._env["platforms"] = db.platforms_list(self.uuid) return self.cached_data
def test_platform_get(self): for p in db.platforms_list(self.env1["uuid"]): self.assertEqual(p, db.platform_get(p["uuid"]))
def test_platforms_list(self): self.assertEqual(0, len(db.platforms_list("non_existing"))) self.assertEqual(2, len(db.platforms_list(self.env1["uuid"]))) self.assertEqual(3, len(db.platforms_list(self.env2["uuid"])))