#include "TestLib.h"
int dpiTest_1700_releaseMsgPropsTwice(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiMsgProps *msgProps;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newMsgProps(conn, &msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_release(msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiMsgProps_release(msgProps);
return dpiTestCase_expectError(testCase, "DPI-1002:");
}
int dpiTest_1701_verifyPubFuncsOfMsgPropsWithNull(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *expectedError = "DPI-1002:";
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
dpiMsgProps_addRef(NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getNumAttempts(NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getCorrelation(NULL, NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getDelay(NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getDeliveryMode(NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getEnqTime(NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getExceptionQ(NULL, NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getExpiration(NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getOriginalMsgId(NULL, NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getPriority(NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_getState(NULL, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_release(NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_setCorrelation(NULL, NULL, 0);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_setDelay(NULL, 0);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_setExceptionQ(NULL, NULL, 0);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_setExpiration(NULL, 2);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_setOriginalMsgId(NULL, NULL, 0);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiMsgProps_setPriority(NULL, 0);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
return DPI_SUCCESS;
}
int dpiTest_1702_verifyCorrelationIsSetAsExp(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *setValue = "_", *getValue;
uint32_t getValueLength;
dpiMsgProps *msgProps;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newMsgProps(conn, &msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_setCorrelation(msgProps, setValue, strlen(setValue)) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_getCorrelation(msgProps, &getValue, &getValueLength) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiTestCase_expectStringEqual(testCase, getValue, getValueLength,
setValue, strlen(setValue)) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_release(msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
return DPI_SUCCESS;
}
int dpiTest_1703_verifyDelayIsSetAsExp(dpiTestCase *testCase,
dpiTestParams *params)
{
int32_t setValue = 5, getValue;
dpiMsgProps *msgProps;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newMsgProps(conn, &msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_setDelay(msgProps, setValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_getDelay(msgProps, &getValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiTestCase_expectUintEqual(testCase, getValue, setValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_release(msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
return DPI_SUCCESS;
}
int dpiTest_1704_verifyExpirationIsSetAsExp(dpiTestCase *testCase,
dpiTestParams *params)
{
int32_t setValue = 8, getValue;
dpiMsgProps *msgProps;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newMsgProps(conn, &msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_setExpiration(msgProps, setValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_getExpiration(msgProps, &getValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiTestCase_expectUintEqual(testCase, getValue, setValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_release(msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
return DPI_SUCCESS;
}
int dpiTest_1705_verifyPriorityIsSetAsExp(dpiTestCase *testCase,
dpiTestParams *params)
{
int32_t setValue = 2, getValue;
dpiMsgProps *msgProps;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newMsgProps(conn, &msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_setPriority(msgProps, setValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_getPriority(msgProps, &getValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiTestCase_expectUintEqual(testCase, getValue, setValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_release(msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
return DPI_SUCCESS;
}
int dpiTest_1706_verifyMsgIdIsSetAsExp(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *setValue = "id1", *getValue;
uint32_t getValueLength;
dpiMsgProps *msgProps;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newMsgProps(conn, &msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_setOriginalMsgId(msgProps, setValue, strlen(setValue)) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_getOriginalMsgId(msgProps, &getValue, &getValueLength) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiTestCase_expectStringEqual(testCase, getValue, getValueLength,
setValue, strlen(setValue)) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_release(msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
return DPI_SUCCESS;
}
int dpiTest_1707_verifyExcQIsSetAsExp(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *setValue = "excq", *getValue;
uint32_t getValueLength;
dpiMsgProps *msgProps;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newMsgProps(conn, &msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_setExceptionQ(msgProps, setValue, strlen(setValue)) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_getExceptionQ(msgProps, &getValue, &getValueLength) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiTestCase_expectStringEqual(testCase, getValue, getValueLength,
setValue, strlen(setValue)) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiMsgProps_release(msgProps) < 0)
return dpiTestCase_setFailedFromError(testCase);
return DPI_SUCCESS;
}
int main(int argc, char **argv)
{
dpiTestSuite_initialize(1700);
dpiTestSuite_addCase(dpiTest_1700_releaseMsgPropsTwice,
"call dpiMsgProps_release() twice");
dpiTestSuite_addCase(dpiTest_1701_verifyPubFuncsOfMsgPropsWithNull,
"call all dpiMsgProps public functions with props param as NULL");
dpiTestSuite_addCase(dpiTest_1702_verifyCorrelationIsSetAsExp,
"verify correlation is set as expected");
dpiTestSuite_addCase(dpiTest_1703_verifyDelayIsSetAsExp,
"verify delay is set as expected");
dpiTestSuite_addCase(dpiTest_1704_verifyExpirationIsSetAsExp,
"verify expiration is set as expected");
dpiTestSuite_addCase(dpiTest_1705_verifyPriorityIsSetAsExp,
"verify priority is set as expected");
dpiTestSuite_addCase(dpiTest_1706_verifyMsgIdIsSetAsExp,
"verify msgId is set as expected");
dpiTestSuite_addCase(dpiTest_1707_verifyExcQIsSetAsExp,
"verify exceptionQ is set as expected");
return dpiTestSuite_run();
}