Exemple #1
0
 def test_update_policy(self, *mocks):
     mock_qos_policy_get = mocks[1]
     mock_qos_policy_get.return_value = self.policy
     fields = base_object.get_updatable_fields(policy_object.QosPolicy,
                                               self.policy_data['policy'])
     self.qos_plugin.update_policy(self.ctxt, self.policy.id,
                                   {'policy': fields})
     self._validate_driver_params('update_policy')
Exemple #2
0
    def test_update_policy(self, mock_qos_policy_update,
                           mock_create_rbac_policy):
        mock_manager = mock.Mock()
        mock_manager.attach_mock(mock_qos_policy_update, 'update')
        mock_manager.attach_mock(self.qos_plugin.driver_manager, 'driver')
        mock_manager.reset_mock()

        fields = base_object.get_updatable_fields(policy_object.QosPolicy,
                                                  self.policy_data['policy'])
        self.qos_plugin.update_policy(self.ctxt, self.policy.id,
                                      {'policy': fields})
        self._validate_driver_params('update_policy')

        policy_update_mock_call = mock.call.update()
        update_precommit_mock_call = mock.call.driver.call(
            'update_policy_precommit', self.ctxt, mock.ANY)
        update_mock_call = mock.call.driver.call('update_policy', self.ctxt,
                                                 mock.ANY)
        self.assertTrue(
            mock_manager.mock_calls.index(policy_update_mock_call) <
            mock_manager.mock_calls.index(update_precommit_mock_call) <
            mock_manager.mock_calls.index(update_mock_call))
    def test_update_policy(self, mock_qos_policy_update,
                           mock_create_rbac_policy, mock_qos_policy_get):
        mock_qos_policy_get.return_value = self.policy
        mock_manager = mock.Mock()
        mock_manager.attach_mock(mock_qos_policy_update, 'update')
        mock_manager.attach_mock(self.qos_plugin.driver_manager, 'driver')
        mock_manager.reset_mock()

        fields = base_object.get_updatable_fields(
            policy_object.QosPolicy, self.policy_data['policy'])
        self.qos_plugin.update_policy(
            self.ctxt, self.policy.id, {'policy': fields})
        self._validate_driver_params('update_policy')

        policy_update_mock_call = mock.call.update()
        update_precommit_mock_call = mock.call.driver.call(
            'update_policy_precommit', self.ctxt, mock.ANY)
        update_mock_call = mock.call.driver.call(
            'update_policy', self.ctxt, mock.ANY)
        self.assertTrue(
            mock_manager.mock_calls.index(policy_update_mock_call) <
            mock_manager.mock_calls.index(update_precommit_mock_call) <
            mock_manager.mock_calls.index(update_mock_call))
Exemple #4
0
    def test_policy_update_profile(self, *mocks):
        # test the switch profile update when a QoS policy is updated
        fields = base_object.get_updatable_fields(policy_object.QosPolicy,
                                                  self.policy_data['policy'])
        with mock.patch('vmware_nsxlib.v3.NsxLibQosSwitchingProfile.update'
                        ) as update_profile:
            with mock.patch('neutron.objects.qos.policy.QosPolicy.get_object',
                            return_value=self.policy):
                with mock.patch('neutron.objects.qos.policy.QosPolicy.update'):
                    self.qos_plugin.update_policy(self.ctxt, self.policy.id,
                                                  {'policy': fields})
                    # verify that the profile was updated with the correct data
                    self.policy_data["policy"]["id"] = self.policy.id
                    expected_tags = self.nsxlib.build_v3_tags_payload(
                        self.policy_data["policy"],
                        resource_type='os-neutron-qos-id',
                        project_name=self.ctxt.tenant_name)

                    update_profile.assert_called_once_with(
                        self.fake_profile_id,
                        description=self.policy_data["policy"]["description"],
                        name=self.policy_data["policy"]["name"],
                        tags=expected_tags)
    def test_policy_update_profile(self, *mocks):
        # test the switch profile update when a QoS policy is updated
        fields = base_object.get_updatable_fields(
            policy_object.QosPolicy, self.policy_data['policy'])
        with mock.patch.object(nsxlib,
            'update_qos_switching_profile') as update_profile:
            with mock.patch('neutron.objects.qos.policy.QosPolicy.get_object',
                return_value=self.policy):
                with mock.patch('neutron.objects.qos.policy.QosPolicy.update'):
                    self.qos_plugin.update_policy(
                        self.ctxt, self.policy.id, {'policy': fields})
                    # verify that the profile was updated with the correct data
                    self.policy_data["policy"]["id"] = self.policy.id
                    expected_tags = utils.build_v3_tags_payload(
                        self.policy_data["policy"],
                        resource_type='os-neutron-qos-id',
                        project_name=self.ctxt.tenant_name)

                    update_profile.assert_called_once_with(
                        self.fake_profile_id,
                        description=self.policy_data["policy"]["description"],
                        name=self.policy_data["policy"]["name"],
                        tags=expected_tags
                    )
Exemple #6
0
 def get_updatable_fields(self, fields):
     return base.get_updatable_fields(self._test_class, fields)
Exemple #7
0
 def get_updatable_fields(self, fields):
     return base.get_updatable_fields(self._test_class, fields)
 def test_update_policy(self):
     fields = base_object.get_updatable_fields(
         policy_object.QosPolicy, self.policy_data['policy'])
     self.qos_plugin.update_policy(
         self.ctxt, self.policy.id, {'policy': fields})
     self._validate_notif_driver_params('update_policy')
Exemple #9
0
 def test_update_policy(self, *mocks):
     fields = base_object.get_updatable_fields(policy_object.QosPolicy,
                                               self.policy_data['policy'])
     self.qos_plugin.update_policy(self.ctxt, self.policy.id,
                                   {'policy': fields})
     self._validate_notif_driver_params('update_policy')
Exemple #10
0
 def test_update_policy(self, *mocks):
     fields = base_object.get_updatable_fields(policy_object.QosPolicy, self.policy_data["policy"])
     self.qos_plugin.update_policy(self.ctxt, self.policy.id, {"policy": fields})
     self._validate_notif_driver_params("update_policy")