def test_snapshot_metadata_get(self): metadata = {'a': 'b', 'c': 'd'} db.volume_create(self.ctxt, {'id': 1}) db.snapshot_create(self.ctxt, {'id': 1, 'volume_id': 1, 'metadata': metadata}) self.assertEquals(metadata, db.snapshot_metadata_get(self.ctxt, 1))
def test_snapshot_metadata_delete(self): metadata = {"a": "1", "c": "2"} should_be = {"a": "1"} db.volume_create(self.ctxt, {"id": 1}) db.snapshot_create(self.ctxt, {"id": 1, "volume_id": 1, "metadata": metadata}) db.snapshot_metadata_delete(self.ctxt, 1, "c") self.assertEqual(should_be, db.snapshot_metadata_get(self.ctxt, 1))
def test_snapshot_metadata_delete(self): metadata = {'a': '1', 'c': '2'} should_be = {'a': '1'} db.volume_create(self.ctxt, {'id': 1}) db.snapshot_create(self.ctxt, {'id': 1, 'volume_id': 1, 'metadata': metadata}) db.snapshot_metadata_delete(self.ctxt, 1, 'c') self.assertEquals(should_be, db.snapshot_metadata_get(self.ctxt, 1))
def test_snapshot_metadata_update_delete(self): metadata1 = {'a': '1', 'c': '2'} metadata2 = {'a': '3', 'd': '5'} should_be = metadata2 db.volume_create(self.ctxt, {'id': 1}) db.snapshot_create(self.ctxt, {'id': 1, 'volume_id': 1, 'metadata': metadata1}) db.snapshot_metadata_update(self.ctxt, 1, metadata2, True) self.assertEquals(should_be, db.snapshot_metadata_get(self.ctxt, 1))
def _from_db_object(context, snapshot, db_snapshot, expected_attrs=None): if expected_attrs is None: expected_attrs = [] for name, field in snapshot.fields.items(): if name in OPTIONAL_FIELDS: continue value = db_snapshot.get(name) if isinstance(field, fields.IntegerField): value = value if value is not None else 0 snapshot[name] = value if "volume" in expected_attrs: volume = objects.Volume(context) volume._from_db_object(context, volume, db_snapshot["volume"]) snapshot.volume = volume if "metadata" in expected_attrs: snapshot.metadata = db.snapshot_metadata_get(context, db_snapshot["id"]) snapshot._context = context snapshot.obj_reset_changes() return snapshot
def _from_db_object(context, snapshot, db_snapshot, expected_attrs=None): if expected_attrs is None: expected_attrs = [] for name, field in snapshot.fields.items(): if name in OPTIONAL_FIELDS: continue value = db_snapshot.get(name) if isinstance(field, fields.IntegerField): value = value if value is not None else 0 snapshot[name] = value if 'volume' in expected_attrs: volume = objects.Volume(context) volume._from_db_object(context, volume, db_snapshot['volume']) snapshot.volume = volume if 'metadata' in expected_attrs: snapshot.metadata = db.snapshot_metadata_get( context, db_snapshot['id']) snapshot._context = context snapshot.obj_reset_changes() return snapshot
def test_snapshot_metadata_get(self): metadata = {"a": "b", "c": "d"} db.volume_create(self.ctxt, {"id": 1}) db.snapshot_create(self.ctxt, {"id": 1, "volume_id": 1, "metadata": metadata}) self.assertEqual(metadata, db.snapshot_metadata_get(self.ctxt, 1))