1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
/*
Copyright 2009 - 2010 Sun Microsystems, Inc. All rights reserved.
The MySQL Connector/C++ is licensed under the terms of the GPL
<http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>, like most
MySQL Connectors. There are special exceptions to the terms and
conditions of the GPL as it is applied to this software, see the
FLOSS License Exception
<http://www.mysql.com/about/legal/licensing/foss-exception.html>.
*/
#include "../unit_fixture.h"
#include <iostream>
#include <climits>
/**
* Example of a collection of tests
*
*/
namespace testsuite
{
namespace classes
{
class preparedstatement : public unit_fixture
{
private:
typedef unit_fixture super;
bool createSP(std::string sp_code);
public:
EXAMPLE_TEST_FIXTURE(preparedstatement)
{
TEST_CASE(crash);
TEST_CASE(anonymousSelect);
TEST_CASE(InsertSelectAllTypes);
TEST_CASE(assortedSetType);
TEST_CASE(setNull);
TEST_CASE(checkClosed);
TEST_CASE(getMetaData);
TEST_CASE(callSP);
TEST_CASE(callSPInOut);
TEST_CASE(callSPWithPS);
TEST_CASE(callSPMultiRes);
TEST_CASE(getWarnings);
TEST_CASE(blob);
TEST_CASE(executeQuery);
}
/**
* SELECT ' ', NULL as string
*/
void anonymousSelect();
/**
* Loops over all kinds of column types and inserts/fetches a value
*/
void InsertSelectAllTypes();
/**
* Loops over assorted column types and uses setXYZ to insert a value
*/
void assortedSetType();
/**
* Loops over assorted column types and uses setXYZ to insert a value
*/
void setNull();
/**
* Calling close()
*/
void checkClosed();
/**
* Compare PS and Non-PS Metadata.
*/
void getMetaData();
/**
* Calls a stored procedure
*/
void callSP();
/**
* Calls a stored procedure with IN and OUT parameters
*/
void callSPInOut();
/**
* Calls a stored procedure which contains a prepared statement
*/
void callSPWithPS();
/**
* Calls a stored procedure which returns multiple result sets
*/
void callSPMultiRes();
/**
* TODO - temporary to isolate a crash, remove after fix!
*/
void crash();
/**
* Check get|clearWarnings()
*/
void getWarnings();
/**
* Check BLOB/LOB handling
*/
void blob();
/**
* Check executeQuery() and invalid fetch mode
*
* TODO - the test does focus on code coverage not functionality
*/
void executeQuery();
};
REGISTER_FIXTURE(preparedstatement);
} /* namespace classes */
} /* namespace testsuite */
|