diff options
-rw-r--r-- | daemons/ipa-slapi-plugins/ipa-cldap/Makefile.am | 19 | ||||
-rw-r--r-- | daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_tests.c | 68 |
2 files changed, 87 insertions, 0 deletions
diff --git a/daemons/ipa-slapi-plugins/ipa-cldap/Makefile.am b/daemons/ipa-slapi-plugins/ipa-cldap/Makefile.am index 70b08835e..8e35cdbd4 100644 --- a/daemons/ipa-slapi-plugins/ipa-cldap/Makefile.am +++ b/daemons/ipa-slapi-plugins/ipa-cldap/Makefile.am @@ -35,6 +35,25 @@ libipa_cldap_la_LIBADD = \ $(NDRNBT_LIBS) \ $(NULL) +if HAVE_CMOCKA +TESTS = ipa_cldap_tests +check_PROGRAMS = ipa_cldap_tests +endif + +ipa_cldap_tests_SOURCES = \ + ipa_cldap_tests.c \ + ipa_cldap_netlogon.c \ + $(NULL) +ipa_cldap_tests_CFLAGS = $(CMOCKA_FLAGS) +ipa_cldap_tests_LDFLAGS = \ + -rpath $(shell pkg-config --libs-only-L dirsrv | sed -e 's/-L//') \ + $(NULL) +ipa_cldap_tests_LDADD = \ + $(CMOCKA_LIBS) \ + $(NDRNBT_LIBS) \ + $(DIRSRV_LIBS) \ + $(NULL) + appdir = $(IPA_DATA_DIR) app_DATA = \ ipa-cldap-conf.ldif \ diff --git a/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_tests.c b/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_tests.c new file mode 100644 index 000000000..8f579cb0c --- /dev/null +++ b/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_tests.c @@ -0,0 +1,68 @@ +/* + Authors: + Sumit Bose <sbose@redhat.com> + + Copyright (C) 2014 Red Hat + + Tests for FreeIPA CLDAP plugin + + 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 <stdarg.h> +#include <stddef.h> +#include <setjmp.h> +#include <cmocka.h> + +#include "ipa_cldap.h" + +void test_make_netbios_name(void **state) +{ + char *r; + size_t c; + + struct test_data { + char *i; + char *o; + } d[] = { + {"abc", "ABC"}, + {"long-host-name-12345", "LONGHOSTNAME123"}, + {"abc.def.123", "ABC"}, + {"####", NULL}, + {NULL, NULL} + }; + + r = make_netbios_name(NULL, NULL); + assert_null(r); + + for (c = 0; d[c].i != NULL; c++) { + r = make_netbios_name(NULL, d[c].i); + if (d[c].o != NULL) { + assert_string_equal(r, d[c].o); + } else { + assert_null(r); + } + } +} + +int main(int argc, const char *argv[]) +{ + + const UnitTest tests[] = { + unit_test(test_make_netbios_name), + }; + + return run_tests(tests); +} + |