def test_ensure_get_called(self): ''' test get_qtree for non-existent qtree''' set_module_args(self.set_default_args(use_rest='Never')) print('starting') my_obj = qtree_module() print('use_rest:', my_obj.use_rest) my_obj.server = self.server assert my_obj.get_qtree is not None
def get_qtree_mock_object(type='zapi', kind=None, status=None): qtree_obj = qtree_module() if type == 'zapi': if kind is None: qtree_obj.server = MockONTAPConnection() else: qtree_obj.server = MockONTAPConnection(kind=kind, data=status) return qtree_obj
def get_qtree_mock_object(cx_type='zapi', kind=None): qtree_obj = qtree_module() if cx_type == 'zapi': if kind is None: qtree_obj.server = MockONTAPConnection() else: qtree_obj.server = MockONTAPConnection(kind=kind) return qtree_obj
def test_successful_create(self, create_qtree): ''' creating qtree and testing idempotency ''' set_module_args(self.set_default_args(use_rest='Never')) my_obj = qtree_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'] create_qtree.assert_called_with() # to reset na_helper from remembering the previous 'changed' value set_module_args(self.set_default_args(use_rest='Never')) my_obj = qtree_module() if not self.onbox: my_obj.server = MockONTAPConnection('qtree') with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert not exc.value.args[0]['changed']
def test_successful_delete(self, delete_qtree): ''' deleting qtree and testing idempotency ''' data = self.set_default_args() data['state'] = 'absent' set_module_args(data) my_obj = qtree_module() if not self.onbox: my_obj.server = MockONTAPConnection('qtree') with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert exc.value.args[0]['changed'] # delete_qtree.assert_called_with() # to reset na_helper from remembering the previous 'changed' value my_obj = qtree_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']
def test_successful_modify(self, modify_qtree): ''' modifying qtree and testing idempotency ''' data = self.set_default_args(use_rest='Never') data['export_policy'] = 'test' set_module_args(data) my_obj = qtree_module() if not self.onbox: my_obj.server = MockONTAPConnection('qtree') with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert exc.value.args[0]['changed'] # modify_qtree.assert_called_with() # to reset na_helper from remembering the previous 'changed' value data['export_policy'] = 'ansible' set_module_args(data) my_obj = qtree_module() if not self.onbox: my_obj.server = MockONTAPConnection('qtree') with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert not exc.value.args[0]['changed']
def test_failed_rename(self, rename_qtree, get_qtree): ''' creating qtree and testing idempotency ''' get_qtree.side_effect = [None, None] data = self.set_default_args(use_rest='Never') data['from_name'] = 'ansible_old' set_module_args(data) my_obj = qtree_module() if not self.onbox: my_obj.server = self.server with pytest.raises(AnsibleFailJson) as exc: my_obj.apply() msg = 'Error renaming: qtree %s does not exist' % data['from_name'] assert msg in exc.value.args[0]['msg']
def test_successful_rename(self, rename_qtree, get_qtree): ''' creating qtree and testing idempotency ''' data = self.set_default_args(use_rest='Never') data['from_name'] = 'ansible_old' qtree = dict(security_style=data['security_style'], unix_permissions=data['unix_permissions'], export_policy=data['export_policy']) get_qtree.side_effect = [None, qtree] set_module_args(data) my_obj = qtree_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'] rename_qtree.assert_called_with(qtree) # Idempotency get_qtree.side_effect = [qtree, 'whatever'] my_obj = qtree_module() if not self.onbox: my_obj.server = MockONTAPConnection('qtree') with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert not exc.value.args[0]['changed']
def test_if_all_methods_catch_exception(self): data = self.set_default_args(use_rest='Never') data['from_name'] = 'ansible' set_module_args(data) my_obj = qtree_module() if not self.onbox: my_obj.server = MockONTAPConnection('qtree_fail') with pytest.raises(AnsibleFailJson) as exc: my_obj.create_qtree() assert 'Error provisioning qtree ' in exc.value.args[0]['msg'] with pytest.raises(AnsibleFailJson) as exc: my_obj.delete_qtree(self.get_qtree_mock_object()) assert 'Error deleting qtree ' in exc.value.args[0]['msg'] with pytest.raises(AnsibleFailJson) as exc: my_obj.modify_qtree(self.get_qtree_mock_object()) assert 'Error modifying qtree ' in exc.value.args[0]['msg'] with pytest.raises(AnsibleFailJson) as exc: my_obj.rename_qtree(self.get_qtree_mock_object()) assert 'Error renaming qtree ' in exc.value.args[0]['msg']
def test_ensure_get_called_existing(self): ''' test get_qtree for existing qtree''' set_module_args(self.set_default_args(use_rest='Never')) my_obj = qtree_module() my_obj.server = MockONTAPConnection(kind='qtree') assert my_obj.get_qtree()
def test_module_fail_when_required_args_missing(self): ''' required arguments are reported as errors ''' with pytest.raises(AnsibleFailJson) as exc: set_module_args({}) qtree_module() print('Info: %s' % exc.value.args[0]['msg'])
def test_ensure_get_called(self): ''' test get_qtree for non-existent qtree''' set_module_args(self.set_default_args()) my_obj = qtree_module() my_obj.server = self.server assert my_obj.get_qtree is not None