summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Židek <mzidek@redhat.com>2015-09-18 16:39:41 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-09-23 23:08:50 +0200
commitab3c0e05d18616295afbd46acad1ca243b33861c (patch)
treedde63e9ffeebaefbc6e4927676ea3a9449fbfcaa
parentd85be8ad409c9efa9cf9e9ab6f9c2d911b01e5c1 (diff)
downloadsssd-ab3c0e05d18616295afbd46acad1ca243b33861c.tar.gz
sssd-ab3c0e05d18616295afbd46acad1ca243b33861c.tar.xz
sssd-ab3c0e05d18616295afbd46acad1ca243b33861c.zip
tests: Set p11_child_timeout to 30 in tests
Ticket: https://fedorahosted.org/sssd/ticket/2773 Add way to set pam specific options in pam_test_setup adn use it to set the p11_child_timeout value to 30. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Pavel Reichl <preichl@redhat.com>
-rw-r--r--src/tests/cmocka/test_pam_srv.c35
1 files changed, 31 insertions, 4 deletions
diff --git a/src/tests/cmocka/test_pam_srv.c b/src/tests/cmocka/test_pam_srv.c
index 3567b2bca..6bae6e337 100644
--- a/src/tests/cmocka/test_pam_srv.c
+++ b/src/tests/cmocka/test_pam_srv.c
@@ -184,7 +184,26 @@ struct pam_ctx *mock_pctx(TALLOC_CTX *mem_ctx)
return pctx;
}
-void test_pam_setup(struct sss_test_conf_param params[],
+static int add_pam_params(struct sss_test_conf_param pam_params[],
+ struct confdb_ctx *cdb)
+{
+ const char *val[2];
+ int ret;
+
+ val[1] = NULL;
+
+ for (int i = 0; pam_params[i].key; i++) {
+ val[0] = pam_params[i].value;
+ ret = confdb_add_param(cdb, true, CONFDB_PAM_CONF_ENTRY,
+ pam_params[i].key, val);
+ assert_int_equal(ret, EOK);
+ }
+
+ return EOK;
+}
+
+void test_pam_setup(struct sss_test_conf_param dom_params[],
+ struct sss_test_conf_param pam_params[],
void **state)
{
errno_t ret;
@@ -194,7 +213,7 @@ void test_pam_setup(struct sss_test_conf_param params[],
pam_test_ctx->tctx = create_dom_test_ctx(pam_test_ctx, TESTS_PATH,
TEST_CONF_DB, TEST_DOM_NAME,
- TEST_ID_PROVIDER, params);
+ TEST_ID_PROVIDER, dom_params);
assert_non_null(pam_test_ctx->tctx);
pam_test_ctx->pam_cmds = get_pam_cmds();
@@ -217,6 +236,9 @@ void test_pam_setup(struct sss_test_conf_param params[],
pam_test_ctx->rctx->cdb = pam_test_ctx->tctx->confdb;
pam_test_ctx->pctx->rctx = pam_test_ctx->rctx;
+ ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
+ assert_int_equal(ret, EOK);
+
/* Create client context */
pam_test_ctx->cctx = mock_cctx(pam_test_ctx, pam_test_ctx->rctx);
assert_non_null(pam_test_ctx->cctx);
@@ -229,13 +251,18 @@ static int pam_test_setup(void **state)
{
int ret;
- struct sss_test_conf_param params[] = {
+ struct sss_test_conf_param dom_params[] = {
{ "enumerate", "false" },
{ "cache_credentials", "true" },
{ NULL, NULL }, /* Sentinel */
};
- test_pam_setup(params, state);
+ struct sss_test_conf_param pam_params[] = {
+ { "p11_child_timeout", "30"},
+ { NULL, NULL }, /* Sentinel */
+ };
+
+ test_pam_setup(dom_params, pam_params, state);
/* Prime the cache with a valid user */
ret = sysdb_add_user(pam_test_ctx->tctx->dom,