void saImmOmCcbObjectModify_2_14(void) { const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT) __FUNCTION__; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle; const SaNameT *objectNames[] = {&rootObj, NULL}; SaAnyT anyValue = { 0, (SaUint8T *)"" }; SaAnyT* anyValues[] = { &anyValue, &anyValue, &anyValue }; SaImmAttrValuesT_2 any5 = {"attr5", SA_IMM_ATTR_SAANYT, 1, (void **)anyValues}; SaImmAttrValuesT_2 any6 = {"attr6", SA_IMM_ATTR_SAANYT, 3, (void **)anyValues}; SaImmAttrValuesT_2 any7 = {"attr7", SA_IMM_ATTR_SAANYT, 3, (void **)anyValues}; SaImmAttrModificationT_2 attrMod5 = {SA_IMM_ATTR_VALUES_REPLACE, any5}; SaImmAttrModificationT_2 attrMod6 = {SA_IMM_ATTR_VALUES_REPLACE, any6}; SaImmAttrModificationT_2 attrMod7 = {SA_IMM_ATTR_VALUES_REPLACE, any7}; const SaImmAttrModificationT_2 *attrMods[] = {&attrMod5, &attrMod6, &attrMod7, NULL}; safassert(saImmOmInitialize(&immOmHandle, NULL, &immVersion), SA_AIS_OK); safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); safassert(config_object_create(immOmHandle, ownerHandle, &rootObj), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, dnObjs, SA_IMM_ONE), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle), SA_AIS_OK); safassert(saImmOmCcbObjectModify_2(ccbHandle, &dnObj1, attrMods), SA_AIS_ERR_INVALID_PARAM); /* If we come here, then the test is successful */ test_validate(SA_AIS_OK, SA_AIS_OK); safassert(saImmOmCcbFinalize(ccbHandle), SA_AIS_OK); safassert(config_object_delete(immOmHandle, ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK); }
void saNtfStateChangeNotificationAllocate_01(void) { SaNtfStateChangeNotificationT myNotification; saNotificationAllocationParamsT myNotificationAllocationParams; saNotificationFilterAllocationParamsT myNotificationFilterAllocationParams; saNotificationParamsT myNotificationParams; fillInDefaultValues(&myNotificationAllocationParams, &myNotificationFilterAllocationParams, &myNotificationParams); safassert(saNtfInitialize(&ntfHandle, &ntfSendCallbacks, &ntfVersion), SA_AIS_OK); rc = saNtfStateChangeNotificationAllocate( ntfHandle, /* handle to Notification Service instance */ &myNotification, /* number of correlated notifications */ myNotificationAllocationParams.numCorrelatedNotifications, /* length of additional text */ myNotificationAllocationParams.lengthAdditionalText, /* number of additional info items*/ myNotificationAllocationParams.numAdditionalInfo, /* number of state changes */ myNotificationAllocationParams.numAttributes, /* use default allocation size */ myNotificationAllocationParams.variableDataSize); safassert(saNtfNotificationFree(myNotification.notificationHandle) , SA_AIS_OK); safassert(saNtfFinalize(ntfHandle) , SA_AIS_OK); test_validate(rc, SA_AIS_OK); }
void saImmOiFinalize_02(void) { safassert(saImmOiInitialize_2(&immOiHandle, &immOiCallbacks, &immVersion), SA_AIS_OK); rc = saImmOiFinalize(-1); test_validate(rc, SA_AIS_ERR_BAD_HANDLE); safassert(saImmOiFinalize(immOiHandle), SA_AIS_OK); }
void saImmOmAdminOwnerFinalize_03(void) { /* test release on finalize after someone else has done clear and set */ const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT) __FUNCTION__; const SaImmAdminOwnerNameT adminOwnerName2 = (SaImmAdminOwnerNameT) "RudeGuyAdminOwner"; SaImmAdminOwnerHandleT ownerHandle; SaImmAdminOwnerHandleT rudeGuyHandle; const SaNameT *objectNames[] = {&rootObj, NULL}; /* setup */ safassert(saImmOmInitialize(&immOmHandle, &immOmCallbacks, &immVersion), SA_AIS_OK); safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); /* rude guy interferes */ safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName2, SA_TRUE, &rudeGuyHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerClear(immOmHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(rudeGuyHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); /* Now test finalizing the original users handle. */ test_validate(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); /* Cleanup */ safassert(saImmOmAdminOwnerFinalize(rudeGuyHandle), SA_AIS_OK); safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK); }
/** * Provoke a SA_AIS_ERR_INVALID_PARAM reply */ void saNtfArrayAllocateTest_05(void) { SaStringT *arrayPtr; SaNtfAlarmNotificationT myAlarmNotification; safassert(saNtfInitialize(&ntfHandle, &ntfSendCallbacks, &ntfVersion) , SA_AIS_OK); safassert(saNtfAlarmNotificationAllocate( ntfHandle, &myAlarmNotification, 0, 0, 0, 0, 0, 2, SA_NTF_ALLOC_SYSTEM_LIMIT), SA_AIS_OK); myAlarmNotification.proposedRepairActions[0].actionValueType = SA_NTF_VALUE_ARRAY; rc = saNtfArrayValAllocate( myAlarmNotification.notificationHandle, (SaUint16T)5, (SaUint16T)(strlen(DEFAULT_ADDITIONAL_TEXT) + 1), (void**) &arrayPtr, NULL); safassert(saNtfNotificationFree(myAlarmNotification.notificationHandle) , SA_AIS_OK); safassert(saNtfFinalize(ntfHandle), SA_AIS_OK); test_validate(rc, SA_AIS_ERR_INVALID_PARAM); }
void saImmOiSelectionObjectGet_01(void) { safassert(saImmOiInitialize_2(&immOiHandle, &immOiCallbacks, &immVersion), SA_AIS_OK); rc = saImmOiSelectionObjectGet(immOiHandle, &selectionObject); test_validate(rc, SA_AIS_OK); safassert(saImmOiFinalize(immOiHandle), SA_AIS_OK); }
void saImmOmCcbObjectModify_2_18(void) { const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT) __FUNCTION__; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle; const SaNameT obj1 = { strlen("id=1"), "id=1" }; const SaNameT obj2 = { strlen("id=2"), "id=2" }; const SaNameT* attrValues[] = { &obj1 }; SaImmAttrValuesT_2 v1 = { "attr1", SA_IMM_ATTR_SANAMET, 1, (void**)attrValues }; SaImmAttrModificationT_2 attrMod = { SA_IMM_ATTR_VALUES_REPLACE, v1 }; const SaImmAttrModificationT_2 *attrMods[] = { &attrMod, NULL }; safassert(saImmOmInitialize(&immOmHandle, NULL, &immVersion), SA_AIS_OK); safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(nodangling_class_create(immOmHandle), SA_AIS_OK); safassert(object_create(immOmHandle, ownerHandle, nodanglingClassName, &obj1, NULL, NULL), SA_AIS_OK); safassert(object_create(immOmHandle, ownerHandle, nodanglingClassName, &obj2, NULL, NULL), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle), SA_AIS_OK); safassert(object_delete_2(ccbHandle, &obj1, 1), SA_AIS_OK); rc = saImmOmCcbObjectModify_2(ccbHandle, &obj2, attrMods); safassert(saImmOmCcbFinalize(ccbHandle), SA_AIS_OK); safassert(object_delete(ownerHandle, &obj2, 1), SA_AIS_OK); safassert(object_delete(ownerHandle, &obj1, 1), SA_AIS_OK); safassert(nodangling_class_delete(immOmHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK); test_validate(rc, SA_AIS_ERR_BAD_OPERATION); }
void saImmOmCcbFinalize_02(void) { const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT) __FUNCTION__; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle; const SaNameT parentName = {strlen("opensafImm=opensafImm,safApp=safImmService"), "opensafImm=opensafImm,safApp=safImmService"}; const SaNameT *objectNames[] = {&parentName, NULL}; safassert(saImmOmInitialize(&immOmHandle, &immOmCallbacks, &immVersion), SA_AIS_OK); safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle), SA_AIS_OK); /* invalid handle */ if ((rc = saImmOmCcbFinalize(-1)) != SA_AIS_ERR_BAD_HANDLE) goto done; /* already finalized handle */ safassert(saImmOmCcbFinalize(ccbHandle), SA_AIS_OK); rc = saImmOmCcbFinalize(ccbHandle); done: test_validate(rc, SA_AIS_ERR_BAD_HANDLE); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK); }
void saImmOmCcbObjectDelete_05(void) { const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT) __FUNCTION__; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle1; SaImmCcbHandleT ccbHandle2; const SaNameT *objectNames[] = {&parentName, NULL}; safassert(saImmOmInitialize(&immOmHandle, NULL, &immVersion), SA_AIS_OK); safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); safassert(config_class_create(immOmHandle), SA_AIS_OK); safassert(config_object_create(immOmHandle, ownerHandle, &parentName), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle1), SA_AIS_OK); safassert(saImmOmCcbObjectDelete(ccbHandle1, &dnObj1), SA_AIS_OK); /* ** At least one of the targeted objects is already the target of an ** administrative operation or of a change request in another CCB. */ safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle2), SA_AIS_OK); rc = saImmOmCcbObjectDelete(ccbHandle2, &dnObj1); safassert(saImmOmCcbFinalize(ccbHandle1), SA_AIS_OK); safassert(config_object_delete(immOmHandle, ownerHandle), SA_AIS_OK); safassert(config_class_delete(immOmHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK); test_validate(rc, SA_AIS_ERR_BUSY); }
void saImmOmCcbObjectModify_2_07(void) { const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT) __FUNCTION__; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle; const SaNameT *objectNames[] = {&rootObj, NULL}; SaStringT strValue1 = "String1-duplicate"; SaStringT strValue2 = "String2"; SaStringT* strValues[] = {&strValue1, &strValue2}; SaImmAttrValuesT_2 v1 = {"attr3", SA_IMM_ATTR_SASTRINGT, 2, (void**)strValues}; SaImmAttrModificationT_2 attrMod = {SA_IMM_ATTR_VALUES_DELETE, v1}; const SaImmAttrModificationT_2 *attrMods[] = {&attrMod, NULL}; safassert(saImmOmInitialize(&immOmHandle, NULL, &immVersion), SA_AIS_OK); safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); safassert(config_object_create(immOmHandle, ownerHandle, &rootObj), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, dnObjs, SA_IMM_ONE), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle), SA_AIS_OK); safassert(saImmOmCcbObjectModify_2(ccbHandle, &dnObj1, attrMods), SA_AIS_OK); test_validate(saImmOmCcbApply(ccbHandle), SA_AIS_OK); safassert(saImmOmCcbFinalize(ccbHandle), SA_AIS_OK); safassert(config_object_delete(immOmHandle, ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK); }
/** * Provoke a SA_AIS_ERR_BAD_HANDLE reply */ void saNtfPtrAllocateTest_03(void) { SaStringT *destPtr; SaNtfAlarmNotificationT myAlarmNotification; safassert(saNtfInitialize(&ntfHandle, &ntfSendCallbacks, &ntfVersion) , SA_AIS_OK); safassert(saNtfAlarmNotificationAllocate( ntfHandle, &myAlarmNotification, 0, 0, 0, 0, 0, 2, SA_NTF_ALLOC_SYSTEM_LIMIT), SA_AIS_OK); myAlarmNotification.proposedRepairActions[0].actionValueType = SA_NTF_VALUE_STRING; safassert(saNtfNotificationFree(myAlarmNotification.notificationHandle) , SA_AIS_OK); rc = saNtfPtrValAllocate( myAlarmNotification.notificationHandle, (SaUint16T)(strlen(DEFAULT_ADDITIONAL_TEXT) + 1), (void**) &destPtr, &(myAlarmNotification.proposedRepairActions[0].actionValue)); safassert(saNtfFinalize(ntfHandle), SA_AIS_OK); test_validate(rc, SA_AIS_ERR_BAD_HANDLE); }
static void saImmOmLongDn_03(void) { SaImmHandleT immHandle; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle; SaAisErrorT rc; SaNameT dn; const SaImmAdminOwnerNameT ownerName = (const SaImmAdminOwnerNameT)__FUNCTION__; SaImmAttrValueT rdnVal[1] = { (SaImmAttrValueT)&dn }; SaImmAttrValuesT_2 attrValue = { "rdn", SA_IMM_ATTR_SANAMET, 1, rdnVal }; const SaImmAttrValuesT_2 *attrValues[2] = { &attrValue, NULL }; safassert(saImmOmInitialize(&immHandle, NULL, &immVersion), SA_AIS_OK); config_class_create(immHandle); osaf_extended_name_lend(longDn, &dn); safassert(saImmOmAdminOwnerInitialize(immHandle, ownerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle), SA_AIS_OK); rc = saImmOmCcbObjectCreate_2(ccbHandle, configClassName, NULL, attrValues); saImmOmCcbApply(ccbHandle); safassert(saImmOmCcbFinalize(ccbHandle), SA_AIS_OK); safassert(object_delete(ownerHandle, &dn, 1), SA_AIS_OK); config_class_delete(immHandle); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immHandle), SA_AIS_OK); test_validate(rc, SA_AIS_OK); }
/* Test all filter handles set to NULL */ void saNtfNotificationSubscribe_03(void) { SaNtfHandleT ntfHandle; SaNtfNotificationTypeFilterHandlesT myNotificationFilterHandles; saNotificationAllocationParamsT myNotificationAllocationParams; saNotificationFilterAllocationParamsT myNotificationFilterAllocationParams; saNotificationParamsT myNotificationParams; fillInDefaultValues(&myNotificationAllocationParams, &myNotificationFilterAllocationParams, &myNotificationParams); safassert(saNtfInitialize(&ntfHandle, &ntfCallbacks, &ntfVersion), SA_AIS_OK); /* Initialize filter handles */ myNotificationFilterHandles.alarmFilterHandle = 0; myNotificationFilterHandles.attributeChangeFilterHandle = 0; myNotificationFilterHandles.objectCreateDeleteFilterHandle = 0; myNotificationFilterHandles.securityAlarmFilterHandle = 0; myNotificationFilterHandles.stateChangeFilterHandle = 0; rc = saNtfNotificationSubscribe(&myNotificationFilterHandles, 4); safassert(saNtfNotificationUnsubscribe(4), SA_AIS_ERR_NOT_EXIST); safassert(saNtfFinalize(ntfHandle), SA_AIS_OK); free(myNotificationParams.additionalText); /* allocated in fillInDefaultValues */ test_validate(rc, SA_AIS_ERR_INVALID_PARAM); }
void saImmOmCcbObjectDelete_02(void) { const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT) __FUNCTION__; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle; const SaNameT *objectNames[] = {&parentName, NULL}; safassert(saImmOmInitialize(&immOmHandle, &immOmCallbacks, &immVersion), SA_AIS_OK); safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); safassert(config_class_create(immOmHandle), SA_AIS_OK); safassert(config_object_create(immOmHandle, ownerHandle, &parentName), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle), SA_AIS_OK); /* invalid ccbHandle */ if ((rc = saImmOmCcbObjectDelete(-1, &dnObj1)) != SA_AIS_ERR_BAD_HANDLE) goto done; /* already finalized ccbHandle */ safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle), SA_AIS_OK); safassert(saImmOmCcbFinalize(ccbHandle), SA_AIS_OK); rc = saImmOmCcbObjectDelete(ccbHandle, &dnObj1); done: test_validate(rc, SA_AIS_ERR_BAD_HANDLE); safassert(config_object_delete(immOmHandle, ownerHandle), SA_AIS_OK); safassert(config_class_delete(immOmHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK); }
void saNtfNotificationReadInitialize_04(void) { SaNtfHandleT ntfHandle; SaNtfSearchCriteriaT searchCriteria; SaNtfAlarmNotificationFilterT myAlarmFilter; SaNtfObjectCreateDeleteNotificationFilterT myObjCrDeFilter; SaNtfNotificationTypeFilterHandlesT myNotificationFilterHandles; SaNtfReadHandleT readHandle; searchCriteria.searchMode = SA_NTF_SEARCH_AT_OR_AFTER_TIME; fillInDefaultValues(&myNotificationAllocationParams, &myNotificationFilterAllocationParams, &myNotificationParams); safassert(saNtfInitialize(&ntfHandle, &ntfCallbacks, &ntfVersion),SA_AIS_OK); safassert(saNtfAlarmNotificationFilterAllocate( ntfHandle, /* handle to Notification Service instance */ &myAlarmFilter, /* put filter here */ /* number of event types */ myNotificationFilterAllocationParams.numEventTypes, /* number of notification objects */ myNotificationFilterAllocationParams.numNotificationObjects, /* number of notifying objects */ myNotificationFilterAllocationParams.numNotifyingObjects, /* number of notification class ids */ myNotificationFilterAllocationParams.numNotificationClassIds, /* number of probable causes */ myNotificationFilterAllocationParams.numProbableCauses, /* number of perceived severities */ myNotificationFilterAllocationParams.numPerceivedSeverities, /* number of trend indications */ myNotificationFilterAllocationParams.numTrends), SA_AIS_OK); safassert(saNtfObjectCreateDeleteNotificationFilterAllocate( ntfHandle, /* handle to Notification Service instance */ &myObjCrDeFilter, /* put filter here */ /* number of event types */ myNotificationFilterAllocationParams.numEventTypes, /* number of notification objects */ myNotificationFilterAllocationParams.numNotificationObjects, /* number of notifying objects */ myNotificationFilterAllocationParams.numNotifyingObjects, /* number of notification class ids */ myNotificationFilterAllocationParams.numNotificationClassIds, /* number of source indicators */ 0), SA_AIS_OK); myNotificationFilterHandles.alarmFilterHandle = myAlarmFilter.notificationFilterHandle; myNotificationFilterHandles.alarmFilterHandle = myObjCrDeFilter.notificationFilterHandle; rc = saNtfNotificationReadInitialize(searchCriteria, &myNotificationFilterHandles, &readHandle); safassert(saNtfFinalize(ntfHandle), SA_AIS_OK); free(myNotificationParams.additionalText); test_validate(rc, SA_AIS_OK); }
void saClmFinalize_03(void) { safassert(saClmInitialize(&clmHandle, &clmCallbacks_1, &clmVersion_1), SA_AIS_OK); safassert(saClmFinalize(clmHandle), SA_AIS_OK); rc = saClmFinalize(clmHandle); test_validate(rc, SA_AIS_ERR_BAD_HANDLE); }
static void saImmOmLongDn_05(void) { SaImmHandleT immHandle; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle; SaAisErrorT rc; SaNameT dn; const SaImmAdminOwnerNameT ownerName = (const SaImmAdminOwnerNameT)__FUNCTION__; safassert(saImmOmInitialize(&immHandle, NULL, &immVersion), SA_AIS_OK); config_class_create(immHandle); safassert(saImmOmAdminOwnerInitialize(immHandle, ownerName, SA_TRUE, &ownerHandle), SA_AIS_OK); osaf_extended_name_lend(longDn, &dn); safassert(object_create(immHandle, ownerHandle, configClassName, &dn, NULL, NULL), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle), SA_AIS_OK); rc = saImmOmCcbObjectDelete(ccbHandle, &dn); saImmOmCcbApply(ccbHandle); safassert(saImmOmCcbFinalize(ccbHandle), SA_AIS_OK); config_class_delete(immHandle); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immHandle), SA_AIS_OK); test_validate(rc, SA_AIS_OK); }
/* SA_AIS_ERR_BUSY */ void saImmOmCcbObjectModify_2_06(void) { const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT) __FUNCTION__; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle1; SaImmCcbHandleT ccbHandle2; const SaNameT *objectNames[] = {&rootObj, NULL}; SaUint32T int1Value1 = __LINE__; SaUint32T* int1Values[] = {&int1Value1}; SaImmAttrValuesT_2 v1 = {"attr1", SA_IMM_ATTR_SAUINT32T, 1, (void**)int1Values}; SaImmAttrModificationT_2 attrMod = {SA_IMM_ATTR_VALUES_REPLACE, v1}; const SaImmAttrModificationT_2 *attrMods[] = {&attrMod, NULL}; safassert(saImmOmInitialize(&immOmHandle, NULL, &immVersion), SA_AIS_OK); safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); safassert(config_object_create(immOmHandle, ownerHandle, &rootObj), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, dnObjs, SA_IMM_ONE), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle1), SA_AIS_OK); safassert(saImmOmCcbObjectModify_2(ccbHandle1, &dnObj1, attrMods), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle2), SA_AIS_OK); test_validate(saImmOmCcbObjectModify_2(ccbHandle2, &dnObj1, attrMods), SA_AIS_ERR_BUSY); safassert(saImmOmCcbFinalize(ccbHandle1), SA_AIS_OK); safassert(saImmOmCcbFinalize(ccbHandle2), SA_AIS_OK); safassert(config_object_delete(immOmHandle, ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK); }
/** * Test the content of an MiscellaneousNotification * Strategy: Set up a subscription and send a notification. * Check it. */ void miscellaneousNotificationTest(void) { /* TODO: Implement test once the API exist */ subscriptionId = 6; resetCounters(); test_validate(SA_AIS_ERR_NOT_SUPPORTED, SA_AIS_OK); }
void saLogStreamOpen_2_06(void) { safassert(saLogInitialize(&logHandle, &logCallbacks, &logVersion), SA_AIS_OK); rc = saLogStreamOpen_2(logHandle, &systemStreamName, NULL, 0, SA_TIME_ONE_SECOND, NULL); safassert(saLogFinalize(logHandle), SA_AIS_OK); test_validate(rc, SA_AIS_ERR_INVALID_PARAM); }
void saLogStreamOpen_2_04(void) { safassert(saLogInitialize(&logHandle, &logCallbacks, &logVersion), SA_AIS_OK); rc = saLogStreamOpen_2(logHandle, &app1StreamName, &appStream1LogFileCreateAttributes, SA_LOG_STREAM_CREATE, SA_TIME_ONE_SECOND, &logStreamHandle); safassert(saLogFinalize(logHandle), SA_AIS_OK); test_validate(rc, SA_AIS_OK); }
void saPlmFinalize_01(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); rc = saPlmFinalize(plmHandle); test_validate(rc, SA_AIS_OK); }
void saLogStreamOpen_2_03(void) { safassert(saLogInitialize(&logHandle, &logCallbacks, &logVersion), SA_AIS_OK); rc = saLogStreamOpen_2(logHandle, &alarmStreamName, NULL, 0, SA_TIME_ONE_SECOND, &logStreamHandle); safassert(saLogFinalize(logHandle), SA_AIS_OK); test_validate(rc, SA_AIS_OK); }
/* SA_AIS_ERR_INVALID_PARAM */ void saImmOmCcbObjectModify_2_03(void) { const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT) __FUNCTION__; SaImmAdminOwnerHandleT ownerHandle; SaImmCcbHandleT ccbHandle; const SaNameT *objectNames[] = {&rootObj, NULL}; SaUint32T int1Value1 = __LINE__; SaUint32T* int1Values[] = {&int1Value1}; const SaNameT rdn = {sizeof("Obj2"), "Obj2"}; const SaNameT* nameValues[] = {&rdn, NULL}; SaImmAttrValuesT_2 v1 = {"attr2", SA_IMM_ATTR_SAUINT32T, 1, (void**)int1Values}; SaImmAttrValuesT_2 v3 = {"attr1", SA_IMM_ATTR_SAINT32T, 1, (void**)int1Values}; SaImmAttrValuesT_2 v4 = {"rdn", SA_IMM_ATTR_SANAMET, 1, (void**)nameValues}; SaImmAttrModificationT_2 attrMod1 = {SA_IMM_ATTR_VALUES_REPLACE, v1}; const SaImmAttrModificationT_2 *attrMods1[] = {&attrMod1, NULL}; SaImmAttrModificationT_2 attrMod3 = {SA_IMM_ATTR_VALUES_REPLACE, v3}; const SaImmAttrModificationT_2 *attrMods3[] = {&attrMod3, NULL}; SaImmAttrModificationT_2 attrMod4 = {SA_IMM_ATTR_VALUES_REPLACE, v4}; const SaImmAttrModificationT_2 *attrMods4[] = {&attrMod4, NULL}; safassert(saImmOmInitialize(&immOmHandle, NULL, &immVersion), SA_AIS_OK); safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, objectNames, SA_IMM_ONE), SA_AIS_OK); safassert(config_object_create(immOmHandle, ownerHandle, &rootObj), SA_AIS_OK); safassert(saImmOmAdminOwnerSet(ownerHandle, dnObjs, SA_IMM_ONE), SA_AIS_OK); safassert(saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle), SA_AIS_OK); /* runtime attributes */ if ((rc = saImmOmCcbObjectModify_2(ccbHandle, &dnObj1, attrMods1)) != SA_AIS_ERR_INVALID_PARAM) goto done; #if 0 A.02.01 spec bug. Fixed in A.03.01 /* attributes that are not defined for the specified class */ if ((rc = saImmOmCcbObjectModify_2(ccbHandle, &dnObj1, attrMods2)) != SA_AIS_ERR_INVALID_PARAM) goto done; #endif /* attributes with values that do not match the defined value type for the attribute */ if ((rc = saImmOmCcbObjectModify_2(ccbHandle, &dnObj1, attrMods3)) != SA_AIS_ERR_INVALID_PARAM) goto done; /* a new value for the RDN attribute */ if ((rc = saImmOmCcbObjectModify_2(ccbHandle, &dnObj1, attrMods4)) != SA_AIS_ERR_INVALID_PARAM) goto done; /* attributes that cannot be modified */ /* multiple values or additional values for a single-valued attribute */ done: safassert(config_object_delete(immOmHandle, ownerHandle), SA_AIS_OK); safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK); safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK); test_validate(rc, SA_AIS_ERR_INVALID_PARAM); }
void saLogWriteLog_01(void) { safassert(saLogInitialize(&logHandle, &logCallbacks, &logVersion), SA_AIS_OK); safassert(saLogStreamOpen_2(logHandle, &systemStreamName, NULL, 0, SA_TIME_ONE_SECOND, &logStreamHandle), SA_AIS_OK); rc = saLogWriteLog(logStreamHandle, SA_TIME_ONE_SECOND, &genLogRecord); safassert(saLogFinalize(logHandle), SA_AIS_OK); test_validate(rc, SA_AIS_OK); }
void saLogStreamOpen_2_22(void) { init_file_create_attributes(); safassert(saLogInitialize(&logHandle, &logCallbacks, &logVersion), SA_AIS_OK); rc = saLogStreamOpen_2(logHandle, &app1StreamName, NULL, 0, SA_TIME_ONE_SECOND, &logStreamHandle); safassert(saLogFinalize(logHandle), SA_AIS_OK); test_validate(rc, SA_AIS_ERR_NOT_EXIST); }
/** * Test that return value SA_AIS_ERR_BAD_HANDLE works * * Strategy: Set the handle to zero or invalid number * Create a handle and then destroy it. */ void saNtfObjectCreateDeleteNotificationAllocate_02(void) { int errors = 0; SaNtfObjectCreateDeleteNotificationT myNotification; saNotificationAllocationParamsT myNotificationAllocationParams; saNotificationFilterAllocationParamsT myNotificationFilterAllocationParams; saNotificationParamsT myNotificationParams; fillInDefaultValues(&myNotificationAllocationParams, &myNotificationFilterAllocationParams, &myNotificationParams); ntfHandle = 0; rc = saNtfObjectCreateDeleteNotificationAllocate( ntfHandle, /* handle to Notification Service instance */ &myNotification, /* number of correlated notifications */ myNotificationAllocationParams.numCorrelatedNotifications, /* length of additional text */ myNotificationAllocationParams.lengthAdditionalText, /* number of additional info items*/ myNotificationAllocationParams.numAdditionalInfo, /* number of state changes */ myNotificationAllocationParams.numObjectAttributes, /* use default allocation size */ myNotificationAllocationParams.variableDataSize); if(rc != SA_AIS_ERR_BAD_HANDLE) { errors++; } free(myNotificationParams.additionalText); safassert(saNtfInitialize(&ntfHandle, &ntfCallbacks, &ntfVersion), SA_AIS_OK); safassert(saNtfFinalize(ntfHandle), SA_AIS_OK); rc = saNtfObjectCreateDeleteNotificationAllocate( ntfHandle, /* handle to Notification Service instance */ &myNotification, /* number of correlated notifications */ myNotificationAllocationParams.numCorrelatedNotifications, /* length of additional text */ myNotificationAllocationParams.lengthAdditionalText, /* number of additional info items*/ myNotificationAllocationParams.numAdditionalInfo, /* number of state changes */ myNotificationAllocationParams.numObjectAttributes, /* use default allocation size */ myNotificationAllocationParams.variableDataSize); if(rc != SA_AIS_ERR_BAD_HANDLE) { errors++; } rc = (errors == 0)? SA_AIS_OK: SA_AIS_ERR_BAD_HANDLE; test_validate(rc, SA_AIS_OK); }
void saPlmEntityGroupCreate_03(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); rc = saPlmEntityGroupCreate( -1 ,&entityGroupHandle); test_validate(rc, SA_AIS_ERR_BAD_HANDLE); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }
void saNtfNotificationUnsubscribe_03(void) { SaNtfHandleT ntfHandle; safassert(saNtfInitialize(&ntfHandle, &ntfCallbacks, &ntfVersion), SA_AIS_OK); rc = saNtfNotificationUnsubscribe(44); safassert(saNtfFinalize(ntfHandle), SA_AIS_OK); test_validate(rc, SA_AIS_ERR_NOT_EXIST); }
void saPlmEntityGroupCreate_04(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); rc = saPlmEntityGroupCreate(plmHandle,NULL); test_validate(rc, SA_AIS_ERR_INVALID_PARAM); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }