Author: jelmer Date: 2007-11-16 20:54:13 +0000 (Fri, 16 Nov 2007) New Revision: 26004
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26004 Log: Add some simple credentials tests. Added: branches/SAMBA_4_0/source/auth/credentials/tests/ branches/SAMBA_4_0/source/auth/credentials/tests/simple.c Modified: branches/SAMBA_4_0/ branches/SAMBA_4_0/source/torture/local/config.mk branches/SAMBA_4_0/source/torture/local/local.c Changeset: Property changes on: branches/SAMBA_4_0 ___________________________________________________________________ Name: bzr:revision-info ...skipped... Name: bzr:file-ids ...skipped... Name: bzr:revision-id:v3-trunk0 ...skipped... Added: branches/SAMBA_4_0/source/auth/credentials/tests/simple.c =================================================================== --- branches/SAMBA_4_0/source/auth/credentials/tests/simple.c 2007-11-16 20:12:00 UTC (rev 26003) +++ branches/SAMBA_4_0/source/auth/credentials/tests/simple.c 2007-11-16 20:54:13 UTC (rev 26004) @@ -0,0 +1,120 @@ +/* + Unix SMB/CIFS implementation. + Samba utility functions + Copyright (C) Jelmer Vernooij <[EMAIL PROTECTED]> 2007 + + 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 "includes.h" +#include "auth/credentials/credentials.h" +#include "torture/torture.h" + +static bool test_init(struct torture_context *tctx) +{ + struct cli_credentials *creds = cli_credentials_init(tctx); + + cli_credentials_set_domain(creds, "bla", CRED_SPECIFIED); + + torture_assert_str_equal(tctx, "BLA", cli_credentials_get_domain(creds), + "domain"); + + cli_credentials_set_username(creds, "someuser", CRED_SPECIFIED); + + torture_assert_str_equal(tctx, "someuser", + cli_credentials_get_username(creds), + "username"); + + cli_credentials_set_password(creds, "p4ssw0rd", CRED_SPECIFIED); + + torture_assert_str_equal(tctx, "p4ssw0rd", + cli_credentials_get_password(creds), + "password"); + + return true; +} + +static bool test_init_anonymous(struct torture_context *tctx) +{ + struct cli_credentials *creds = cli_credentials_init_anon(tctx); + + torture_assert_str_equal(tctx, cli_credentials_get_domain(creds), + "", "domain"); + + torture_assert_str_equal(tctx, cli_credentials_get_username(creds), + "", "username"); + + torture_assert(tctx, cli_credentials_get_password(creds) == NULL, + "password"); + + return true; +} + +static bool test_parse_string(struct torture_context *tctx) +{ + struct cli_credentials *creds = cli_credentials_init_anon(tctx); + + /* anonymous */ + cli_credentials_parse_string(creds, "%", CRED_SPECIFIED); + + torture_assert_str_equal(tctx, cli_credentials_get_domain(creds), + "", "domain"); + + torture_assert_str_equal(tctx, cli_credentials_get_username(creds), + "", "username"); + + torture_assert(tctx, cli_credentials_get_password(creds) == NULL, + "password"); + + /* username + password */ + cli_credentials_parse_string(creds, "somebody%secret", + CRED_SPECIFIED); + + torture_assert_str_equal(tctx, cli_credentials_get_domain(creds), + "", "domain"); + + torture_assert_str_equal(tctx, cli_credentials_get_username(creds), + "somebody", "username"); + + torture_assert_str_equal(tctx, cli_credentials_get_password(creds), + "secret", "password"); + + /* principal */ + cli_credentials_parse_string(creds, "[EMAIL PROTECTED]", + CRED_SPECIFIED); + + torture_assert_str_equal(tctx, cli_credentials_get_realm(creds), + "STYX", "realm"); + + torture_assert_str_equal(tctx, + cli_credentials_get_principal(creds, tctx), + "[EMAIL PROTECTED]", "principal"); + + return true; +} + +struct torture_suite *torture_local_credentials(TALLOC_CTX *mem_ctx) +{ + struct torture_suite *suite = torture_suite_create(mem_ctx, + "CREDENTIALS"); + + torture_suite_add_simple_test(suite, "init", test_init); + torture_suite_add_simple_test(suite, "init anonymous", + test_init_anonymous); + torture_suite_add_simple_test(suite, "parse_string", + test_parse_string); + + return suite; +} + Modified: branches/SAMBA_4_0/source/torture/local/config.mk =================================================================== --- branches/SAMBA_4_0/source/torture/local/config.mk 2007-11-16 20:12:00 UTC (rev 26003) +++ branches/SAMBA_4_0/source/torture/local/config.mk 2007-11-16 20:54:13 UTC (rev 26004) @@ -28,6 +28,7 @@ ../../lib/tdr/testsuite.o \ ../../lib/events/testsuite.o \ ../../param/tests/share.o \ + ../../auth/credentials/tests/simple.o \ local.o \ dbspeed.o \ torture.o Modified: branches/SAMBA_4_0/source/torture/local/local.c =================================================================== --- branches/SAMBA_4_0/source/torture/local/local.c 2007-11-16 20:12:00 UTC (rev 26003) +++ branches/SAMBA_4_0/source/torture/local/local.c 2007-11-16 20:54:13 UTC (rev 26004) @@ -52,6 +52,7 @@ torture_local_event, torture_local_torture, torture_local_dbspeed, + torture_local_credentials, torture_registry, NULL };
