#include "TestLib.h"
int dpiTest_3100_verifyNewSubscriptionWithCallBkNULL(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiCommonCreateParams commonParams;
dpiSubscrCreateParams subParams;
dpiContext *context;
dpiSubscr *subscr;
dpiConn *conn;
dpiTestSuite_getContext(&context);
if (dpiContext_initCommonCreateParams(context, &commonParams) < 0)
return dpiTestCase_setFailedFromError(testCase);
commonParams.createMode = DPI_MODE_CREATE_EVENTS;
if (dpiConn_create(context, params->mainUserName,
params->mainUserNameLength, params->mainPassword,
params->mainPasswordLength, params->connectString,
params->connectStringLength, &commonParams, NULL, &conn) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiContext_initSubscrCreateParams(context, &subParams) < 0)
return dpiTestCase_setFailedFromError(testCase);
subParams.protocol = DPI_SUBSCR_PROTO_CALLBACK;
dpiConn_subscribe(conn, &subParams, &subscr);
if (dpiTestCase_expectError(testCase, "ORA-24904:") < 0)
return DPI_FAILURE;
dpiConn_release(conn);
return DPI_SUCCESS;
}
int dpiTest_3101_verifyPubFuncsOfSubscrWithNull(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *expectedError = "DPI-1002:";
dpiSubscr_addRef(NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiSubscr_prepareStmt(NULL, NULL, 0, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiSubscr_release(NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
return DPI_SUCCESS;
}
int main(int argc, char **argv)
{
dpiTestSuite_initialize(3100);
dpiTestSuite_addCase(dpiTest_3100_verifyNewSubscriptionWithCallBkNULL,
"dpiConn_subscribe() without callback");
dpiTestSuite_addCase(dpiTest_3101_verifyPubFuncsOfSubscrWithNull,
"call all dpiSubscr public functions with subscr param as NULL");
return dpiTestSuite_run();
}