summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-04-18 15:01:55 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-06-03 11:28:05 +0200
commit230eff7da668b8e79dda3742a0dac4ad857106fe (patch)
tree74f58fc21495ea2ab8abc246d38f07efce73fe73
parent71779f6982b9fb343857f9f90e73f93638fc8830 (diff)
downloadsssd-230eff7da668b8e79dda3742a0dac4ad857106fe.tar.gz
sssd-230eff7da668b8e79dda3742a0dac4ad857106fe.tar.xz
sssd-230eff7da668b8e79dda3742a0dac4ad857106fe.zip
TESTS: Split a separate common_mock_resp_dp module
Splitting the module would allow responders that test the Data Provider requests to use the mock_rctx/mock_cctx functions without duplicate definitions. Reviewed-by: Pavel Březina <pbrezina@redhat.com> (cherry picked from commit c440c424443517b12afa8d56f989d92ca6ba56a3)
-rw-r--r--Makefile.am1
-rw-r--r--src/tests/cmocka/common_mock_resp.c71
-rw-r--r--src/tests/cmocka/common_mock_resp_dp.c101
3 files changed, 102 insertions, 71 deletions
diff --git a/Makefile.am b/Makefile.am
index 329b09861..3996a9054 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1358,6 +1358,7 @@ if HAVE_CMOCKA
TEST_MOCK_RESP_OBJ = \
src/tests/cmocka/common_mock_resp.c \
+ src/tests/cmocka/common_mock_resp_dp.c \
src/responder/common/responder_packet.c \
src/responder/common/responder_cmd.c \
src/responder/common/negcache.c \
diff --git a/src/tests/cmocka/common_mock_resp.c b/src/tests/cmocka/common_mock_resp.c
index d74f6ffa7..767d4d7e1 100644
--- a/src/tests/cmocka/common_mock_resp.c
+++ b/src/tests/cmocka/common_mock_resp.c
@@ -66,74 +66,3 @@ mock_cctx(TALLOC_CTX *mem_ctx, struct resp_ctx *rctx)
cctx->rctx = rctx;
return cctx;
}
-
-/* Mock DP requests that finish immediatelly and return
- * mocked values as per previous set by mock_account_recv
- */
-struct tevent_req *
-sss_dp_get_account_send(TALLOC_CTX *mem_ctx,
- struct resp_ctx *rctx,
- struct sss_domain_info *dom,
- bool fast_reply,
- enum sss_dp_acct_type type,
- const char *opt_name,
- uint32_t opt_id,
- const char *extra)
-{
- return test_req_succeed_send(mem_ctx, rctx->ev);
-}
-
-
-errno_t
-sss_dp_get_account_recv(TALLOC_CTX *mem_ctx,
- struct tevent_req *req,
- dbus_uint16_t *dp_err,
- dbus_uint32_t *dp_ret,
- char **err_msg)
-{
- acct_cb_t cb;
-
- *dp_err = sss_mock_type(dbus_uint16_t);
- *dp_ret = sss_mock_type(dbus_uint32_t);
- *dp_ret = sss_mock_type(dbus_uint32_t);
-
- cb = sss_mock_ptr_type(acct_cb_t);
- if (cb) {
- (cb)(sss_mock_ptr_type(void *));
- }
-
- return test_request_recv(req);
-}
-
-void mock_account_recv(uint16_t dp_err, uint32_t dp_ret, char *msg,
- acct_cb_t acct_cb, void *pvt)
-{
- will_return(sss_dp_get_account_recv, dp_err);
- will_return(sss_dp_get_account_recv, dp_ret);
- will_return(sss_dp_get_account_recv, msg);
-
- will_return(sss_dp_get_account_recv, acct_cb);
- if (acct_cb) {
- will_return(sss_dp_get_account_recv, pvt);
- }
-}
-
-void mock_account_recv_simple(void)
-{
- return mock_account_recv(0, 0, NULL, NULL, NULL);
-}
-
-/* Mock subdomain requests */
-struct tevent_req *
-sss_dp_get_domains_send(TALLOC_CTX *mem_ctx,
- struct resp_ctx *rctx,
- bool force,
- const char *hint)
-{
- return test_req_succeed_send(mem_ctx, rctx->ev);
-}
-
-errno_t sss_dp_get_domains_recv(struct tevent_req *req)
-{
- return test_request_recv(req);
-}
diff --git a/src/tests/cmocka/common_mock_resp_dp.c b/src/tests/cmocka/common_mock_resp_dp.c
new file mode 100644
index 000000000..40fa7c94f
--- /dev/null
+++ b/src/tests/cmocka/common_mock_resp_dp.c
@@ -0,0 +1,101 @@
+/*
+ Authors:
+ Jakub Hrozek <jhrozek@redhat.com>
+
+ Copyright (C) 2013 Red Hat
+
+ SSSD tests: Fake Data Provider requests
+
+ 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 "util/util.h"
+#include "tests/cmocka/common_mock_resp.h"
+
+/* Mock DP requests that finish immediatelly and return
+ * mocked values as per previous set by mock_account_recv
+ */
+struct tevent_req *
+sss_dp_get_account_send(TALLOC_CTX *mem_ctx,
+ struct resp_ctx *rctx,
+ struct sss_domain_info *dom,
+ bool fast_reply,
+ enum sss_dp_acct_type type,
+ const char *opt_name,
+ uint32_t opt_id,
+ const char *extra)
+{
+ return test_req_succeed_send(mem_ctx, rctx->ev);
+}
+
+
+errno_t
+sss_dp_get_account_recv(TALLOC_CTX *mem_ctx,
+ struct tevent_req *req,
+ dbus_uint16_t *dp_err,
+ dbus_uint32_t *dp_ret,
+ char **err_msg)
+{
+ acct_cb_t cb;
+
+ *dp_err = sss_mock_type(dbus_uint16_t);
+ *dp_ret = sss_mock_type(dbus_uint32_t);
+ *dp_ret = sss_mock_type(dbus_uint32_t);
+
+ cb = sss_mock_ptr_type(acct_cb_t);
+ if (cb) {
+ (cb)(sss_mock_ptr_type(void *));
+ }
+
+ return test_request_recv(req);
+}
+
+void mock_account_recv(uint16_t dp_err, uint32_t dp_ret, char *msg,
+ acct_cb_t acct_cb, void *pvt)
+{
+ will_return(sss_dp_get_account_recv, dp_err);
+ will_return(sss_dp_get_account_recv, dp_ret);
+ will_return(sss_dp_get_account_recv, msg);
+
+ will_return(sss_dp_get_account_recv, acct_cb);
+ if (acct_cb) {
+ will_return(sss_dp_get_account_recv, pvt);
+ }
+}
+
+void mock_account_recv_simple(void)
+{
+ return mock_account_recv(0, 0, NULL, NULL, NULL);
+}
+
+void mock_parse_inp(const char *name, const char *domname)
+{
+ will_return(sss_parse_inp_recv, name);
+ will_return(sss_parse_inp_recv, domname);
+}
+
+/* Mock subdomain requests */
+struct tevent_req *
+sss_dp_get_domains_send(TALLOC_CTX *mem_ctx,
+ struct resp_ctx *rctx,
+ bool force,
+ const char *hint)
+{
+ return test_req_succeed_send(mem_ctx, rctx->ev);
+}
+
+errno_t sss_dp_get_domains_recv(struct tevent_req *req)
+{
+ return test_request_recv(req);
+}