@@ -451,6 +451,44 @@ def get_volumes(volumes=None, count=2):
451451
452452 return mock .MagicMock (side_effect = volumes )
453453
454+ @staticmethod
455+ def get_volume_columns (volume = None ):
456+ """Get the volume columns from a faked volume object.
457+
458+ :param volume:
459+ A FakeResource objects faking volume
460+ :return
461+ A tuple which may include the following keys:
462+ ('id', 'name', 'description', 'status', 'size', 'volume_type',
463+ 'metadata', 'snapshot', 'availability_zone', 'attachments')
464+ """
465+ if volume is not None :
466+ return tuple (k for k in sorted (volume .keys ()))
467+ return tuple ([])
468+
469+ @staticmethod
470+ def get_volume_data (volume = None ):
471+ """Get the volume data from a faked volume object.
472+
473+ :param volume:
474+ A FakeResource objects faking volume
475+ :return
476+ A tuple which may include the following values:
477+ ('ce26708d', 'fake_volume', 'fake description', 'available',
478+ 20, 'fake_lvmdriver-1', "Alpha='a', Beta='b', Gamma='g'",
479+ 1, 'nova', [{'device': '/dev/ice', 'server_id': '1233'}])
480+ """
481+ data_list = []
482+ if volume is not None :
483+ for x in sorted (volume .keys ()):
484+ if x == 'tags' :
485+ # The 'tags' should be format_list
486+ data_list .append (
487+ common_utils .format_list (volume .info .get (x )))
488+ else :
489+ data_list .append (volume .info .get (x ))
490+ return tuple (data_list )
491+
454492
455493class FakeAvailabilityZone (object ):
456494 """Fake one or more volume availability zones (AZs)."""
0 commit comments