---
 .../apitest/management/test_saImmOmClassCreate_2.c | 129 +++++++++++++++++++++
 .../apitest/management/test_saImmOmClassDelete.c   |  27 +++++
 .../management/test_saImmOmClassDescriptionGet_2.c |  32 +++++
 src/imm/apitest/management/test_saImmOmDispatch.c  | 122 +++++++++++++++++++
 src/imm/apitest/management/test_saImmOmFinalize.c  |  26 +++++
 .../apitest/management/test_saImmOmInitialize.c    |  53 +++++++++
 .../management/test_saImmOmSelectionObjectGet.c    |  26 +++++
 7 files changed, 415 insertions(+)

diff --git a/src/imm/apitest/management/test_saImmOmClassCreate_2.c 
b/src/imm/apitest/management/test_saImmOmClassCreate_2.c
index 4f25f8b..f43884e 100644
--- a/src/imm/apitest/management/test_saImmOmClassCreate_2.c
+++ b/src/imm/apitest/management/test_saImmOmClassCreate_2.c
@@ -426,6 +426,110 @@ void saImmOmClassCreate_2_19(void)
        safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
 }
 
+/* Object to test: saImmOmClassCreate_2() API:
+ * Test: Creating a config class with invalid handle
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:Now call the saImmOmClassCreate_2() with -1
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmClassCreate_2_with_invalid_handle_with_config_class(void)
+{
+       const SaImmClassNameT className = (SaImmClassNameT) __FUNCTION__;
+       SaImmAttrDefinitionT_2 attr1 = {"rdn", SA_IMM_ATTR_SANAMET,
+                                       SA_IMM_ATTR_CONFIG | SA_IMM_ATTR_RDN,
+                                       NULL};
+       const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
+
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       rc = immutil_saImmOmClassCreate_2(-1, className, SA_IMM_CLASS_CONFIG,
+                                 attrDefinitions);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
+}
+
+/* Object to test: saImmOmClassCreate_2() API:
+ * Test: Creating a config class with uninitialized handle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmClassCreate_2_uninitialized_handle_with_config_class(void)
+{
+       const SaImmClassNameT className = (SaImmClassNameT) __FUNCTION__;
+       SaImmAttrDefinitionT_2 attr1 = {"rdn", SA_IMM_ATTR_SANAMET,
+                                       SA_IMM_ATTR_CONFIG | SA_IMM_ATTR_RDN,
+                                       NULL};
+       const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
+
+       rc = immutil_saImmOmClassCreate_2(immOmHandle, className, 
SA_IMM_CLASS_CONFIG,
+                                 attrDefinitions);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+/* Object to test: saImmOmClassCreate_2() API:
+ * Test: Creating a runtime class with uninitialized handle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmClassCreate_2_with_uninitialized_handle_with_runtime_class(void)
+{
+       const SaImmClassNameT className = (SaImmClassNameT) __FUNCTION__;
+       SaImmAttrDefinitionT_2 attr1 = {
+           "rdn", SA_IMM_ATTR_SANAMET,
+           SA_IMM_ATTR_RUNTIME | SA_IMM_ATTR_RDN | SA_IMM_ATTR_CACHED, NULL};
+       const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
+
+       rc = immutil_saImmOmClassCreate_2(immOmHandle, className, 
SA_IMM_CLASS_RUNTIME,
+                                 attrDefinitions);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+
+/* Object to test: saImmOmClassCreate_2() API:
+ * Test: Creating a config class with invalid handle
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:Call saImmOmFinalize()
+ * step3:Now call the saImmOmClassCreate_2() with immOmHandle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmClassCreate_2_with_finalized_handle_config_class(void)
+{
+       const SaImmClassNameT className = (SaImmClassNameT) __FUNCTION__;
+       SaImmAttrDefinitionT_2 attr1 = {"rdn", SA_IMM_ATTR_SANAMET,
+                                       SA_IMM_ATTR_CONFIG | SA_IMM_ATTR_RDN,
+                                       NULL};
+       const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
+
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       immutil_saImmOmFinalize(immOmHandle);
+       rc = immutil_saImmOmClassCreate_2(immOmHandle, className, 
SA_IMM_CLASS_CONFIG,
+                                 attrDefinitions);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+
+/* Object to test: saImmOmClassCreate_2() API:
+ * Test: Creating a runtime class with invalid handle
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:Call saImmOmFinalize()
+ * step3:Now call the saImmOmClassCreate_2() with immOmHandle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmClassCreate_2_with_finalized_handle_runtime_class(void)
+{
+       const SaImmClassNameT className = (SaImmClassNameT) __FUNCTION__;
+       SaImmAttrDefinitionT_2 attr1 = {
+           "rdn", SA_IMM_ATTR_SANAMET,
+           SA_IMM_ATTR_RUNTIME | SA_IMM_ATTR_RDN | SA_IMM_ATTR_CACHED, NULL};
+       const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
+
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       immutil_saImmOmFinalize(immOmHandle);
+       rc = immutil_saImmOmClassCreate_2(immOmHandle, className, 
SA_IMM_CLASS_RUNTIME,
+                                 attrDefinitions);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
 /*
   Verify it is not allowed to create IMM object class with reserved name.
   NOTE: As the list of reserved class names is read from the environment
@@ -1435,6 +1539,7 @@ extern void saImmOmClassDescriptionGet_2_02(void);
 extern void saImmOmClassDescriptionGet_2_03(void);
 extern void saImmOmClassDescriptionGet_2_04(void);
 extern void saImmOmClassDescriptionGet_2_05(void);
+extern void saImmOmClassDescriptionGet_2_with_className_as_null(void);
 extern void saImmOmClassDescriptionMemoryFree_2_01(void);
 extern void saImmOmClassDescriptionMemoryFree_2_02(void);
 
@@ -1442,6 +1547,7 @@ extern void saImmOmClassDelete_2_01(void);
 extern void saImmOmClassDelete_2_02(void);
 extern void saImmOmClassDelete_2_03(void);
 extern void saImmOmClassDelete_2_04(void);
+extern void saImmOmClassDelete_2_with_deleted_class(void);
 
 __attribute__((constructor)) static void saImmOmInitialize_constructor(void)
 {
@@ -1497,6 +1603,22 @@ __attribute__((constructor)) static void 
saImmOmInitialize_constructor(void)
        test_case_add(
            2, saImmOmClassCreate_2_19,
            "saImmOmClassCreate_2 - SA_AIS_OK, Create a class that has 
STRONG_DEFAULT flag without having default value");
+       test_case_add(2, 
saImmOmClassCreate_2_with_invalid_handle_with_config_class,
+                     "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE, create 
config"
+                     " class with invalid handle");
+       test_case_add(2, 
saImmOmClassCreate_2_uninitialized_handle_with_config_class,
+                     "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE, create 
config"
+                     " class with uninitialized handle");
+       test_case_add(2, 
saImmOmClassCreate_2_with_uninitialized_handle_with_runtime_class,
+                     "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE, create 
runtime"
+                     "  class with uninitialized handle ");
+       test_case_add(2, 
saImmOmClassCreate_2_with_finalized_handle_config_class,
+                     "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE, create 
config"
+                     " class with finalized handle");
+       test_case_add(2, 
saImmOmClassCreate_2_with_finalized_handle_runtime_class,
+                     "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE, create 
runtime"
+                     " class with finalized handle");
+
        test_case_add(
                2, saImmOmClassCreate_with_reserved_name_01,
                "saImmOmClassCreate_2 - SA_AIS_ERR_INVALID_PARAM,"
@@ -1519,6 +1641,9 @@ __attribute__((constructor)) static void 
saImmOmInitialize_constructor(void)
        test_case_add(
            2, saImmOmClassDescriptionGet_2_05,
            "saImmOmClassDescriptionGet_2 - SA_AIS_OK, Fetch includes 
SA_IMM_ATTR_NO_DANGLING");
+       test_case_add(2, saImmOmClassDescriptionGet_2_with_className_as_null,
+                     "saImmOmClassDescriptionGet_2 - SA_AIS_ERR_INVALID_PARAM"
+                     "Get class descriptor of an invalid class name");
 
        test_case_add(2, saImmOmClassDescriptionMemoryFree_2_01,
                      "saImmOmClassDescriptionMemoryFree_2 - SA_AIS_OK");
@@ -1539,6 +1664,10 @@ __attribute__((constructor)) static void 
saImmOmInitialize_constructor(void)
        test_case_add(
            2, saImmOmClassDelete_2_04,
            "saImmOmClassDelete_2  - SA_AIS_ERR_INVALID_PARAM, Empty 
classname");
+       test_case_add(
+           2, saImmOmClassDelete_2_with_deleted_class,
+           "saImmOmClassDelete_2 - SA_AIS_ERR_NOT_EXIST "
+           "Double delete class name");
 
        test_case_add(
            2, saImmOmClassCreate_SchemaChange_2_01,
diff --git a/src/imm/apitest/management/test_saImmOmClassDelete.c 
b/src/imm/apitest/management/test_saImmOmClassDelete.c
index 273d192..ffcf481 100644
--- a/src/imm/apitest/management/test_saImmOmClassDelete.c
+++ b/src/imm/apitest/management/test_saImmOmClassDelete.c
@@ -76,3 +76,30 @@ void saImmOmClassDelete_2_04(void)
        test_validate(rc, SA_AIS_ERR_INVALID_PARAM);
        safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
 }
+
+/* Object to test: saImmOmClassDelete() API:
+ * Test: deleting the class which is already deleted
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:Call saImmOmClassCreate_2()
+ * step3:Now call the saImmOmClassDelete()
+ * step4:Now again call this saImmOmClassDelete()
+ * Result: Shall fail with return code SA_AIS_ERR_NOT_EXIST
+ */
+void saImmOmClassDelete_2_with_deleted_class(void)
+{
+       const SaImmClassNameT className = (SaImmClassNameT) __FUNCTION__;
+       SaImmAttrDefinitionT_2 attr1 = {"rdn", SA_IMM_ATTR_SANAMET,
+                                       SA_IMM_ATTR_CONFIG | SA_IMM_ATTR_RDN,
+                                       NULL};
+       const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
+
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+       SA_AIS_OK);
+       safassert(immutil_saImmOmClassCreate_2(immOmHandle, className,
+                                      SA_IMM_CLASS_CONFIG, attrDefinitions),
+                 SA_AIS_OK);
+       immutil_saImmOmClassDelete(immOmHandle, className);
+       rc = immutil_saImmOmClassDelete(immOmHandle, className);
+       test_validate(rc, SA_AIS_ERR_NOT_EXIST);
+       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
+}
diff --git a/src/imm/apitest/management/test_saImmOmClassDescriptionGet_2.c 
b/src/imm/apitest/management/test_saImmOmClassDescriptionGet_2.c
index ecf7ceb..1d4e8eb 100644
--- a/src/imm/apitest/management/test_saImmOmClassDescriptionGet_2.c
+++ b/src/imm/apitest/management/test_saImmOmClassDescriptionGet_2.c
@@ -175,3 +175,35 @@ void saImmOmClassDescriptionGet_2_05(void)
        safassert(immutil_saImmOmClassDelete(immOmHandle, className), 
SA_AIS_OK);
        safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
 }
