| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| /* |
| * test_crlselector.c |
| * |
| * Test CRLSelector Type |
| * |
| */ |
| |
| #include "testutil.h" |
| #include "testutil_nss.h" |
| |
| static void *plContext = NULL; |
| |
| static void |
| testGetMatchCallback(PKIX_CRLSelector *goodObject) |
| { |
| PKIX_CRLSelector_MatchCallback mCallback = NULL; |
| |
| PKIX_TEST_STD_VARS(); |
| |
| subTest("testGetMatchCallback"); |
| |
| PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_GetMatchCallback(goodObject, &mCallback, plContext)); |
| |
| if (mCallback == NULL) { |
| pkixTestErrorMsg = "MatchCallback is NULL"; |
| } |
| |
| cleanup: |
| |
| PKIX_TEST_RETURN(); |
| } |
| |
| static void |
| testGetCRLSelectorContext(PKIX_CRLSelector *goodObject) |
| { |
| PKIX_PL_Object *context = NULL; |
| |
| PKIX_TEST_STD_VARS(); |
| |
| subTest("testGetCRLSelectorContext"); |
| |
| PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_GetCRLSelectorContext(goodObject, (void *)&context, plContext)); |
| |
| if (context == NULL) { |
| pkixTestErrorMsg = "CRLSelectorContext is NULL"; |
| } |
| |
| cleanup: |
| |
| PKIX_TEST_DECREF_AC(context); |
| PKIX_TEST_RETURN(); |
| } |
| |
| static void |
| testCommonCRLSelectorParams(PKIX_CRLSelector *goodObject) |
| { |
| PKIX_ComCRLSelParams *setParams = NULL; |
| PKIX_ComCRLSelParams *getParams = NULL; |
| PKIX_PL_Date *setDate = NULL; |
| char *asciiDate = "040329134847Z"; |
| |
| PKIX_TEST_STD_VARS(); |
| |
| subTest("PKIX_ComCRLSelParams_Create"); |
| PKIX_TEST_EXPECT_NO_ERROR(PKIX_ComCRLSelParams_Create(&setParams, |
| plContext)); |
| |
| subTest("PKIX_ComCRLSelParams_Date Create"); |
| |
| setDate = createDate(asciiDate, plContext); |
| |
| subTest("PKIX_ComCRLSelParams_SetDateAndTime"); |
| |
| PKIX_TEST_EXPECT_NO_ERROR(PKIX_ComCRLSelParams_SetDateAndTime(setParams, setDate, plContext)); |
| |
| subTest("PKIX_CRLSelector_SetCommonCRLSelectorParams"); |
| |
| PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_SetCommonCRLSelectorParams( |
| goodObject, setParams, plContext)); |
| |
| subTest("PKIX_CRLSelector_GetCommonCRLSelectorParams"); |
| |
| PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_GetCommonCRLSelectorParams( |
| goodObject, &getParams, plContext)); |
| |
| testEqualsHelper((PKIX_PL_Object *)setParams, |
| (PKIX_PL_Object *)getParams, |
| PKIX_TRUE, |
| plContext); |
| |
| testHashcodeHelper((PKIX_PL_Object *)setParams, |
| (PKIX_PL_Object *)getParams, |
| PKIX_TRUE, |
| plContext); |
| |
| cleanup: |
| |
| PKIX_TEST_DECREF_AC(setDate); |
| PKIX_TEST_DECREF_AC(setParams); |
| PKIX_TEST_DECREF_AC(getParams); |
| |
| PKIX_TEST_RETURN(); |
| } |
| |
| /* Functional tests for CRLSelector public functions */ |
| |
| int |
| test_crlselector(int argc, char *argv[]) |
| { |
| |
| PKIX_PL_Date *context = NULL; |
| PKIX_CRLSelector *goodObject = NULL; |
| PKIX_CRLSelector *diffObject = NULL; |
| PKIX_UInt32 actualMinorVersion; |
| PKIX_UInt32 j = 0; |
| char *asciiDate = "040329134847Z"; |
| |
| PKIX_TEST_STD_VARS(); |
| |
| startTests("CRLSelector"); |
| |
| PKIX_TEST_EXPECT_NO_ERROR( |
| PKIX_PL_NssContext_Create(0, PKIX_FALSE, NULL, &plContext)); |
| |
| context = createDate(asciiDate, plContext); |
| |
| subTest("PKIX_CRLSelector_Create"); |
| |
| PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_Create(NULL, |
| (PKIX_PL_Object *)context, |
| &goodObject, |
| plContext)); |
| |
| PKIX_TEST_EXPECT_NO_ERROR(PKIX_CRLSelector_Create(NULL, |
| (PKIX_PL_Object *)context, |
| &diffObject, |
| plContext)); |
| |
| testGetMatchCallback(goodObject); |
| |
| testGetCRLSelectorContext(goodObject); |
| |
| testCommonCRLSelectorParams(goodObject); |
| |
| PKIX_TEST_EQ_HASH_TOSTR_DUP(goodObject, |
| goodObject, |
| diffObject, |
| NULL, |
| CRLSelector, |
| PKIX_TRUE); |
| |
| cleanup: |
| |
| PKIX_TEST_DECREF_AC(goodObject); |
| PKIX_TEST_DECREF_AC(diffObject); |
| PKIX_TEST_DECREF_AC(context); |
| |
| PKIX_Shutdown(plContext); |
| |
| PKIX_TEST_RETURN(); |
| |
| endTests("CRLSelector"); |
| |
| return (0); |
| } |