diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2014-10-08 20:27:34 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-10-30 16:36:51 +0100 |
commit | 09f6b783c50278e6ec850f0bddcb53c3af6f16ca (patch) | |
tree | cfc60e31d2cc8c026264087060cb7c7a82868ffc | |
parent | bfc71e2fb5fe5fe67c50cad5eeb068cd64f1e20b (diff) | |
download | sssd-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.c | 19 |
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"); |