+
+/* Object to test: saImmOmClassDescriptionGet_2() API:
+ * Test: Getting the class description with invalid params
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:Call saImmOmClassCreate_2()
+ * step3:Now call the saImmOmClassDescriptionGet_2() with class name as null
+ * Result: Shall fail with return code SA_AIS_ERR_INVALID_PARAM
+ */
+void saImmOmClassDescriptionGet_2_with_className_as_null(void)
+{
+       const SaImmClassNameT className = (SaImmClassNameT) __FUNCTION__;
+       SaImmAttrDefinitionT_2 attr1 = {
+           "rdn", SA_IMM_ATTR_SANAMET,
+           SA_IMM_ATTR_RUNTIME | SA_IMM_ATTR_RDN | SA_IMM_ATTR_CACHED, NULL};
+       const SaImmAttrDefinitionT_2 *attrDefinitionsIn[] = {&attr1, NULL};
+       SaImmClassCategoryT classCategory;
+       SaImmAttrDefinitionT_2 **attrDefinitionsOut;
+
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       safassert(immutil_saImmOmClassCreate_2(immOmHandle, className,
+                                      SA_IMM_CLASS_RUNTIME, attrDefinitionsIn),
+                 SA_AIS_OK);
+       rc = immutil_saImmOmClassDescriptionGet_2(immOmHandle, NULL,
+                                         &classCategory, &attrDefinitionsOut);
+       test_validate(rc, SA_AIS_ERR_INVALID_PARAM);
+       safassert(immutil_saImmOmClassDescriptionMemoryFree_2(immOmHandle,
+                                                     attrDefinitionsOut),
+                 SA_AIS_OK);
+       safassert(immutil_saImmOmClassDelete(immOmHandle, className), 
SA_AIS_OK);
+       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
+}
diff --git a/src/imm/apitest/management/test_saImmOmDispatch.c 
b/src/imm/apitest/management/test_saImmOmDispatch.c
index 3648a95..c5c411c 100644
--- a/src/imm/apitest/management/test_saImmOmDispatch.c
+++ b/src/imm/apitest/management/test_saImmOmDispatch.c
@@ -52,3 +52,125 @@ void saImmOmDispatch_04(void)
        test_validate(rc, SA_AIS_ERR_INVALID_PARAM);
        safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
 }
+
+/* Object to test: saImmOmDispatch() API:
+ * Test:Dispatching with uninitialized handle and SA_DISPATCH_ONE
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ONE(void)
+{
+       rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_ONE);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+/* Object to test: saImmOmDispatch() API:
+ * Test: Dispatching with finalized handle and SA_DISPATCH_ONE
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:call saImmOmFinalize()
+ * step3:Now call the saImmOmDispatch() with immOmHandle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ONE(void)
+{
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       immutil_saImmOmFinalize(immOmHandle);
+       rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_ONE);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+/* Object to test: saImmOmDispatch() API:
+ * Test:Dispatching with initialized handle and SA_DISPATCH_BLOCKING
+ * Result: Shall pass with return code SA_AIS_OK
+ */
+void saImmOmDispatch_with_SA_DISPATCH_BLOCKING(void)
+{
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_BLOCKING);
+       test_validate(rc, SA_AIS_OK);
+       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
+}
+
+/* Object to test: saImmOmDispatch() API:
+ * Test: Dispatching with invalid handle and SA_DISPATCH_ALL
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:Now call the saImmOmDispatch() with -1
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_ALL(void)
+{
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       rc = saImmOmDispatch(-1, SA_DISPATCH_ALL);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
+}
+
+/* Object to test: saImmOmDispatch() API:
+ * Test:Dispatching with uninitialized handle and SA_DISPATCH_ALL
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ALL(void)
+{
+       rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_ALL);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+/* Object to test: saImmOmDispatch() API:
+ * Test: Dispatching with finalized handle and SA_DISPATCH_ALL
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:call saImmOmFinalize()
+ * step3:Now call the saImmOmDispatch() with immOmHandle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+
+void saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ALL(void)
+{
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       immutil_saImmOmFinalize(immOmHandle);
+       rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_ALL);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+/* Object to test: saImmOmDispatch() API:
+ * Test: Dispatching with invalid handle and SA_DISPATCH_BLOCKING
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:Now call the saImmOmDispatch() with -1
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_BLOCKING(void)
+{
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       rc = saImmOmDispatch(-1, SA_DISPATCH_BLOCKING);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
+}
+
+/* Object to test: saImmOmDispatch() API:
+ * Test:Dispatching with uninitialized handle and SA_DISPATCH_BLOCKING
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_BLOCKING(void)
+{
+       rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_BLOCKING);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+/* Object to test: saImmOmDispatch() API:
+ * Test: Dispatching with finalized handle and SA_DISPATCH_BLOCKING
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:call saImmOmFinalize()
+ * step3:Now call the saImmOmDispatch() with immOmHandle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_BLOCKING(void)
+{
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       immutil_saImmOmFinalize(immOmHandle);
+       rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_BLOCKING);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
diff --git a/src/imm/apitest/management/test_saImmOmFinalize.c 
b/src/imm/apitest/management/test_saImmOmFinalize.c
index 1c60657..421d64d 100644
--- a/src/imm/apitest/management/test_saImmOmFinalize.c
+++ b/src/imm/apitest/management/test_saImmOmFinalize.c
@@ -33,3 +33,29 @@ void saImmOmFinalize_02(void)
        test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
        safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
 }
+
+/* Object to test: saImmOmFinalize() API:
+ * Test: Finalizing with finalized handle
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:call saImmOmFinalize()
+ * step3:call saImmOmFinalize() with immOmHandle handle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmFinalize_with_finalized_handle(void)
+{
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       rc = immutil_saImmOmFinalize(immOmHandle);
+       rc = immutil_saImmOmFinalize(immOmHandle);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+/* Object to test: saImmOmFinalize() API:
+ * Test: Finalizing with uninitialized handle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmFinalize_with_uninitialized_handle(void)
+{
+       rc = immutil_saImmOmFinalize(immOmHandle);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
diff --git a/src/imm/apitest/management/test_saImmOmInitialize.c 
b/src/imm/apitest/management/test_saImmOmInitialize.c
index 9dcfe7a..e97da1d 100644
--- a/src/imm/apitest/management/test_saImmOmInitialize.c
+++ b/src/imm/apitest/management/test_saImmOmInitialize.c
@@ -303,12 +303,25 @@ void saImmOmInitialize_11(void)
 
 extern void saImmOmSelectionObjectGet_01(void);
 extern void saImmOmSelectionObjectGet_02(void);
+extern void saImmOmSelectionObjectGet_with_uninitialized_handle(void);
+extern void saImmOmSelectionObjectGet_with_finalized_handle(void);
 extern void saImmOmDispatch_01(void);
 extern void saImmOmDispatch_02(void);
 extern void saImmOmDispatch_03(void);
 extern void saImmOmDispatch_04(void);
+extern void 
saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ONE(void);
+extern void saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ONE(void);
+extern void saImmOmDispatch_with_SA_DISPATCH_BLOCKING(void);
+extern void saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_ALL(void);
+extern void 
saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ALL(void);
+extern void saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ALL(void);
+extern void 
saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_BLOCKING(void);
+extern void 
saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_BLOCKING(void);
+extern void 
saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_BLOCKING(void);
 extern void saImmOmFinalize_01(void);
 extern void saImmOmFinalize_02(void);
+extern void saImmOmFinalize_with_finalized_handle(void);
+extern void saImmOmFinalize_with_uninitialized_handle(void);
 extern void saImmOmThreadInterference_01(void);
 
 __attribute__((constructor)) static void saImmOmInitialize_constructor(void)
@@ -350,6 +363,14 @@ __attribute__((constructor)) static void 
saImmOmInitialize_constructor(void)
        test_case_add(
            1, saImmOmSelectionObjectGet_02,
            "saImmOmSelectionObjectGet - SA_AIS_ERR_BAD_HANDLE - invalid 
handle");
+       test_case_add(
+           1, saImmOmSelectionObjectGet_with_uninitialized_handle,
+           "saImmOmSelectionObjectGet - SA_AIS_ERR_BAD_HANDLE "
+           "- uninitialized handle");
+       test_case_add(
+           1, saImmOmSelectionObjectGet_with_finalized_handle,
+           "saImmOmSelectionObjectGet - SA_AIS_ERR_BAD_HANDLE "
+           "- finalized handle");
 
        test_case_add(1, saImmOmDispatch_01,
                      "saImmOmDispatch - SA_AIS_OK SA_DISPATCH_ALL");
@@ -361,11 +382,43 @@ __attribute__((constructor)) static void 
saImmOmInitialize_constructor(void)
        test_case_add(
            1, saImmOmDispatch_04,
            "saImmOmDispatch - SA_AIS_ERR_INVALID_PARAM - invalid 
dispatchFlags");
+       test_case_add(
+           1, saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ONE,
+           "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - uninitialized handle 
SA_DISPATCH_ONE");
+       test_case_add(
+           1, saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ONE,
+           "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - finalized handle 
SA_DISPATCH_ONE");
+       test_case_add(1, saImmOmDispatch_with_SA_DISPATCH_BLOCKING,
+                     "saImmOmDispatch - SA_AIS_OK SA_DISPATCH_BLOCKING");
+       test_case_add(
+           1, saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_ALL,
+           "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - invalid handle 
SA_DISPATCH_ALL");
+       test_case_add(
+           1, saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ALL,
+           "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - uninitialized handle 
SA_DISPATCH_ALL");
+       test_case_add(
+           1, saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ALL,
+           "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - finalized handle 
SA_DISPATCH_ALL");
+       test_case_add(
+           1, saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_BLOCKING,
+           "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - invalid handle 
SA_DISPATCH_BLOCKING");
+       test_case_add(
+           1, 
saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_BLOCKING,
+           "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - uninitialized handle 
SA_DISPATCH_BLOCKING");
+       test_case_add(
+           1, saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_BLOCKING,
+           "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - finalized handle 
SA_DISPATCH_BLOCKING");
 
        test_case_add(1, saImmOmFinalize_01, "saImmOmFinalize - SA_AIS_OK");
        test_case_add(
            1, saImmOmFinalize_02,
            "saImmOmFinalize - SA_AIS_ERR_BAD_HANDLE - invalid handle");
+       test_case_add(
+           1, saImmOmFinalize_with_finalized_handle,
+           "saImmOmFinalize - SA_AIS_ERR_BAD_HANDLE - finalized handle");
+       test_case_add(
+           1, saImmOmFinalize_with_uninitialized_handle,
+           "saImmOmFinalize - SA_AIS_ERR_BAD_HANDLE - uninitialized handle");
 
        test_case_add(
            1, saImmOmThreadInterference_01,
diff --git a/src/imm/apitest/management/test_saImmOmSelectionObjectGet.c 
b/src/imm/apitest/management/test_saImmOmSelectionObjectGet.c
index 017fd70..3a56fd3 100644
--- a/src/imm/apitest/management/test_saImmOmSelectionObjectGet.c
+++ b/src/imm/apitest/management/test_saImmOmSelectionObjectGet.c
@@ -35,3 +35,29 @@ void saImmOmSelectionObjectGet_02(void)
        test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
        safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
 }
+
+/* Object to test: saImmOmSelectionObjectGet() API:
+ * Test: Getting the selectionObject with uninitialized handle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmSelectionObjectGet_with_uninitialized_handle(void)
+{
+       rc = immutil_saImmOmSelectionObjectGet(immOmHandle, &selectionObject);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
+
+/* Object to test: saImmOmSelectionObjectGet() API:
+ * Test: Getting the SelectionObject with finalized handle
+ * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
+ * step2:call saImmOmFinalize()
+ * step3:Now call the saImmOmSelectionObjectGet() with immOmHandle
+ * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
+ */
+void saImmOmSelectionObjectGet_with_finalized_handle(void)
+{
+       safassert(immutil_saImmOmInitialize(&immOmHandle, &immOmCallbacks, 
&immVersion),
+                 SA_AIS_OK);
+       immutil_saImmOmFinalize(immOmHandle);
+       rc = immutil_saImmOmSelectionObjectGet(immOmHandle, &selectionObject);
+       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
+}
-- 
2.7.4



_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to