⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testprivatedata.cpp

📁 Software Testing Automation Framework (STAF)的开发代码
💻 CPP
字号:
/*****************************************************************************//* Software Testing Automation Framework (STAF)                              *//* (C) Copyright IBM Corp. 2005                                              *//*                                                                           *//* This software is licensed under the Common Public License (CPL) V1.0.     *//*****************************************************************************/#include "STAF.h"#include "STAF_iostream.h"int main(int argc, char **argv){    STAFHandlePtr handlePtr;    unsigned int rc = STAFHandle::create("STAF/TestPrivateData", handlePtr);    if (rc != 0)    {        cout << "Error registering with STAF, RC: " << rc << endl;        return rc;    }    unsigned int numTests = 15;    STAFString testData[15][8] =    {        {         "secret", "secret", "!!@secret@!!",         "secret", "secret", "secret",         "secret", "!!@secret@!!"         },        {         "!!@secret@!!", "************", "!!@secret@!!",         "secret", "secret", "secret",         "^!!@secret^@!!", "!!@^^!!@secret^^@!!@!!"        },        {         "Pw: !!@pw@!!", "Pw: ********", "!!@Pw: ^!!@pw^@!!@!!",         "Pw: !!@pw@!!", "Pw: pw", "Pw: pw",         "Pw: ^!!@pw^@!!", "!!@Pw: ^^!!@pw^^@!!@!!"        },        {         "^!!@secret@!!", "^!!@secret@!!", "!!@^^!!@secret^@!!@!!",         "!!@secret@!!", "!!@secret@!!", "!!@secret@!!",         "^^!!@secret^@!!", "!!@^^^!!@secret^^@!!@!!"        },        {         "^!!@secret^@!!",         "^!!@secret^@!!",         "!!@^^!!@secret^^@!!@!!",         "!!@secret@!!",         "!!@secret@!!",         "!!@secret@!!",         "^^!!@secret^^@!!",         "!!@^^^!!@secret^^^@!!@!!"        },        {         "!!@secret", "!!@secret", "!!@^!!@secret@!!",         "!!@secret", "!!@secret", "!!@secret",         "^!!@secret", "!!@^^!!@secret@!!"        },        {         "!!@secret^@!!", "!!@secret^@!!", "!!@^!!@secret^^@!!@!!",         "!!@secret@!!", "!!@secret@!!", "!!@secret@!!",         "^!!@secret^^@!!", "!!@^^!!@secret^^^@!!@!!"        },        {         "Pw1=!!@a@!!, Pw2=!!@pw@!!.",         "Pw1=*******, Pw2=********.",         "!!@Pw1=^!!@a^@!!, Pw2=^!!@pw^@!!.@!!",         "Pw1=!!@a@!!, Pw2=!!@pw@!!.",         "Pw1=a, Pw2=pw.", "Pw1=a, Pw2=pw.",         "Pw1=^!!@a^@!!, Pw2=^!!@pw^@!!.",         "!!@Pw1=^^!!@a^^@!!, Pw2=^^!!@pw^^@!!.@!!"        },        {         "^!!@a@!!^@!!b!!@",         "^!!@a@!!^@!!b!!@",         "!!@^^!!@a^@!!^^@!!b^!!@@!!",         "!!@a@!!@!!b!!@",         "!!@a@!!@!!b!!@",         "!!@a@!!@!!b!!@",         "^^!!@a^@!!^^@!!b^!!@",         "!!@^^^!!@a^^@!!^^^@!!b^^!!@@!!"        },        {         "Pw1=!!@secret, !!@pw@!!.",         "Pw1=*******************.",         "!!@Pw1=^!!@secret, ^!!@pw^@!!.@!!",         "Pw1=!!@secret, !!@pw@!!.",         "Pw1=secret, !!@pw.",         "Pw1=secret, !!@pw.",         "Pw1=^!!@secret, ^!!@pw^@!!.",         "!!@Pw1=^^!!@secret, ^^!!@pw^^@!!.@!!"        },        {         "Pw1=!!@secret@!!, !!@pw.",         "Pw1=************, !!@pw.",         "!!@Pw1=^!!@secret^@!!, ^!!@pw.@!!",         "Pw1=!!@secret@!!, !!@pw.",         "Pw1=secret, !!@pw.",         "Pw1=secret, !!@pw.",         "Pw1=^!!@secret^@!!, ^!!@pw.",         "!!@Pw1=^^!!@secret^^@!!, ^^!!@pw.@!!"        },        {         "Msg: !!@Pw: ^!!@pw^@!!@!!",         "Msg: ********************",         "!!@Msg: ^!!@Pw: ^^!!@pw^^@!!^@!!@!!",         "Msg: !!@Pw: ^!!@pw^@!!@!!",         "Msg: Pw: !!@pw@!!",         "Msg: Pw: pw",         "Msg: ^!!@Pw: ^^!!@pw^^@!!^@!!",         "!!@Msg: ^^!!@Pw: ^^^!!@pw^^^@!!^^@!!@!!"        },        {         "@!!a!!@b@!!",         "@!!a*******",          "!!@^@!!a^!!@b^@!!@!!",         "@!!a!!@b@!!",         "@!!ab",         "@!!ab",         "^@!!a^!!@b^@!!",         "!!@^^@!!a^^!!@b^^@!!@!!"        },        {         "Msg: !!@Pw is ^^!!@secret^^@!!.@!!",         "Msg: *****************************",         "!!@Msg: ^!!@Pw is ^^^!!@secret^^^@!!.^@!!@!!",         "Msg: !!@Pw is ^^!!@secret^^@!!.@!!",         "Msg: Pw is !!@secret@!!.",         "Msg: Pw is !!@secret@!!.",         "Msg: ^!!@Pw is ^^^!!@secret^^^@!!.^@!!",         "!!@Msg: ^^!!@Pw is ^^^^!!@secret^^^^@!!.^^@!!@!!"        },        {         "", "", "", "", "", "", "", ""        }    };    cout << "KEY:"         << endl << "  apd() = STAFHandle::addPrivacyDelimiters()"         << endl << "  mpd() = STAFHandle::maskPrivateData()"         << endl << "  rpd() = STAFHandle::removePrivacyDelimiters()"         << endl << "  epd() = STAFHandle::escapePrivacyDelimiters()"         << endl;    unsigned int numErrors = 0;        for (int i = 0; i < numTests; ++i)    {        STAFString data(testData[i][0]);        cout << endl << STAFString(i+1) << ")  data: " << data << endl << endl;        // 1        STAFString maskedData = STAFHandle::maskPrivateData(data);        cout << "mpd(" << data << "): " << maskedData << endl;        if (maskedData != testData[i][1])        {            cout << "ERROR(" << i << ", 1):  mpd(" << data << "): " << maskedData << endl                 << "        Expected: " << testData[i][1] << endl;            numErrors++;        }                // 2        STAFString dataWithPrivacy = STAFHandle::addPrivacyDelimiters(data);        cout << "apd(" << data << "): " << dataWithPrivacy << endl;        if (dataWithPrivacy != testData[i][2])        {            cout << "ERROR(" << i << ", 2):  apd(" << data << "): " << dataWithPrivacy << endl                 << "        Expected: " << testData[i][2] << endl;            numErrors++;        }        // 3        STAFString dataWithPrivacyRemoved =            STAFHandle::removePrivacyDelimiters(dataWithPrivacy, 1);        cout << "rpd(" << dataWithPrivacy << ", 1): " << dataWithPrivacyRemoved << endl;        if (dataWithPrivacyRemoved != testData[i][3])        {            cout << "ERROR(" << i << ", 3):  rpd(" << dataWithPrivacy << "): "                 << dataWithPrivacyRemoved << endl                 << "        Expected: " << testData[i][3] << endl;            numErrors++;        }        // 4        STAFString dataWithPrivacyRemoved2 =            STAFHandle::removePrivacyDelimiters(dataWithPrivacy, 2);        cout << "rpd(" << dataWithPrivacy << ", 2): " << dataWithPrivacyRemoved2 << endl;                if (dataWithPrivacyRemoved2 != testData[i][4])        {            cout << "ERROR(" << i << ", 4):  rpd(" << dataWithPrivacy << "): "                 << dataWithPrivacyRemoved2 << endl                 << "        Expected: " << testData[i][4] << endl;            numErrors++;        }        // 5        STAFString dataWithAllPrivacyRemoved =            STAFHandle::removePrivacyDelimiters(dataWithPrivacy, 0);        cout << "rpd(" << dataWithPrivacy << ", 0): " << dataWithAllPrivacyRemoved << endl;        if (dataWithAllPrivacyRemoved != testData[i][5])        {            cout << "ERROR(" << i << ", 5):  rpd(" << dataWithPrivacy << "): "                 << dataWithAllPrivacyRemoved << endl                 << "        Expected: " << testData[i][5] << endl;            numErrors++;        }                // 6        STAFString escapedData = STAFHandle::escapePrivacyDelimiters(data);        cout << "epd(" << data << "): " << escapedData << endl;        if (escapedData != testData[i][6])        {            cout << "ERROR(" << i << ", 6):  epd(" << data << "): " << escapedData << endl                 << "        Expected: " << testData[i][6] << endl;            numErrors++;        }                // 7        dataWithPrivacy = STAFHandle::addPrivacyDelimiters(            escapedData);        cout << "apd(" << escapedData << "): " << dataWithPrivacy << endl;        if (dataWithPrivacy != testData[i][7])        {            cout << "ERROR(" << i << ", 7):  apd(" << escapedData << "): " << dataWithPrivacy << endl                 << "        Expected: " << testData[i][7] << endl;            numErrors++;        }        // 8        dataWithPrivacyRemoved =            STAFHandle::removePrivacyDelimiters(dataWithPrivacy, 1);        cout << "rpd(" << dataWithPrivacy << ", 1): " << dataWithPrivacyRemoved << endl;                if (dataWithPrivacyRemoved != data)        {            cout << "ERROR(" << i << ", 8):  rpd(" << dataWithPrivacy << ", 1): "                 << dataWithPrivacyRemoved << endl                 << "        Expected: " << data << endl;            numErrors++;        }        // 9        dataWithAllPrivacyRemoved =            STAFHandle::removePrivacyDelimiters(dataWithPrivacy);        cout << "rpd(" << dataWithPrivacy << "): " << dataWithAllPrivacyRemoved << endl;        if (dataWithAllPrivacyRemoved != data)        {            cout << "ERROR(" << i << ", 8):  rpd(" << dataWithPrivacy << "): "                 << dataWithAllPrivacyRemoved << endl                 << "        Expected: " << data << endl;            numErrors++;        }    }    if (numErrors == 0)    {        cout << endl << "Test completed successfully" << endl;    }    else    {        cout << endl << "Test failed with " << STAFString(numErrors)             << " errors" << endl;    }    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -