]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
auth/credentials: add tests for cli_credentials_get_kerberos_state[_obtained]()
authorStefan Metzmacher <metze@samba.org>
Tue, 18 Jun 2024 17:02:05 +0000 (19:02 +0200)
committerJule Anger <janger@samba.org>
Wed, 3 Jul 2024 08:48:12 +0000 (08:48 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15666

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit eeb60574b6bf1a5209b85a8af843b93300550ba7)

auth/credentials/tests/test_creds.c

index 2cb2e6d0e3428d07d865943d03deb4d2cdaeab11..e79f08982adb24f45ce7d8e39b18d168c0aa756f 100644 (file)
@@ -227,6 +227,8 @@ static void torture_creds_krb5_state(void **state)
        TALLOC_CTX *mem_ctx = *state;
        struct cli_credentials *creds = NULL;
        struct loadparm_context *lp_ctx = NULL;
+       enum credentials_obtained kerberos_state_obtained;
+       enum credentials_use_kerberos kerberos_state;
        bool ok;
 
        lp_ctx = loadparm_init_global(true);
@@ -234,18 +236,27 @@ static void torture_creds_krb5_state(void **state)
 
        creds = cli_credentials_init(mem_ctx);
        assert_non_null(creds);
-       assert_int_equal(creds->kerberos_state_obtained, CRED_UNINITIALISED);
-       assert_int_equal(creds->kerberos_state, CRED_USE_KERBEROS_DESIRED);
+       kerberos_state_obtained =
+               cli_credentials_get_kerberos_state_obtained(creds);
+       kerberos_state = cli_credentials_get_kerberos_state(creds);
+       assert_int_equal(kerberos_state_obtained, CRED_UNINITIALISED);
+       assert_int_equal(kerberos_state, CRED_USE_KERBEROS_DESIRED);
 
        ok = cli_credentials_set_conf(creds, lp_ctx);
        assert_true(ok);
-       assert_int_equal(creds->kerberos_state_obtained, CRED_SMB_CONF);
-       assert_int_equal(creds->kerberos_state, CRED_USE_KERBEROS_DESIRED);
+       kerberos_state_obtained =
+               cli_credentials_get_kerberos_state_obtained(creds);
+       kerberos_state = cli_credentials_get_kerberos_state(creds);
+       assert_int_equal(kerberos_state_obtained, CRED_SMB_CONF);
+       assert_int_equal(kerberos_state, CRED_USE_KERBEROS_DESIRED);
 
        ok = cli_credentials_guess(creds, lp_ctx);
        assert_true(ok);
-       assert_int_equal(creds->kerberos_state_obtained, CRED_SMB_CONF);
-       assert_int_equal(creds->kerberos_state, CRED_USE_KERBEROS_DESIRED);
+       kerberos_state_obtained =
+               cli_credentials_get_kerberos_state_obtained(creds);
+       kerberos_state = cli_credentials_get_kerberos_state(creds);
+       assert_int_equal(kerberos_state_obtained, CRED_SMB_CONF);
+       assert_int_equal(kerberos_state, CRED_USE_KERBEROS_DESIRED);
        assert_int_equal(creds->ccache_obtained, CRED_GUESS_FILE);
        assert_non_null(creds->ccache);
 
@@ -253,15 +264,21 @@ static void torture_creds_krb5_state(void **state)
                                                CRED_USE_KERBEROS_REQUIRED,
                                                CRED_SPECIFIED);
        assert_true(ok);
-       assert_int_equal(creds->kerberos_state_obtained, CRED_SPECIFIED);
-       assert_int_equal(creds->kerberos_state, CRED_USE_KERBEROS_REQUIRED);
+       kerberos_state_obtained =
+               cli_credentials_get_kerberos_state_obtained(creds);
+       kerberos_state = cli_credentials_get_kerberos_state(creds);
+       assert_int_equal(kerberos_state_obtained, CRED_SPECIFIED);
+       assert_int_equal(kerberos_state, CRED_USE_KERBEROS_REQUIRED);
 
        ok = cli_credentials_set_kerberos_state(creds,
                                                CRED_USE_KERBEROS_DISABLED,
                                                CRED_SMB_CONF);
        assert_false(ok);
-       assert_int_equal(creds->kerberos_state_obtained, CRED_SPECIFIED);
-       assert_int_equal(creds->kerberos_state, CRED_USE_KERBEROS_REQUIRED);
+       kerberos_state_obtained =
+               cli_credentials_get_kerberos_state_obtained(creds);
+       kerberos_state = cli_credentials_get_kerberos_state(creds);
+       assert_int_equal(kerberos_state_obtained, CRED_SPECIFIED);
+       assert_int_equal(kerberos_state, CRED_USE_KERBEROS_REQUIRED);
 
 }