#include "TestLib.h"
int dpiTest__dropCollection(dpiTestCase *testCase, dpiSodaDb *db,
const char *collName)
{
dpiSodaColl *coll;
int isDropped;
if (dpiSodaDb_openCollection(db, collName, strlen(collName),
DPI_SODA_FLAGS_DEFAULT, &coll) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiSodaColl_drop(coll, DPI_SODA_FLAGS_DEFAULT, &isDropped) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiTestCase_expectUintEqual(testCase, isDropped, 1) < 0)
return DPI_FAILURE;
if (dpiSodaColl_release(coll) < 0)
return dpiTestCase_setFailedFromError(testCase);
return DPI_SUCCESS;
}
int dpiTest_2900_nullHandle(dpiTestCase *testCase, dpiTestParams *params)
{
const char *expectedError = "DPI-1002:";
dpiSodaDocCursor_addRef(NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiSodaDocCursor_getNext(NULL, DPI_SODA_FLAGS_DEFAULT, NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
dpiSodaDocCursor_release(NULL);
if (dpiTestCase_expectError(testCase, expectedError) < 0)
return DPI_FAILURE;
return DPI_SUCCESS;
}
int dpiTest_2901_addRef(dpiTestCase *testCase, dpiTestParams *params)
{
const char *collName = "ODPIC_COLL_2901";
dpiSodaDocCursor *cursor;
dpiSodaColl *coll;
dpiSodaDb *db;
if (dpiTestCase_getSodaDb(testCase, &db) < 0)
return DPI_FAILURE;
if (dpiSodaDb_createCollection(db, collName, strlen(collName), NULL, 0,
DPI_SODA_FLAGS_DEFAULT, &coll) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiSodaColl_find(coll, NULL, DPI_SODA_FLAGS_DEFAULT, &cursor) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiSodaDocCursor_addRef(cursor) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiSodaDocCursor_release(cursor) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiSodaDocCursor_release(cursor) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiSodaDocCursor_release(cursor);
if (dpiTestCase_expectError(testCase, "DPI-1002:") < 0)
return DPI_FAILURE;
if (dpiTestCase_cleanupSodaColl(testCase, coll) < 0)
return DPI_FAILURE;
if (dpiSodaDb_release(db) < 0)
return dpiTestCase_setFailedFromError(testCase);
return DPI_SUCCESS;
}
int main(int argc, char **argv)
{
dpiTestSuite_initialize(2900);
dpiTestSuite_addCase(dpiTest_2900_nullHandle,
"call all functions with NULL handle");
dpiTestSuite_addCase(dpiTest_2901_addRef,
"dpiSodaDocCursor_addRef() with valid parameters");
return dpiTestSuite_run();
}