summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-10-08 20:27:34 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-10-30 16:36:51 +0100
commit09f6b783c50278e6ec850f0bddcb53c3af6f16ca (patch)
treecfc60e31d2cc8c026264087060cb7c7a82868ffc
parentbfc71e2fb5fe5fe67c50cad5eeb068cd64f1e20b (diff)
downloadsssd-09f6b783c50278e6ec850f0bddcb53c3af6f16ca.tar.gz
sssd-09f6b783c50278e6ec850f0bddcb53c3af6f16ca.tar.xz
sssd-09f6b783c50278e6ec850f0bddcb53c3af6f16ca.zip
TESTS: Fix krb5_child test
The krb5_child tests wasn't run automatically on every build and as a result, wasn't maintained properly.
-rw-r--r--src/tests/krb5_child-test.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/tests/krb5_child-test.c b/src/tests/krb5_child-test.c
index a59863b4d..e2d74e43f 100644
--- a/src/tests/krb5_child-test.c
+++ b/src/tests/krb5_child-test.c
@@ -51,6 +51,8 @@ static krb5_context krb5_error_ctx;
} \
} while(0) \
+#define KRB5_CHILD_TEST_DOM_NAME "domname"
+
struct krb5_child_test_ctx {
struct tevent_context *ev;
struct krb5child_req *kr;
@@ -193,6 +195,7 @@ create_dummy_req(TALLOC_CTX *mem_ctx, const char *user,
struct krb5child_req *kr;
struct passwd *pwd;
errno_t ret;
+ struct sss_domain_info *dom;
/* The top level child request */
kr = talloc_zero(mem_ctx, struct krb5child_req);
@@ -213,7 +216,21 @@ create_dummy_req(TALLOC_CTX *mem_ctx, const char *user,
/* PAM Data structure */
kr->pd = create_dummy_pam_data(kr, user, password);
- ret = krb5_get_simple_upn(kr, kr->krb5_ctx, NULL, kr->pd->user, NULL,
+ /* Create a mock domain */
+ dom = talloc_zero(kr, struct sss_domain_info);
+ if (!dom) goto fail;
+ dom->name = discard_const(KRB5_CHILD_TEST_DOM_NAME);
+
+ ret = sss_names_init_from_args(dom,
+ "(?P<name>[^@]+)@?(?P<domain>[^@]*$)",
+ CONFDB_DEFAULT_FULL_NAME_FORMAT,
+ &dom->names);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_OP_FAILURE, "krb5_get_simple_upn failed.\n");
+ goto fail;
+ }
+
+ ret = krb5_get_simple_upn(kr, kr->krb5_ctx, dom, kr->pd->user, NULL,
&kr->upn);
if (ret != EOK) {
DEBUG(SSSDBG_OP_FAILURE, "krb5_get_simple_upn failed.\n");