def test_minimal_role_binding_parameters_groups(self, mocker): sync_mock = mocker.patch.object(utils, 'sync') sync_mock.return_value = True, {} set_module_args( name='test_role_binding', role='test_role', groups=['test_group'], ) with pytest.raises(AnsibleExitJson): role_binding.main() state, _client, path, payload, check_mode, _compare = sync_mock.call_args[ 0] assert state == 'present' assert path == '/api/core/v2/namespaces/default/rolebindings/test_role_binding' assert payload == dict( role_ref=dict( name='test_role', type='Role', ), subjects=[ dict( name='test_group', type='Group', ), ], metadata=dict( name='test_role_binding', namespace='default', ), ) assert check_mode is False
def test_failure_missing_groups_or_users(self, mocker): sync_mock = mocker.patch.object(utils, 'sync') sync_mock.side_effect = Exception("Validation should fail but didn't") set_module_args( name='test_role_binding', role='test_role', ) with pytest.raises(AnsibleFailJson): role_binding.main()
def test_failure(self, mocker): sync_mock = mocker.patch.object(utils, 'sync') sync_mock.side_effect = errors.Error('Bad error') set_module_args( name='test_role_binding', role='test_role', users=['test_user'], ) with pytest.raises(AnsibleFailJson): role_binding.main()