def test_create_volume_succeeds(self, a_exit, a_enter, array_type):
        a_enter.return_value = self.mediator
        context = utils.FakeContext()

        self.mediator.create_volume = Mock()
        self.mediator.create_volume.return_value = utils.get_mock_mediator_response_volume(10, "vol", "wwn", "xiv")
        array_type.return_value = "a9k"
        res = self.servicer.CreateVolume(self.request, context)
        self.assertEqual(context.code, grpc.StatusCode.OK)
        self.mediator.get_volume.assert_called_once_with(vol_name)
        self.mediator.create_volume.assert_called_once_with(vol_name, 10, {}, 'pool1')
    def test_create_volume_with_zero_size(self, a_exit, a_enter, array_type):
        a_enter.return_value = self.mediator
        context = utils.FakeContext()

        self.request.capacity_range.required_bytes = 0
        self.mediator.create_volume = Mock()
        self.mediator.create_volume.return_value = utils.get_mock_mediator_response_volume(10, "vol", "wwn", "xiv")
        array_type.return_value = "a9k"
        res = self.servicer.CreateVolume(self.request, context)
        self.assertEqual(context.code, grpc.StatusCode.OK)
        self.mediator.create_volume.assert_called_once_with(self.request.name, 1 * 1024 * 1024 * 1024, {}, "pool1")
    def test_create_volume_cuts_name_if_its_too_long(self, a_exit, a_enter, array_type):
        a_enter.return_value = self.mediator
        context = utils.FakeContext()

        self.request.name = "a" * 128
        self.mediator.create_volume = Mock()
        self.mediator.create_volume.return_value = utils.get_mock_mediator_response_volume(10, "vol", "wwn", "xiv")
        array_type.return_value = "a9k"
        res = self.servicer.CreateVolume(self.request, context)
        self.assertEqual(context.code, grpc.StatusCode.OK)
        self.mediator.get_volume.assert_called_once_with("a" * self.mediator.max_vol_name_length)
    def test_create_volume_with_name_prefix(self, a_exit, a_enter, array_type):
        a_enter.return_value = self.mediator
        context = utils.FakeContext()

        self.request.name = "some_name"
        self.request.parameters[PARAMETERS_PREFIX] = "prefix"
        self.mediator.create_volume = Mock()
        self.mediator.create_volume.return_value = utils.get_mock_mediator_response_volume(10, "vol", "wwn", "xiv")
        array_type.return_value = "a9k"
        res = self.servicer.CreateVolume(self.request, context)
        self.assertEqual(context.code, grpc.StatusCode.OK)
        self.mediator.create_volume.assert_called_once_with("prefix_some_name", 10, {}, "pool1")
示例#5
0
    def _test_validate_parameters_match_volume(self,
                                               volume_field,
                                               volume_value,
                                               parameter_field,
                                               parameter_value,
                                               default_space_efficiency=None):
        volume = test_utils.get_mock_mediator_response_volume(
            10, "vol", "wwn2", "a9k")
        setattr(volume, volume_field, volume_value)
        volume.default_space_efficiency = default_space_efficiency
        if parameter_field:
            parameters = {parameter_field: parameter_value}
        else:
            parameters = {}

        utils.validate_parameters_match_volume(parameters, volume)
示例#6
0
 def setUp(self):
     super().setUp()
     self.servicer = ReplicationControllerServicer()
     self.request.volume_id = "{}:{};{}".format("A9000", object_internal_id,
                                                volume_wwn)
     self.request.replication_id = "{}:{};{}".format(
         "A9000", other_object_internal_id, volume_wwn)
     self.request.parameters.update({
         PARAMETERS_SYSTEM_ID: system_id,
         PARAMETERS_COPY_TYPE: copy_type
     })
     self.mediator.get_object_by_id = Mock()
     self.mediator.get_object_by_id.return_value = utils.get_mock_mediator_response_volume(
         10, volume_name, volume_wwn, "xiv")
     self.mediator.get_replication = Mock()
     replication_mock = utils.get_mock_mediator_response_replication(
         replication_name, object_internal_id, other_object_internal_id)
     self.mediator.get_replication.return_value = replication_mock