File: nc-query-test-engine.cpp

package info (click to toggle)
yuma123 2.13-1
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 22,364 kB
  • sloc: ansic: 185,010; cpp: 10,966; python: 7,902; sh: 2,631; makefile: 1,179; xml: 807; exp: 759; perl: 70
file content (115 lines) | stat: -rw-r--r-- 4,373 bytes parent folder | download | duplicates (5)
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