示例#1
0
    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))
示例#2
0
    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))
示例#3
0
    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))
示例#4
0
    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))
示例#5
0
    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
示例#6
0
    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
示例#7
0
    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))