diff options
Diffstat (limited to 'cmd/libpkix/pkix/results/test_policynode.c')
-rw-r--r-- | cmd/libpkix/pkix/results/test_policynode.c | 971 |
1 files changed, 452 insertions, 519 deletions
diff --git a/cmd/libpkix/pkix/results/test_policynode.c b/cmd/libpkix/pkix/results/test_policynode.c index 6ec5a58d7..38ac1d95e 100644 --- a/cmd/libpkix/pkix/results/test_policynode.c +++ b/cmd/libpkix/pkix/results/test_policynode.c @@ -11,16 +11,16 @@ #include "testutil.h" #include "testutil_nss.h" -static void *plContext = NULL; +static void *plContext = NULL; static void test_GetChildren( - PKIX_PolicyNode *goodNode, - PKIX_PolicyNode *equalNode, - PKIX_PolicyNode *diffNode) + PKIX_PolicyNode *goodNode, + PKIX_PolicyNode *equalNode, + PKIX_PolicyNode *diffNode) { -/* + /* * Caution: be careful where you insert this test. PKIX_PolicyNode_GetChildren * is required by the API to return an immutable List, and it does it by setting * the List immutable. We don't make a copy because the assumption is that @@ -29,76 +29,67 @@ test_GetChildren( * such as Prune, will fail if called after the execution of this test. */ - PKIX_Boolean isImmutable = PKIX_FALSE; - PKIX_List *goodList = NULL; - PKIX_List *equalList = NULL; - PKIX_List *diffList = NULL; + PKIX_Boolean isImmutable = PKIX_FALSE; + PKIX_List *goodList = NULL; + PKIX_List *equalList = NULL; + PKIX_List *diffList = NULL; - PKIX_TEST_STD_VARS(); + PKIX_TEST_STD_VARS(); - subTest("PKIX_PolicyNode_GetChildren"); + subTest("PKIX_PolicyNode_GetChildren"); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetChildren - (goodNode, &goodList, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetChildren - (equalNode, &equalList, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetChildren - (diffNode, &diffList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetChildren(goodNode, &goodList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetChildren(equalNode, &equalList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetChildren(diffNode, &diffList, plContext)); - PKIX_TEST_EQ_HASH_TOSTR_DUP - (goodList, equalList, diffList, NULL, List, NULL); + PKIX_TEST_EQ_HASH_TOSTR_DUP(goodList, equalList, diffList, NULL, List, NULL); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_IsImmutable - (goodList, &isImmutable, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_IsImmutable(goodList, &isImmutable, plContext)); - if (isImmutable != PKIX_TRUE) { - testError("PKIX_PolicyNode_GetChildren returned a mutable List"); - } + if (isImmutable != PKIX_TRUE) { + testError("PKIX_PolicyNode_GetChildren returned a mutable List"); + } cleanup: - PKIX_TEST_DECREF_AC(goodList); - PKIX_TEST_DECREF_AC(equalList); - PKIX_TEST_DECREF_AC(diffList); + PKIX_TEST_DECREF_AC(goodList); + PKIX_TEST_DECREF_AC(equalList); + PKIX_TEST_DECREF_AC(diffList); - PKIX_TEST_RETURN(); + PKIX_TEST_RETURN(); } static void test_GetParent( - PKIX_PolicyNode *goodNode, - PKIX_PolicyNode *equalNode, - PKIX_PolicyNode *diffNode, - char *expectedAscii) + PKIX_PolicyNode *goodNode, + PKIX_PolicyNode *equalNode, + PKIX_PolicyNode *diffNode, + char *expectedAscii) { - PKIX_PolicyNode *goodParent = NULL; - PKIX_PolicyNode *equalParent = NULL; - PKIX_PolicyNode *diffParent = NULL; + PKIX_PolicyNode *goodParent = NULL; + PKIX_PolicyNode *equalParent = NULL; + PKIX_PolicyNode *diffParent = NULL; - PKIX_TEST_STD_VARS(); + PKIX_TEST_STD_VARS(); - subTest("PKIX_PolicyNode_GetParent"); + subTest("PKIX_PolicyNode_GetParent"); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetParent - (goodNode, &goodParent, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetParent - (equalNode, &equalParent, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetParent - (diffNode, &diffParent, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetParent(goodNode, &goodParent, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetParent(equalNode, &equalParent, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetParent(diffNode, &diffParent, plContext)); - PKIX_TEST_EQ_HASH_TOSTR_DUP - (goodParent, - equalParent, - diffParent, - expectedAscii, - CertPolicyNode, - NULL); + PKIX_TEST_EQ_HASH_TOSTR_DUP(goodParent, + equalParent, + diffParent, + expectedAscii, + CertPolicyNode, + NULL); cleanup: - PKIX_TEST_DECREF_AC(goodParent); - PKIX_TEST_DECREF_AC(equalParent); - PKIX_TEST_DECREF_AC(diffParent); + PKIX_TEST_DECREF_AC(goodParent); + PKIX_TEST_DECREF_AC(equalParent); + PKIX_TEST_DECREF_AC(diffParent); - PKIX_TEST_RETURN(); + PKIX_TEST_RETURN(); } /* @@ -109,229 +100,207 @@ cleanup: static void test_DuplicateHelper(PKIX_PolicyNode *object, void *plContext) { - PKIX_PolicyNode *newObject = NULL; - PKIX_Boolean cmpResult; - PKIX_PL_String *original = NULL; - PKIX_PL_String *copy = NULL; - - PKIX_TEST_STD_VARS(); - - subTest("testing pkix_PolicyNode_Duplicate"); - - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_Duplicate - ((PKIX_PL_Object *)object, - (PKIX_PL_Object **)&newObject, - plContext)); - - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_Equals - ((PKIX_PL_Object *)object, - (PKIX_PL_Object *)newObject, - &cmpResult, - plContext)); - - if (!cmpResult){ - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_ToString - ((PKIX_PL_Object*)object, &original, plContext)); - testError("unexpected mismatch"); - (void) printf - ("original value:\t%s\n", original->escAsciiString); - - if (newObject) { - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_ToString - ((PKIX_PL_Object*)newObject, ©, plContext)); - (void) printf - ("copy value:\t%s\n", copy->escAsciiString); - } else { - (void) printf("copy value:\t(NULL)\n"); - } + PKIX_PolicyNode *newObject = NULL; + PKIX_Boolean cmpResult; + PKIX_PL_String *original = NULL; + PKIX_PL_String *copy = NULL; + + PKIX_TEST_STD_VARS(); + + subTest("testing pkix_PolicyNode_Duplicate"); + + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_Duplicate((PKIX_PL_Object *)object, + (PKIX_PL_Object **)&newObject, + plContext)); + + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_Equals((PKIX_PL_Object *)object, + (PKIX_PL_Object *)newObject, + &cmpResult, + plContext)); + + if (!cmpResult) { + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_ToString((PKIX_PL_Object *)object, &original, plContext)); + testError("unexpected mismatch"); + (void)printf("original value:\t%s\n", original->escAsciiString); + + if (newObject) { + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_ToString((PKIX_PL_Object *)newObject, ©, plContext)); + (void)printf("copy value:\t%s\n", copy->escAsciiString); + } else { + (void)printf("copy value:\t(NULL)\n"); } + } cleanup: - PKIX_TEST_DECREF_AC(newObject); - PKIX_TEST_DECREF_AC(original); - PKIX_TEST_DECREF_AC(copy); + PKIX_TEST_DECREF_AC(newObject); + PKIX_TEST_DECREF_AC(original); + PKIX_TEST_DECREF_AC(copy); - PKIX_TEST_RETURN(); + PKIX_TEST_RETURN(); } static void test_GetValidPolicy( - PKIX_PolicyNode *goodNode, - PKIX_PolicyNode *equalNode, - PKIX_PolicyNode *diffNode, - char *expectedAscii) + PKIX_PolicyNode *goodNode, + PKIX_PolicyNode *equalNode, + PKIX_PolicyNode *diffNode, + char *expectedAscii) { - PKIX_PL_OID *goodPolicy = NULL; - PKIX_PL_OID *equalPolicy = NULL; - PKIX_PL_OID *diffPolicy = NULL; + PKIX_PL_OID *goodPolicy = NULL; + PKIX_PL_OID *equalPolicy = NULL; + PKIX_PL_OID *diffPolicy = NULL; - PKIX_TEST_STD_VARS(); + PKIX_TEST_STD_VARS(); - subTest("PKIX_PolicyNode_GetValidPolicy"); + subTest("PKIX_PolicyNode_GetValidPolicy"); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetValidPolicy - (goodNode, &goodPolicy, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetValidPolicy - (equalNode, &equalPolicy, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetValidPolicy - (diffNode, &diffPolicy, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetValidPolicy(goodNode, &goodPolicy, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetValidPolicy(equalNode, &equalPolicy, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetValidPolicy(diffNode, &diffPolicy, plContext)); - PKIX_TEST_EQ_HASH_TOSTR_DUP - (goodPolicy, equalPolicy, diffPolicy, expectedAscii, OID, NULL); + PKIX_TEST_EQ_HASH_TOSTR_DUP(goodPolicy, equalPolicy, diffPolicy, expectedAscii, OID, NULL); cleanup: - PKIX_TEST_DECREF_AC(goodPolicy); - PKIX_TEST_DECREF_AC(equalPolicy); - PKIX_TEST_DECREF_AC(diffPolicy); - + PKIX_TEST_DECREF_AC(goodPolicy); + PKIX_TEST_DECREF_AC(equalPolicy); + PKIX_TEST_DECREF_AC(diffPolicy); - PKIX_TEST_RETURN(); + PKIX_TEST_RETURN(); } -static void test_GetPolicyQualifiers( - PKIX_PolicyNode *goodNode, - PKIX_PolicyNode *equalNode, - PKIX_PolicyNode *diffNode, - char *expectedAscii) +static void +test_GetPolicyQualifiers( + PKIX_PolicyNode *goodNode, + PKIX_PolicyNode *equalNode, + PKIX_PolicyNode *diffNode, + char *expectedAscii) { - PKIX_Boolean isImmutable = PKIX_FALSE; - PKIX_List *goodList = NULL; - PKIX_List *equalList = NULL; - PKIX_List *diffList = NULL; + PKIX_Boolean isImmutable = PKIX_FALSE; + PKIX_List *goodList = NULL; + PKIX_List *equalList = NULL; + PKIX_List *diffList = NULL; - PKIX_TEST_STD_VARS(); + PKIX_TEST_STD_VARS(); - subTest("PKIX_PolicyNode_GetPolicyQualifiers"); + subTest("PKIX_PolicyNode_GetPolicyQualifiers"); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetPolicyQualifiers - (goodNode, &goodList, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetPolicyQualifiers - (equalNode, &equalList, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetPolicyQualifiers - (diffNode, &diffList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetPolicyQualifiers(goodNode, &goodList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetPolicyQualifiers(equalNode, &equalList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetPolicyQualifiers(diffNode, &diffList, plContext)); - PKIX_TEST_EQ_HASH_TOSTR_DUP - (goodList, equalList, diffList, expectedAscii, List, plContext); + PKIX_TEST_EQ_HASH_TOSTR_DUP(goodList, equalList, diffList, expectedAscii, List, plContext); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_IsImmutable - (goodList, &isImmutable, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_IsImmutable(goodList, &isImmutable, plContext)); - if (isImmutable != PKIX_TRUE) { - testError - ("PKIX_PolicyNode_GetPolicyQualifiers returned a mutable List"); - } + if (isImmutable != PKIX_TRUE) { + testError("PKIX_PolicyNode_GetPolicyQualifiers returned a mutable List"); + } cleanup: - PKIX_TEST_DECREF_AC(goodList); - PKIX_TEST_DECREF_AC(equalList); - PKIX_TEST_DECREF_AC(diffList); + PKIX_TEST_DECREF_AC(goodList); + PKIX_TEST_DECREF_AC(equalList); + PKIX_TEST_DECREF_AC(diffList); - PKIX_TEST_RETURN(); + PKIX_TEST_RETURN(); } -static void test_GetExpectedPolicies( - PKIX_PolicyNode *goodNode, - PKIX_PolicyNode *equalNode, - PKIX_PolicyNode *diffNode, - char *expectedAscii) +static void +test_GetExpectedPolicies( + PKIX_PolicyNode *goodNode, + PKIX_PolicyNode *equalNode, + PKIX_PolicyNode *diffNode, + char *expectedAscii) { - PKIX_Boolean isImmutable = PKIX_FALSE; - PKIX_List *goodList = NULL; - PKIX_List *equalList = NULL; - PKIX_List *diffList = NULL; + PKIX_Boolean isImmutable = PKIX_FALSE; + PKIX_List *goodList = NULL; + PKIX_List *equalList = NULL; + PKIX_List *diffList = NULL; - PKIX_TEST_STD_VARS(); + PKIX_TEST_STD_VARS(); - subTest("PKIX_PolicyNode_GetExpectedPolicies"); + subTest("PKIX_PolicyNode_GetExpectedPolicies"); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetExpectedPolicies - (goodNode, &goodList, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetExpectedPolicies - (equalNode, &equalList, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetExpectedPolicies - (diffNode, &diffList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetExpectedPolicies(goodNode, &goodList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetExpectedPolicies(equalNode, &equalList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetExpectedPolicies(diffNode, &diffList, plContext)); - PKIX_TEST_EQ_HASH_TOSTR_DUP - (goodList, equalList, diffList, expectedAscii, List, plContext); + PKIX_TEST_EQ_HASH_TOSTR_DUP(goodList, equalList, diffList, expectedAscii, List, plContext); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_IsImmutable - (goodList, &isImmutable, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_IsImmutable(goodList, &isImmutable, plContext)); - if (isImmutable != PKIX_TRUE) { - testError - ("PKIX_PolicyNode_GetExpectedPolicies returned a mutable List"); - } + if (isImmutable != PKIX_TRUE) { + testError("PKIX_PolicyNode_GetExpectedPolicies returned a mutable List"); + } cleanup: - PKIX_TEST_DECREF_AC(goodList); - PKIX_TEST_DECREF_AC(equalList); - PKIX_TEST_DECREF_AC(diffList); + PKIX_TEST_DECREF_AC(goodList); + PKIX_TEST_DECREF_AC(equalList); + PKIX_TEST_DECREF_AC(diffList); - PKIX_TEST_RETURN(); + PKIX_TEST_RETURN(); } -static void test_IsCritical( - PKIX_PolicyNode *goodNode, - PKIX_PolicyNode *equalNode, - PKIX_PolicyNode *diffNode) +static void +test_IsCritical( + PKIX_PolicyNode *goodNode, + PKIX_PolicyNode *equalNode, + PKIX_PolicyNode *diffNode) { - PKIX_Boolean goodBool = PKIX_FALSE; - PKIX_Boolean equalBool = PKIX_FALSE; - PKIX_Boolean diffBool = PKIX_FALSE; - PKIX_TEST_STD_VARS(); - - subTest("PKIX_PolicyNode_IsCritical"); - - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_IsCritical - (goodNode, &goodBool, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_IsCritical - (equalNode, &equalBool, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_IsCritical - (diffNode, &diffBool, plContext)); - - if ((!goodBool) || (!equalBool) || (diffBool)) { - testError("IsCritical returned unexpected value"); - } + PKIX_Boolean goodBool = PKIX_FALSE; + PKIX_Boolean equalBool = PKIX_FALSE; + PKIX_Boolean diffBool = PKIX_FALSE; + PKIX_TEST_STD_VARS(); + + subTest("PKIX_PolicyNode_IsCritical"); + + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_IsCritical(goodNode, &goodBool, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_IsCritical(equalNode, &equalBool, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_IsCritical(diffNode, &diffBool, plContext)); + + if ((!goodBool) || (!equalBool) || (diffBool)) { + testError("IsCritical returned unexpected value"); + } cleanup: - PKIX_TEST_RETURN(); + PKIX_TEST_RETURN(); } -static void test_GetDepth( - PKIX_PolicyNode *depth1Node, - PKIX_PolicyNode *depth2Node, - PKIX_PolicyNode *depth3Node) +static void +test_GetDepth( + PKIX_PolicyNode *depth1Node, + PKIX_PolicyNode *depth2Node, + PKIX_PolicyNode *depth3Node) { - PKIX_UInt32 depth1 = 0; - PKIX_UInt32 depth2 = 0; - PKIX_UInt32 depth3 = 0; - PKIX_TEST_STD_VARS(); - - subTest("PKIX_PolicyNode_GetDepth"); - - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetDepth - (depth1Node, &depth1, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetDepth - (depth2Node, &depth2, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetDepth - (depth3Node, &depth3, plContext)); - - if ((depth1 != 1) || (depth2 != 2) || (depth3 != 3)) { - testError("GetDepth returned unexpected value"); - } + PKIX_UInt32 depth1 = 0; + PKIX_UInt32 depth2 = 0; + PKIX_UInt32 depth3 = 0; + PKIX_TEST_STD_VARS(); + + subTest("PKIX_PolicyNode_GetDepth"); + + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetDepth(depth1Node, &depth1, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetDepth(depth2Node, &depth2, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PolicyNode_GetDepth(depth3Node, &depth3, plContext)); + + if ((depth1 != 1) || (depth2 != 2) || (depth3 != 3)) { + testError("GetDepth returned unexpected value"); + } cleanup: - PKIX_TEST_RETURN(); + PKIX_TEST_RETURN(); } -static -void printUsage(void) { - (void) printf("\nUSAGE:\ttest_policynode <NIST_FILES_DIR> \n\n"); +static void +printUsage(void) +{ + (void)printf("\nUSAGE:\ttest_policynode <NIST_FILES_DIR> \n\n"); } -int test_policynode(int argc, char *argv[]) { +int +test_policynode(int argc, char *argv[]) +{ - /* + /* * Create a tree with parent = anyPolicy, * child1 with Nist1+Nist2, child2 with Nist1. * Give each child another child, with policies Nist2 @@ -350,330 +319,294 @@ int test_policynode(int argc, char *argv[]) { * child5(Nist1) * */ - char *asciiAnyPolicy = "2.5.29.32.0"; - PKIX_PL_Cert *cert = NULL; - PKIX_PL_CertPolicyInfo *nist1Policy = NULL; - PKIX_PL_CertPolicyInfo *nist2Policy = NULL; - PKIX_List *policyQualifierList = NULL; - PKIX_PL_OID *oidAnyPolicy = NULL; - PKIX_PL_OID *oidNist1Policy = NULL; - PKIX_PL_OID *oidNist2Policy = NULL; - PKIX_List *expectedAnyList = NULL; - PKIX_List *expectedNist1List = NULL; - PKIX_List *expectedNist2List = NULL; - PKIX_List *expectedNist1Nist2List = NULL; - PKIX_List *emptyList = NULL; - PKIX_PolicyNode *parentNode = NULL; - PKIX_PolicyNode *childNode1 = NULL; - PKIX_PolicyNode *childNode2 = NULL; - PKIX_PolicyNode *childNode3 = NULL; - PKIX_PolicyNode *childNode4 = NULL; - PKIX_PolicyNode *childNode5 = NULL; - PKIX_PL_String *parentString = NULL; - PKIX_Boolean pDelete = PKIX_FALSE; - char *expectedParentAscii = - "{2.16.840.1.101.3.2.1.48.2,(1.3.6.1.5.5.7.2.2:[30 5C " - "1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 65" - " 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D 2" - "0 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 69 " - "73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 66" - " 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20 6" - "F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.1[(1.3" - ".6.1.5.5.7.2.2:[30 5C 1A 5A 71 31 3A 20 20 54 68 69 7" - "3 20 69 73 20 74 68 65 20 75 73 65 72 20 6E 6F 74 69 " - "63 65 20 66 72 6F 6D 20 71 75 61 6C 69 66 69 65 72 20" - " 31 2E 20 20 54 68 69 73 20 63 65 72 74 69 66 69 63 6" - "1 74 65 20 69 73 20 66 6F 72 20 74 65 73 74 20 70 75 " - "72 70 6F 73 65 73 20 6F 6E 6C 79])], 2.16.840.1.101.3" - ".2.1.48.2[(1.3.6.1.5.5.7.2.2:[30 5A 1A 58 71 32 3A 20" - " 20 54 68 69 73 20 69 73 20 74 68 65 20 75 73 65 72 2" - "0 6E 6F 74 69 63 65 20 66 72 6F 6D 20 71 75 61 6C 69 " - "66 69 65 72 20 32 2E 20 20 54 68 69 73 20 75 73 65 72" - " 20 6E 6F 74 69 63 65 20 73 68 6F 75 6C 64 20 6E 6F 7" - "4 20 62 65 20 64 69 73 70 6C 61 79 65 64])]),1}\n" - ". {2.16.840.1.101.3.2.1.48.2,(1.3.6.1.5.5.7.2.2:[30 5" - "C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 " - "65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D" - " 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 6" - "9 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 " - "66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20" - " 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.2),2}"; - char *expectedValidAscii = - "2.16.840.1.101.3.2.1.48.2"; - char *expectedQualifiersAscii = - /* "(1.3.6.1.5.5.7.2.2)"; */ - "(1.3.6.1.5.5.7.2.2:[30 5C 1A 5A 71 31 3A 20 20 54 68 " - "69 73 20 69 73 20 74 68 65 20 75 73 65 72 20 6E 6F 74" - " 69 63 65 20 66 72 6F 6D 20 71 75 61 6C 69 66 69 65 7" - "2 20 31 2E 20 20 54 68 69 73 20 63 65 72 74 69 66 69 " - "63 61 74 65 20 69 73 20 66 6F 72 20 74 65 73 74 20 70" - " 75 72 70 6F 73 65 73 20 6F 6E 6C 79])"; - char *expectedPoliciesAscii = - "(2.16.840.1.101.3.2.1.48.1)"; - char *expectedTree = - "{2.5.29.32.0,{},Critical,(2.5.29.32.0),0}\n" - ". {2.16.840.1.101.3.2.1.48.2,(1.3.6.1.5.5.7.2.2:[30 5" - "C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 " - "65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D" - " 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 6" - "9 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 " - "66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20" - " 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.1[(1" - ".3.6.1.5.5.7.2.2:[30 5C 1A 5A 71 31 3A 20 20 54 68 69" - " 73 20 69 73 20 74 68 65 20 75 73 65 72 20 6E 6F 74 6" - "9 63 65 20 66 72 6F 6D 20 71 75 61 6C 69 66 69 65 72 " - "20 31 2E 20 20 54 68 69 73 20 63 65 72 74 69 66 69 63" - " 61 74 65 20 69 73 20 66 6F 72 20 74 65 73 74 20 70 7" - "5 72 70 6F 73 65 73 20 6F 6E 6C 79])], 2.16.840.1.101" - ".3.2.1.48.2[(1.3.6.1.5.5.7.2.2:[30 5A 1A 58 71 32 3A " - "20 20 54 68 69 73 20 69 73 20 74 68 65 20 75 73 65 72" - " 20 6E 6F 74 69 63 65 20 66 72 6F 6D 20 71 75 61 6C 6" - "9 66 69 65 72 20 32 2E 20 20 54 68 69 73 20 75 73 65 " - "72 20 6E 6F 74 69 63 65 20 73 68 6F 75 6C 64 20 6E 6F" - " 74 20 62 65 20 64 69 73 70 6C 61 79 65 64])]" - "),1}\n" - ". . {2.16.840.1.101.3.2.1.48.2,(1.3.6.1.5.5.7.2.2:[30" - " 5C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 6" - "8 65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F " - "6D 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68" - " 69 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 2" - "0 66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 " - "20 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.2)" - ",2}\n" - ". {2.16.840.1.101.3.2.1.48.1,(1.3.6.1.5.5.7.2.2:[30 5" - "C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 " - "65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D" - " 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 6" - "9 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 " - "66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20" - " 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.1),1}\n" - ". . {2.16.840.1.101.3.2.1.48.1,(EMPTY),Not Critical," - "(2.16.840.1.101.3.2.1.48.1),2}\n" - ". . . {2.16.840.1.101.3.2.1.48.1,{},Critical,(2.16.84" - "0.1.101.3.2.1.48.1),3}"; - char *expectedPrunedTree = - "{2.5.29.32.0,{},Critical,(2.5.29.32.0),0}\n" - ". {2.16.840.1.101.3.2.1.48.1,(1.3.6.1.5.5.7.2.2:[30 5" - "C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 " - "65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D" - " 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 6" - "9 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 " - "66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20" - " 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.1),1}\n" - ". . {2.16.840.1.101.3.2.1.48.1,(EMPTY),Not Critical," - "(2.16.840.1.101.3.2.1.48.1),2}\n" - ". . . {2.16.840.1.101.3.2.1.48.1,{},Critical,(2.16.84" - "0.1.101.3.2.1.48.1),3}"; - - PKIX_UInt32 actualMinorVersion; - PKIX_UInt32 j = 0; - char *dirName = NULL; - - PKIX_TEST_STD_VARS(); - - if (argc < 2) { - printUsage(); - return (0); - } + char *asciiAnyPolicy = "2.5.29.32.0"; + PKIX_PL_Cert *cert = NULL; + PKIX_PL_CertPolicyInfo *nist1Policy = NULL; + PKIX_PL_CertPolicyInfo *nist2Policy = NULL; + PKIX_List *policyQualifierList = NULL; + PKIX_PL_OID *oidAnyPolicy = NULL; + PKIX_PL_OID *oidNist1Policy = NULL; + PKIX_PL_OID *oidNist2Policy = NULL; + PKIX_List *expectedAnyList = NULL; + PKIX_List *expectedNist1List = NULL; + PKIX_List *expectedNist2List = NULL; + PKIX_List *expectedNist1Nist2List = NULL; + PKIX_List *emptyList = NULL; + PKIX_PolicyNode *parentNode = NULL; + PKIX_PolicyNode *childNode1 = NULL; + PKIX_PolicyNode *childNode2 = NULL; + PKIX_PolicyNode *childNode3 = NULL; + PKIX_PolicyNode *childNode4 = NULL; + PKIX_PolicyNode *childNode5 = NULL; + PKIX_PL_String *parentString = NULL; + PKIX_Boolean pDelete = PKIX_FALSE; + char *expectedParentAscii = + "{2.16.840.1.101.3.2.1.48.2,(1.3.6.1.5.5.7.2.2:[30 5C " + "1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 65" + " 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D 2" + "0 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 69 " + "73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 66" + " 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20 6" + "F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.1[(1.3" + ".6.1.5.5.7.2.2:[30 5C 1A 5A 71 31 3A 20 20 54 68 69 7" + "3 20 69 73 20 74 68 65 20 75 73 65 72 20 6E 6F 74 69 " + "63 65 20 66 72 6F 6D 20 71 75 61 6C 69 66 69 65 72 20" + " 31 2E 20 20 54 68 69 73 20 63 65 72 74 69 66 69 63 6" + "1 74 65 20 69 73 20 66 6F 72 20 74 65 73 74 20 70 75 " + "72 70 6F 73 65 73 20 6F 6E 6C 79])], 2.16.840.1.101.3" + ".2.1.48.2[(1.3.6.1.5.5.7.2.2:[30 5A 1A 58 71 32 3A 20" + " 20 54 68 69 73 20 69 73 20 74 68 65 20 75 73 65 72 2" + "0 6E 6F 74 69 63 65 20 66 72 6F 6D 20 71 75 61 6C 69 " + "66 69 65 72 20 32 2E 20 20 54 68 69 73 20 75 73 65 72" + " 20 6E 6F 74 69 63 65 20 73 68 6F 75 6C 64 20 6E 6F 7" + "4 20 62 65 20 64 69 73 70 6C 61 79 65 64])]),1}\n" + ". {2.16.840.1.101.3.2.1.48.2,(1.3.6.1.5.5.7.2.2:[30 5" + "C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 " + "65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D" + " 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 6" + "9 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 " + "66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20" + " 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.2),2}"; + char *expectedValidAscii = + "2.16.840.1.101.3.2.1.48.2"; + char *expectedQualifiersAscii = + /* "(1.3.6.1.5.5.7.2.2)"; */ + "(1.3.6.1.5.5.7.2.2:[30 5C 1A 5A 71 31 3A 20 20 54 68 " + "69 73 20 69 73 20 74 68 65 20 75 73 65 72 20 6E 6F 74" + " 69 63 65 20 66 72 6F 6D 20 71 75 61 6C 69 66 69 65 7" + "2 20 31 2E 20 20 54 68 69 73 20 63 65 72 74 69 66 69 " + "63 61 74 65 20 69 73 20 66 6F 72 20 74 65 73 74 20 70" + " 75 72 70 6F 73 65 73 20 6F 6E 6C 79])"; + char *expectedPoliciesAscii = + "(2.16.840.1.101.3.2.1.48.1)"; + char *expectedTree = + "{2.5.29.32.0,{},Critical,(2.5.29.32.0),0}\n" + ". {2.16.840.1.101.3.2.1.48.2,(1.3.6.1.5.5.7.2.2:[30 5" + "C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 " + "65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D" + " 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 6" + "9 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 " + "66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20" + " 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.1[(1" + ".3.6.1.5.5.7.2.2:[30 5C 1A 5A 71 31 3A 20 20 54 68 69" + " 73 20 69 73 20 74 68 65 20 75 73 65 72 20 6E 6F 74 6" + "9 63 65 20 66 72 6F 6D 20 71 75 61 6C 69 66 69 65 72 " + "20 31 2E 20 20 54 68 69 73 20 63 65 72 74 69 66 69 63" + " 61 74 65 20 69 73 20 66 6F 72 20 74 65 73 74 20 70 7" + "5 72 70 6F 73 65 73 20 6F 6E 6C 79])], 2.16.840.1.101" + ".3.2.1.48.2[(1.3.6.1.5.5.7.2.2:[30 5A 1A 58 71 32 3A " + "20 20 54 68 69 73 20 69 73 20 74 68 65 20 75 73 65 72" + " 20 6E 6F 74 69 63 65 20 66 72 6F 6D 20 71 75 61 6C 6" + "9 66 69 65 72 20 32 2E 20 20 54 68 69 73 20 75 73 65 " + "72 20 6E 6F 74 69 63 65 20 73 68 6F 75 6C 64 20 6E 6F" + " 74 20 62 65 20 64 69 73 70 6C 61 79 65 64])]" + "),1}\n" + ". . {2.16.840.1.101.3.2.1.48.2,(1.3.6.1.5.5.7.2.2:[30" + " 5C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 6" + "8 65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F " + "6D 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68" + " 69 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 2" + "0 66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 " + "20 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.2)" + ",2}\n" + ". {2.16.840.1.101.3.2.1.48.1,(1.3.6.1.5.5.7.2.2:[30 5" + "C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 " + "65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D" + " 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 6" + "9 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 " + "66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20" + " 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.1),1}\n" + ". . {2.16.840.1.101.3.2.1.48.1,(EMPTY),Not Critical," + "(2.16.840.1.101.3.2.1.48.1),2}\n" + ". . . {2.16.840.1.101.3.2.1.48.1,{},Critical,(2.16.84" + "0.1.101.3.2.1.48.1),3}"; + char *expectedPrunedTree = + "{2.5.29.32.0,{},Critical,(2.5.29.32.0),0}\n" + ". {2.16.840.1.101.3.2.1.48.1,(1.3.6.1.5.5.7.2.2:[30 5" + "C 1A 5A 71 31 3A 20 20 54 68 69 73 20 69 73 20 74 68 " + "65 20 75 73 65 72 20 6E 6F 74 69 63 65 20 66 72 6F 6D" + " 20 71 75 61 6C 69 66 69 65 72 20 31 2E 20 20 54 68 6" + "9 73 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 " + "66 6F 72 20 74 65 73 74 20 70 75 72 70 6F 73 65 73 20" + " 6F 6E 6C 79]),Critical,(2.16.840.1.101.3.2.1.48.1),1}\n" + ". . {2.16.840.1.101.3.2.1.48.1,(EMPTY),Not Critical," + "(2.16.840.1.101.3.2.1.48.1),2}\n" + ". . . {2.16.840.1.101.3.2.1.48.1,{},Critical,(2.16.84" + "0.1.101.3.2.1.48.1),3}"; + + PKIX_UInt32 actualMinorVersion; + PKIX_UInt32 j = 0; + char *dirName = NULL; + + PKIX_TEST_STD_VARS(); + + if (argc < 2) { + printUsage(); + return (0); + } - startTests("PolicyNode"); + startTests("PolicyNode"); - PKIX_TEST_EXPECT_NO_ERROR( - PKIX_PL_NssContext_Create(0, PKIX_FALSE, NULL, &plContext)); + PKIX_TEST_EXPECT_NO_ERROR( + PKIX_PL_NssContext_Create(0, PKIX_FALSE, NULL, &plContext)); - dirName = argv[j+1]; - - subTest("Creating OID objects"); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_OID_Create - (asciiAnyPolicy, &oidAnyPolicy, plContext)); - - /* Read certificates to get real policies, qualifiers */ - - cert = createCert - (dirName, "UserNoticeQualifierTest16EE.crt", plContext); - - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Cert_GetPolicyInformation - (cert, &expectedNist1Nist2List, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_GetItem - (expectedNist1Nist2List, - 0, - (PKIX_PL_Object **)&nist1Policy, - plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_GetItem - (expectedNist1Nist2List, - 1, - (PKIX_PL_Object **)&nist2Policy, - plContext)); - - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_CertPolicyInfo_GetPolQualifiers - (nist1Policy, &policyQualifierList, plContext)); - - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_CertPolicyInfo_GetPolicyId - (nist1Policy, &oidNist1Policy, plContext)); - - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_CertPolicyInfo_GetPolicyId - (nist2Policy, &oidNist2Policy, plContext)); + dirName = argv[j + 1]; - subTest("Creating expectedPolicy List objects"); + subTest("Creating OID objects"); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_OID_Create(asciiAnyPolicy, &oidAnyPolicy, plContext)); - PKIX_TEST_EXPECT_NO_ERROR - (PKIX_List_Create(&expectedAnyList, plContext)); + /* Read certificates to get real policies, qualifiers */ - PKIX_TEST_EXPECT_NO_ERROR - (PKIX_List_Create(&expectedNist1List, plContext)); + cert = createCert(dirName, "UserNoticeQualifierTest16EE.crt", plContext); - PKIX_TEST_EXPECT_NO_ERROR - (PKIX_List_Create(&expectedNist2List, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Cert_GetPolicyInformation(cert, &expectedNist1Nist2List, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_GetItem(expectedNist1Nist2List, + 0, + (PKIX_PL_Object **)&nist1Policy, + plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_GetItem(expectedNist1Nist2List, + 1, + (PKIX_PL_Object **)&nist2Policy, + plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_CertPolicyInfo_GetPolQualifiers(nist1Policy, &policyQualifierList, plContext)); - subTest("Populating expectedPolicy List objects"); - - PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_AppendItem - (expectedAnyList, (PKIX_PL_Object *)oidAnyPolicy, plContext)); - - PKIX_TEST_EXPECT_NO_ERROR - (PKIX_List_AppendItem - (expectedNist1List, - (PKIX_PL_Object *)oidNist1Policy, - plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_CertPolicyInfo_GetPolicyId(nist1Policy, &oidNist1Policy, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_AppendItem - (expectedNist2List, - (PKIX_PL_Object *)oidNist2Policy, - plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_CertPolicyInfo_GetPolicyId(nist2Policy, &oidNist2Policy, plContext)); - subTest("Creating PolicyNode objects"); + subTest("Creating expectedPolicy List objects"); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_Create(&emptyList, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_Create(&expectedAnyList, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create - (oidAnyPolicy, - NULL, - PKIX_TRUE, - expectedAnyList, - &parentNode, - plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_Create(&expectedNist1List, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create - (oidNist2Policy, - policyQualifierList, - PKIX_TRUE, - expectedNist1Nist2List, - &childNode1, - plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_Create(&expectedNist2List, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create - (oidNist1Policy, - policyQualifierList, - PKIX_TRUE, - expectedNist1List, - &childNode2, - plContext)); + subTest("Populating expectedPolicy List objects"); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create - (oidNist2Policy, - policyQualifierList, - PKIX_TRUE, - expectedNist2List, - &childNode3, - plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_AppendItem(expectedAnyList, (PKIX_PL_Object *)oidAnyPolicy, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create - (oidNist1Policy, - emptyList, - PKIX_FALSE, - expectedNist1List, - &childNode4, - plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_AppendItem(expectedNist1List, + (PKIX_PL_Object *)oidNist1Policy, + plContext)); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create - (oidNist1Policy, - NULL, - PKIX_TRUE, - expectedNist1List, - &childNode5, - plContext)); - - subTest("Creating the PolicyNode tree"); - - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent - (parentNode, childNode1, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent - (parentNode, childNode2, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_AppendItem(expectedNist2List, + (PKIX_PL_Object *)oidNist2Policy, + plContext)); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent - (childNode1, childNode3, plContext)); + subTest("Creating PolicyNode objects"); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent - (childNode2, childNode4, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_Create(&emptyList, plContext)); - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent - (childNode4, childNode5, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create(oidAnyPolicy, + NULL, + PKIX_TRUE, + expectedAnyList, + &parentNode, + plContext)); - subTest("Displaying PolicyNode objects"); + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create(oidNist2Policy, + policyQualifierList, + PKIX_TRUE, + expectedNist1Nist2List, + &childNode1, + plContext)); - PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_ToString - ((PKIX_PL_Object*)parentNode, &parentString, plContext)); - (void) printf("parentNode is\n\t%s\n", parentString->escAsciiString); + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create(oidNist1Policy, + policyQualifierList, + PKIX_TRUE, + expectedNist1List, + &childNode2, + plContext)); - testToStringHelper - ((PKIX_PL_Object*)parentNode, expectedTree, plContext); + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create(oidNist2Policy, + policyQualifierList, + PKIX_TRUE, + expectedNist2List, + &childNode3, + plContext)); - test_DuplicateHelper(parentNode, plContext); + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create(oidNist1Policy, + emptyList, + PKIX_FALSE, + expectedNist1List, + &childNode4, + plContext)); - test_GetParent(childNode3, childNode3, childNode4, expectedParentAscii); - test_GetValidPolicy - (childNode1, childNode3, parentNode, expectedValidAscii); - test_GetPolicyQualifiers - (childNode1, childNode3, childNode4, expectedQualifiersAscii); - test_GetExpectedPolicies - (childNode2, childNode4, childNode3, expectedPoliciesAscii); - test_IsCritical(childNode1, childNode2, childNode4); - test_GetDepth(childNode2, childNode4, childNode5); - - subTest("pkix_PolicyNode_Prune"); - - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Prune - (parentNode, 2, &pDelete, plContext)); - - testToStringHelper - ((PKIX_PL_Object*)parentNode, expectedTree, plContext); - - PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Prune - (parentNode, 3, &pDelete, plContext)); - - testToStringHelper - ((PKIX_PL_Object*)parentNode, expectedPrunedTree, plContext); - - test_GetChildren(parentNode, parentNode, childNode2); + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Create(oidNist1Policy, + NULL, + PKIX_TRUE, + expectedNist1List, + &childNode5, + plContext)); -cleanup: + subTest("Creating the PolicyNode tree"); - PKIX_TEST_DECREF_AC(cert); - PKIX_TEST_DECREF_AC(nist1Policy); - PKIX_TEST_DECREF_AC(nist2Policy); - PKIX_TEST_DECREF_AC(policyQualifierList); - PKIX_TEST_DECREF_AC(oidAnyPolicy); - PKIX_TEST_DECREF_AC(oidNist1Policy); - PKIX_TEST_DECREF_AC(oidNist2Policy); - PKIX_TEST_DECREF_AC(expectedAnyList); - PKIX_TEST_DECREF_AC(expectedNist1List); - PKIX_TEST_DECREF_AC(expectedNist2List); - PKIX_TEST_DECREF_AC(expectedNist1Nist2List); - PKIX_TEST_DECREF_AC(emptyList); - PKIX_TEST_DECREF_AC(parentNode); - PKIX_TEST_DECREF_AC(childNode1); - PKIX_TEST_DECREF_AC(childNode2); - PKIX_TEST_DECREF_AC(childNode3); - PKIX_TEST_DECREF_AC(childNode4); - PKIX_TEST_DECREF_AC(childNode5); - PKIX_TEST_DECREF_AC(parentString); - - PKIX_Shutdown(plContext); - - PKIX_TEST_RETURN(); - - endTests("PolicyNode"); + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent(parentNode, childNode1, plContext)); + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent(parentNode, childNode2, plContext)); - return (0); + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent(childNode1, childNode3, plContext)); + + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent(childNode2, childNode4, plContext)); + + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_AddToParent(childNode4, childNode5, plContext)); + + subTest("Displaying PolicyNode objects"); + + PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Object_ToString((PKIX_PL_Object *)parentNode, &parentString, plContext)); + (void)printf("parentNode is\n\t%s\n", parentString->escAsciiString); + + testToStringHelper((PKIX_PL_Object *)parentNode, expectedTree, plContext); + + test_DuplicateHelper(parentNode, plContext); + + test_GetParent(childNode3, childNode3, childNode4, expectedParentAscii); + test_GetValidPolicy(childNode1, childNode3, parentNode, expectedValidAscii); + test_GetPolicyQualifiers(childNode1, childNode3, childNode4, expectedQualifiersAscii); + test_GetExpectedPolicies(childNode2, childNode4, childNode3, expectedPoliciesAscii); + test_IsCritical(childNode1, childNode2, childNode4); + test_GetDepth(childNode2, childNode4, childNode5); + + subTest("pkix_PolicyNode_Prune"); + + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Prune(parentNode, 2, &pDelete, plContext)); + + testToStringHelper((PKIX_PL_Object *)parentNode, expectedTree, plContext); + + PKIX_TEST_EXPECT_NO_ERROR(pkix_PolicyNode_Prune(parentNode, 3, &pDelete, plContext)); + + testToStringHelper((PKIX_PL_Object *)parentNode, expectedPrunedTree, plContext); + + test_GetChildren(parentNode, parentNode, childNode2); + +cleanup: + + PKIX_TEST_DECREF_AC(cert); + PKIX_TEST_DECREF_AC(nist1Policy); + PKIX_TEST_DECREF_AC(nist2Policy); + PKIX_TEST_DECREF_AC(policyQualifierList); + PKIX_TEST_DECREF_AC(oidAnyPolicy); + PKIX_TEST_DECREF_AC(oidNist1Policy); + PKIX_TEST_DECREF_AC(oidNist2Policy); + PKIX_TEST_DECREF_AC(expectedAnyList); + PKIX_TEST_DECREF_AC(expectedNist1List); + PKIX_TEST_DECREF_AC(expectedNist2List); + PKIX_TEST_DECREF_AC(expectedNist1Nist2List); + PKIX_TEST_DECREF_AC(emptyList); + PKIX_TEST_DECREF_AC(parentNode); + PKIX_TEST_DECREF_AC(childNode1); + PKIX_TEST_DECREF_AC(childNode2); + PKIX_TEST_DECREF_AC(childNode3); + PKIX_TEST_DECREF_AC(childNode4); + PKIX_TEST_DECREF_AC(childNode5); + PKIX_TEST_DECREF_AC(parentString); + + PKIX_Shutdown(plContext); + + PKIX_TEST_RETURN(); + + endTests("PolicyNode"); + + return (0); } |