diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2015-10-01 20:09:36 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-10-01 20:09:46 +0200 |
commit | 7809dee889672eb335a480668a014f2601e0f4e1 (patch) | |
tree | 98216c9f15f320971268952a13acf5cd7b6e7a6b /src/tests/cmocka/common_mock_sdap_async.c | |
parent | cccbf6f5b2b80cd3f6311ccad96780faab93e1f7 (diff) | |
download | sssd-7809dee889672eb335a480668a014f2601e0f4e1.tar.gz sssd-7809dee889672eb335a480668a014f2601e0f4e1.tar.xz sssd-7809dee889672eb335a480668a014f2601e0f4e1.zip |
WIP: Test for sdap_async.ctests
Diffstat (limited to 'src/tests/cmocka/common_mock_sdap_async.c')
-rw-r--r-- | src/tests/cmocka/common_mock_sdap_async.c | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/tests/cmocka/common_mock_sdap_async.c b/src/tests/cmocka/common_mock_sdap_async.c new file mode 100644 index 000000000..0ec6ab252 --- /dev/null +++ b/src/tests/cmocka/common_mock_sdap_async.c @@ -0,0 +1,96 @@ +/* + Copyright (C) 2015 Red Hat + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + + +#include <talloc.h> + +#include "util/util.h" +#include "providers/ldap/ldap_common.h" +#include "providers/ldap/sdap.h" +#include "tests/cmocka/common_mock.h" + +/* + * Mock sdap_async.c + * + * Every function that is placed in sdap_async.c module has to be mocked, + * to avoid any attempt to communicate with remote servers. Therefore no test + * can be compiled with sdap_async.c. If any of these functions is needed, + * their mock equivalent shall be used. + */ + +bool sdap_has_deref_support(struct sdap_handle *sh, struct sdap_options *opts) +{ + return sss_mock_type(bool); +} + +struct tevent_req *sdap_get_generic_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct sdap_options *opts, + struct sdap_handle *sh, + const char *search_base, + int scope, + const char *filter, + const char **attrs, + struct sdap_attr_map *map, + int map_num_attrs, + int timeout, + bool allow_paging) +{ + return test_req_succeed_send(mem_ctx, ev); +} + +int sdap_get_generic_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + size_t *reply_count, + struct sysdb_attrs ***reply) +{ + TEVENT_REQ_RETURN_ON_ERROR(req); + + *reply_count = sss_mock_type(size_t); + *reply = sss_mock_ptr_type(struct sysdb_attrs **); + + return sss_mock_type(int); +} + +struct tevent_req * sdap_deref_search_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct sdap_options *opts, + struct sdap_handle *sh, + const char *base_dn, + const char *deref_attr, + const char **attrs, + int num_maps, + struct sdap_attr_map_info *maps, + int timeout) +{ + return test_req_succeed_send(mem_ctx, ev); +} + +int sdap_deref_search_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + size_t *reply_count, + struct sdap_deref_attrs ***reply) +{ + TEVENT_REQ_RETURN_ON_ERROR(req); + + *reply_count = sss_mock_type(size_t); + *reply = talloc_steal(mem_ctx, + sss_mock_ptr_type(struct sdap_deref_attrs **)); + + return EOK; +} + |