Пример #1
0
 def test_if_all_methods_catch_exception(self):
     module_args = {}
     module_args.update(self.set_default_args())
     set_module_args(module_args)
     my_obj = my_module()
     if not self.onbox:
         my_obj.server = MockONTAPConnection('quota_fail')
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.get_quota_status()
     assert 'Error fetching quotas status info' in exc.value.args[0]['msg']
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.get_quotas()
     assert 'Error fetching quotas info' in exc.value.args[0]['msg']
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.quota_entry_set()
     assert 'Error adding/modifying quota entry' in exc.value.args[0]['msg']
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.quota_entry_delete()
     assert 'Error deleting quota entry' in exc.value.args[0]['msg']
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.quota_entry_modify(module_args)
     assert 'Error modifying quota entry' in exc.value.args[0]['msg']
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.on_or_off_quota('quota-on')
     assert 'Error setting quota-on for ansible' in exc.value.args[0]['msg']
Пример #2
0
 def test_successful_delete(self, quota_entry_delete):
     ''' deleting quota and testing idempotency '''
     data = self.set_default_args()
     data['state'] = 'absent'
     set_module_args(data)
     my_obj = my_module()
     if not self.onbox:
         my_obj.server = MockONTAPConnection('quotas')
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert exc.value.args[0]['changed']
     quota_entry_delete.assert_called_with()
     # to reset na_helper from remembering the previous 'changed' value
     my_obj = my_module()
     if not self.onbox:
         my_obj.server = self.server
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert not exc.value.args[0]['changed']
Пример #3
0
 def test_quota_on_off(self):
     ''' quota set on or off '''
     data = self.set_default_args()
     data['set_quota_status'] = 'false'
     set_module_args(data)
     my_obj = my_module()
     if not self.onbox:
         my_obj.server = MockONTAPConnection('quotas')
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert not exc.value.args[0]['changed']
Пример #4
0
 def test_successful_modify(self):
     ''' modifying quota and testing idempotency '''
     data = self.set_default_args()
     data['file_limit'] = '3'
     set_module_args(data)
     my_obj = my_module()
     if not self.onbox:
         my_obj.server = MockONTAPConnection('quotas')
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert exc.value.args[0]['changed']
Пример #5
0
 def test_successful_create(self, quota_entry_set):
     ''' creating quota and testing idempotency '''
     data = self.set_default_args()
     data.update({'file_limit': '3', 'disk_limit': '4'})
     # data['file_limit'] = '3'
     # data['disk_limit'] = '4'
     # data['threshold'] = '4'
     set_module_args(data)
     my_obj = my_module()
     if not self.onbox:
         my_obj.server = self.server
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert exc.value.args[0]['changed']
     quota_entry_set.assert_called_with()
     # to reset na_helper from remembering the previous 'changed' value
     set_module_args(self.set_default_args())
     my_obj = my_module()
     if not self.onbox:
         my_obj.server = MockONTAPConnection('quotas')
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert not exc.value.args[0]['changed']
Пример #6
0
 def test_ensure_get_called_existing(self):
     ''' test get_quota for existing quota'''
     set_module_args(self.set_default_args())
     my_obj = my_module()
     my_obj.server = MockONTAPConnection(kind='quotas')
     assert my_obj.get_quotas()
Пример #7
0
 def test_ensure_get_called(self):
     ''' test get_quota for non-existent quota'''
     set_module_args(self.set_default_args())
     my_obj = my_module()
     my_obj.server = self.server
     assert my_obj.get_quotas is not None
Пример #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'])