def test_node_get_by_short_id(self): node_id1 = 'same-part-unique-part' node_id2 = 'same-part-part-unique' shared.create_node(self.ctx, None, self.profile, id=node_id1, name='node-1') shared.create_node(self.ctx, None, self.profile, id=node_id2, name='node-2') for x in range(len('same-part-')): self.assertRaises(exception.MultipleChoices, db_api.node_get_by_short_id, self.ctx, node_id1[:x]) res = db_api.node_get_by_short_id(self.ctx, node_id1[:11]) self.assertEqual(node_id1, res.id) res = db_api.node_get_by_short_id(self.ctx, node_id2[:11]) self.assertEqual(node_id2, res.id) res = db_api.node_get_by_short_id(self.ctx, 'non-existent') self.assertIsNone(res)
def test_node_get_by_short_id_diff_project(self): node_id = 'same-part-unique-part' shared.create_node(self.ctx, None, self.profile, id=node_id, name='node-1') res = db_api.node_get_by_short_id(self.ctx, node_id[:11]) self.assertIsNotNone(res) ctx_new = utils.dummy_context(project='a_different_project') res = db_api.node_get_by_short_id(ctx_new, node_id[:11]) self.assertIsNone(res) res = db_api.node_get_by_short_id(ctx_new, node_id[:11], project_safe=False) self.assertIsNotNone(res)
def test_node_get_by_short_id_show_deleted(self): node_id = 'this-is-a-unique-id' shared.create_node(self.ctx, None, self.profile, id=node_id) res = db_api.node_get_by_short_id(self.ctx, node_id[:5]) self.assertEqual(node_id, res.id) res = db_api.node_get_by_short_id(self.ctx, node_id[:7]) self.assertEqual(node_id, res.id) db_api.node_delete(self.ctx, node_id) res = db_api.node_get_by_short_id(self.ctx, node_id[:5]) self.assertIsNone(res) res = db_api.node_get_by_short_id(self.ctx, node_id[:5], show_deleted=False) self.assertIsNone(res) res = db_api.node_get_by_short_id(self.ctx, node_id[:5], show_deleted=True) self.assertEqual(node_id, res.id)
def test_node_get_by_short_id_admin_context(self): node_id = 'same-part-unique-part' shared.create_node(self.ctx, None, self.profile, id=node_id, name='node-1') admin_ctx = utils.dummy_context(project='a_different_project', is_admin=True) res = db_api.node_get_by_short_id(admin_ctx, node_id[:11], project_safe=True) self.assertIsNotNone(res)