added unit test for identification_t.contains_wildcard()
authorMartin Willi <martin@strongswan.org>
Fri, 3 Jul 2009 15:07:04 +0000 (17:07 +0200)
committerMartin Willi <martin@strongswan.org>
Mon, 6 Jul 2009 11:15:28 +0000 (13:15 +0200)
src/charon/plugins/unit_tester/tests.h
src/charon/plugins/unit_tester/tests/test_id.c

index dcf2a5d..24579a8 100644 (file)
@@ -36,5 +36,6 @@ DEFINE_TEST("Base64 converter", test_chunk_base64, FALSE)
 DEFINE_TEST("IP pool", test_pool, FALSE)
 DEFINE_TEST("SSH agent", test_agent, FALSE)
 DEFINE_TEST("ID parts", test_id_parts, FALSE)
 DEFINE_TEST("IP pool", test_pool, FALSE)
 DEFINE_TEST("SSH agent", test_agent, FALSE)
 DEFINE_TEST("ID parts", test_id_parts, FALSE)
+DEFINE_TEST("ID wildcards", test_id_wildcards, FALSE)
 
 /** @}*/
 
 /** @}*/
index 56dab24..82bbac7 100644 (file)
@@ -67,3 +67,43 @@ bool test_id_parts()
        return TRUE;
 }
 
        return TRUE;
 }
 
+/*******************************************************************************
+ * identification contains_wildcards() test
+ ******************************************************************************/
+
+static bool test_id_wildcards_has(char *string)
+{
+       identification_t *id;
+       bool contains;
+       
+       id = identification_create_from_string(string);
+       contains = id->contains_wildcards(id);
+       id->destroy(id);
+       return contains;
+}
+
+bool test_id_wildcards()
+{
+       if (!test_id_wildcards_has("C=*, O=strongSwan, CN=gw"))
+       {
+               return FALSE;
+       }
+       if (!test_id_wildcards_has("C=CH, O=strongSwan, CN=*"))
+       {
+               return FALSE;
+       }
+       if (test_id_wildcards_has("C=**, O=a*, CN=*a"))
+       {
+               return FALSE;
+       }
+       if (!test_id_wildcards_has("*@strongswan.org"))
+       {
+               return FALSE;
+       }
+       if (!test_id_wildcards_has("*.strongswan.org"))
+       {
+               return FALSE;
+       }
+       return TRUE;
+}
+