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
|
// ---------------------------------------------------------------------------|
// Test Harness includes
// ---------------------------------------------------------------------------|
#include "test/support/nc-query-util/nc-query-test-engine.h"
#include "test/support/checkers/string-presence-checkers.h"
// ---------------------------------------------------------------------------|
// File scope namespace usage
// ---------------------------------------------------------------------------|
using namespace std;
// ---------------------------------------------------------------------------|
namespace YumaTest
{
// ---------------------------------------------------------------------------|
NCDbScopedLock::NCDbScopedLock(
shared_ptr< NCQueryTestEngine > engine,
shared_ptr< AbstractNCSession > session,
const string& target )
: engine_( engine )
, session_( session )
, target_( target )
{
engine_->lock( session_, target_ );
}
// ---------------------------------------------------------------------------|
NCDbScopedLock::~NCDbScopedLock()
{
engine_->unlock( session_, target_ );
}
// ---------------------------------------------------------------------------|
NCQueryTestEngine::NCQueryTestEngine( shared_ptr<NCMessageBuilder> builder )
: NCBaseQueryTestEngine( builder )
{
}
// ---------------------------------------------------------------------------|
NCQueryTestEngine::~NCQueryTestEngine()
{
}
// ---------------------------------------------------------------------------|
void NCQueryTestEngine::lock( shared_ptr<AbstractNCSession> session,
const string& target )
{
vector<string> expPresent = { "ok" };
vector<string> expNotPresent = { "error", "rpc-error" };
StringsPresentNotPresentChecker checker( expPresent, expNotPresent );
tryLockDatabase( session, target, checker );
}
// ---------------------------------------------------------------------------|
void NCQueryTestEngine::unlock( shared_ptr<AbstractNCSession> session,
const string& target )
{
vector<string> expPresent = { "ok" };
vector<string> expNotPresent = { "error", "rpc-error" };
StringsPresentNotPresentChecker checker( expPresent, expNotPresent );
tryUnlockDatabase( session, target, checker );
}
// ---------------------------------------------------------------------------|
void NCQueryTestEngine::commit( shared_ptr<AbstractNCSession> session )
{
vector<string> expPresent = { "ok" };
vector<string> expNotPresent = { "error", "rpc-error" };
StringsPresentNotPresentChecker checker( expPresent, expNotPresent );
string queryStr = messageBuilder_->buildCommitMessage(
session->allocateMessageId() );
runQuery( session, queryStr, checker );
}
// ---------------------------------------------------------------------------|
void NCQueryTestEngine::commitFailure( shared_ptr<AbstractNCSession> session )
{
vector<string> expPresent = { "error", "rpc-error" };
vector<string> expNotPresent = { "ok" };
StringsPresentNotPresentChecker checker( expPresent, expNotPresent );
string queryStr = messageBuilder_->buildCommitMessage(
session->allocateMessageId() );
runQuery( session, queryStr, checker );
}
// ---------------------------------------------------------------------------|
void NCQueryTestEngine::confirmedCommit( shared_ptr<AbstractNCSession> session,
const int timeout )
{
vector<string> expPresent = { "ok" };
vector<string> expNotPresent = { "error", "rpc-error" };
StringsPresentNotPresentChecker checker( expPresent, expNotPresent );
string queryStr = messageBuilder_->buildConfirmedCommitMessage(
timeout, session->allocateMessageId() );
runQuery( session, queryStr, checker );
}
// ---------------------------------------------------------------------------|
void NCQueryTestEngine::loadModule( shared_ptr<AbstractNCSession> session,
const string& moduleName )
{
vector<string> expPresent = { "mod-revision" };
vector<string> expNotPresent = { "error", "rpc-error" };
StringsPresentNotPresentChecker checker( expPresent, expNotPresent );
tryLoadModule( session, moduleName, checker );
}
} // namespace YumaTest
|