test_crlselector.c (4490B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 /* 5 * test_crlselector.c 6 * 7 * Test CRLSelector Type 8 * 9 */ 10 11 #include "testutil.h" 12 #include "testutil_nss.h" 13 14 static void *plContext = NULL; 15 16 static void 17 testGetMatchCallback(PKIX_CRLSelector *goodObject) 18 { 19 PKIX_CRLSelector_MatchCallback mCallback = NULL; 20 21 PKIX_TEST_STD_VARS(); 22 23 subTest("testGetMatchCallback"); 24 25 PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_GetMatchCallback(goodObject, &mCallback, plContext)); 26 27 if (mCallback == NULL) { 28 pkixTestErrorMsg = "MatchCallback is NULL"; 29 } 30 31 cleanup: 32 33 PKIX_TEST_RETURN(); 34 } 35 36 static void 37 testGetCRLSelectorContext(PKIX_CRLSelector *goodObject) 38 { 39 PKIX_PL_Object *context = NULL; 40 41 PKIX_TEST_STD_VARS(); 42 43 subTest("testGetCRLSelectorContext"); 44 45 PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_GetCRLSelectorContext(goodObject, (void *)&context, plContext)); 46 47 if (context == NULL) { 48 pkixTestErrorMsg = "CRLSelectorContext is NULL"; 49 } 50 51 cleanup: 52 53 PKIX_TEST_DECREF_AC(context); 54 PKIX_TEST_RETURN(); 55 } 56 57 static void 58 testCommonCRLSelectorParams(PKIX_CRLSelector *goodObject) 59 { 60 PKIX_ComCRLSelParams *setParams = NULL; 61 PKIX_ComCRLSelParams *getParams = NULL; 62 PKIX_PL_Date *setDate = NULL; 63 char *asciiDate = "040329134847Z"; 64 65 PKIX_TEST_STD_VARS(); 66 67 subTest("PKIX_ComCRLSelParams_Create"); 68 PKIX_TEST_EXPECT_NO_ERROR(PKIX_ComCRLSelParams_Create(&setParams, 69 plContext)); 70 71 subTest("PKIX_ComCRLSelParams_Date Create"); 72 73 setDate = createDate(asciiDate, plContext); 74 75 subTest("PKIX_ComCRLSelParams_SetDateAndTime"); 76 77 PKIX_TEST_EXPECT_NO_ERROR(PKIX_ComCRLSelParams_SetDateAndTime(setParams, setDate, plContext)); 78 79 subTest("PKIX_CRLSelector_SetCommonCRLSelectorParams"); 80 81 PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_SetCommonCRLSelectorParams( 82 goodObject, setParams, plContext)); 83 84 subTest("PKIX_CRLSelector_GetCommonCRLSelectorParams"); 85 86 PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_GetCommonCRLSelectorParams( 87 goodObject, &getParams, plContext)); 88 89 testEqualsHelper((PKIX_PL_Object *)setParams, 90 (PKIX_PL_Object *)getParams, 91 PKIX_TRUE, 92 plContext); 93 94 testHashcodeHelper((PKIX_PL_Object *)setParams, 95 (PKIX_PL_Object *)getParams, 96 PKIX_TRUE, 97 plContext); 98 99 cleanup: 100 101 PKIX_TEST_DECREF_AC(setDate); 102 PKIX_TEST_DECREF_AC(setParams); 103 PKIX_TEST_DECREF_AC(getParams); 104 105 PKIX_TEST_RETURN(); 106 } 107 108 /* Functional tests for CRLSelector public functions */ 109 110 int 111 test_crlselector(int argc, char *argv[]) 112 { 113 114 PKIX_PL_Date *context = NULL; 115 PKIX_CRLSelector *goodObject = NULL; 116 PKIX_CRLSelector *diffObject = NULL; 117 PKIX_UInt32 actualMinorVersion; 118 PKIX_UInt32 j = 0; 119 char *asciiDate = "040329134847Z"; 120 121 PKIX_TEST_STD_VARS(); 122 123 startTests("CRLSelector"); 124 125 PKIX_TEST_EXPECT_NO_ERROR( 126 PKIX_PL_NssContext_Create(0, PKIX_FALSE, NULL, &plContext)); 127 128 context = createDate(asciiDate, plContext); 129 130 subTest("PKIX_CRLSelector_Create"); 131 132 PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_Create(NULL, 133 (PKIX_PL_Object *)context, 134 &goodObject, 135 plContext)); 136 137 PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_Create(NULL, 138 (PKIX_PL_Object *)context, 139 &diffObject, 140 plContext)); 141 142 testGetMatchCallback(goodObject); 143 144 testGetCRLSelectorContext(goodObject); 145 146 testCommonCRLSelectorParams(goodObject); 147 148 PKIX_TEST_EQ_HASH_TOSTR_DUP(goodObject, 149 goodObject, 150 diffObject, 151 NULL, 152 CRLSelector, 153 PKIX_TRUE); 154 155 cleanup: 156 157 PKIX_TEST_DECREF_AC(goodObject); 158 PKIX_TEST_DECREF_AC(diffObject); 159 PKIX_TEST_DECREF_AC(context); 160 161 PKIX_Shutdown(plContext); 162 163 PKIX_TEST_RETURN(); 164 165 endTests("CRLSelector"); 166 167 return (0); 168 }