Exemple #1
0
 def test_add_qos_policy_idempotent(self, mock_create_sf_connection):
     ''' adding a qos_policy '''
     args = dict(self.ARGS)
     set_module_args(args)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = my_module()
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     print(exc.value.args[0])
     assert not exc.value.args[0]['changed']
Exemple #2
0
 def test_modify_qos_policy(self, mock_create_sf_connection):
     ''' modifying a qos policy  '''
     args = dict(self.ARGS)
     args['qos'] = {'minIOPS': 2000}
     set_module_args(args)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = my_module()
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     print(exc.value.args[0])
     assert exc.value.args[0]['changed']
Exemple #3
0
 def test_delete_qos_policy(self, mock_create_sf_connection):
     ''' removing a qos policy '''
     args = dict(self.ARGS)
     args['state'] = 'absent'
     set_module_args(args)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = my_module()
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     print(exc.value.args[0])
     assert exc.value.args[0]['changed']
Exemple #4
0
 def test_add_qos_policy(self, mock_create_sf_connection):
     ''' adding a qos_policy '''
     args = dict(self.ARGS)  # deep copy as other tests can modify args
     args['name'] += '_1'  # new name to force a create
     set_module_args(args)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = my_module()
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     print(exc.value.args[0])
     assert exc.value.args[0]['changed']
Exemple #5
0
 def test_delete_qos_policy_exception(self, mock_create_sf_connection):
     ''' deleting a qos policy can raise an exception '''
     args = dict(self.ARGS)
     args['state'] = 'absent'
     set_module_args(args)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection(
         force_error=True, where=['delete_exception'])
     my_obj = my_module()
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.apply()
     print(exc.value.args[0])
     message = 'Error deleting qos policy: %s' % POLICY_NAME
     assert exc.value.args[0]['msg'].startswith(message)
Exemple #6
0
 def test_check_error_reporting_on_missing_from_name_policy(
         self, mock_create_sf_connection):
     ''' report error if qos policy to rename does not exist '''
     args = dict(self.ARGS)
     args['name'] += '_1'  # new name to force a create
     args['from_name'] = 'something_not_likely_to_exist'
     set_module_args(args)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = my_module()
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.apply()
     print(exc.value.args[0])
     message = "Error renaming qos policy, no existing policy with name/id: %s" % args[
         'from_name']
     assert exc.value.args[0]['msg'] == message
Exemple #7
0
 def test_check_error_reporting_on_missing_qos_option(
         self, mock_create_sf_connection):
     ''' report error if qos option is not given on create '''
     args = dict(self.ARGS)
     args['name'] += '_1'  # new name to force a create
     args.pop('qos')
     set_module_args(args)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = my_module()
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.apply()
     print(exc.value.args[0])
     message = "Error creating qos policy: %s, 'qos:' option is required" % args[
         'name']
     assert exc.value.args[0]['msg'] == message
Exemple #8
0
 def test_module_fail_when_required_args_missing(self):
     ''' required arguments are reported as errors '''
     with pytest.raises(AnsibleFailJson) as exc:
         set_module_args({})
         my_module()
     print('Info: %s' % exc.value.args[0]['msg'])