DRDE/AusRegCliever/include/donutsOTEB.h

402 lines
18 KiB
C++

/*
* donutsOTEB.h
*
* Created on: Jan 28, 2014
* Author: jdaugherty
*/
#ifndef DONUTSOTEB_H_
#define DONUTSOTEB_H_
const char *name1 = "yoda.guru";
const char *name2 = "unicycles.bike";
const char *name3 = "test-validate.claimsgasix";
const char *name4 = "horny.singles";
const char *name5 = "atmospheric.lighting";
const char *name6 = "mushroomtheory.management";
static const string smdData(
"DQo8c21kOnNpZ25lZE1hcmsgeG1sbnM6c21kPSJ1cm46aWV0ZjpwYXJhbXM6eG1sOm5zOnNpZ25l"
"ZE1hcmstMS4wIiBpZD0iX3NpZ25lZE1hcmsiPjxzbWQ6aWQ+MS0yPC9zbWQ6aWQ+DQogIDwhLS0g"
"aW5zZXJ0IHNtZDppZCAtLT4NCiAgPHNtZDppc3N1ZXJJbmZvIGlzc3VlcklEPSIyIj4NCiAgICA8"
"c21kOm9yZz5FeGFtcGxlIEluYy48L3NtZDpvcmc+DQogICAgPHNtZDplbWFpbD5zdXBwb3J0QGV4"
"YW1wbGUudGxkPC9zbWQ6ZW1haWw+DQogICAgPHNtZDp1cmw+aHR0cDovL3d3dy5leGFtcGxlLnRs"
"ZDwvc21kOnVybD4NCiAgICA8c21kOnZvaWNlIHg9IjEyMzQiPisxLjcwMzU1NTU1NTU8L3NtZDp2"
"b2ljZT4NCiAgPC9zbWQ6aXNzdWVySW5mbz48c21kOm5vdEJlZm9yZT4yMDA5LTA4LTE2VDA5OjAw"
"OjAwLjBaPC9zbWQ6bm90QmVmb3JlPjxzbWQ6bm90QWZ0ZXI+MjA5OS0wOC0xNlQwOTowMDowMC4w"
"Wjwvc21kOm5vdEFmdGVyPg0KICA8IS0tIGluc2VydCBzbWQ6bm90QmVmb3JlIC0tPg0KICA8IS0t"
"IGluc2VydCBzbWQ6bm90QWZ0ZXIgLS0+DQogIDxtYXJrOm1hcmsgeG1sbnM6bWFyaz0idXJuOmll"
"dGY6cGFyYW1zOnhtbDpuczptYXJrLTEuMCI+DQogICAgPG1hcms6dHJhZGVtYXJrPg0KICAgICAg"
"PG1hcms6aWQ+MTIzNC0yPC9tYXJrOmlkPjxtYXJrOm1hcmtOYW1lPmJvw650ZSBkZSB0ZXN0PC9t"
"YXJrOm1hcmtOYW1lPg0KICAgICAgPCEtLSBpbnNlcnQgbWFyazptYXJrTmFtZSAtLT4NCiAgICAg"
"IDxtYXJrOmhvbGRlciBlbnRpdGxlbWVudD0ib3duZXIiPg0KICAgICAgICA8bWFyazpvcmc+RXhh"
"bXBsZSBJbmMuPC9tYXJrOm9yZz4NCiAgICAgICAgPG1hcms6YWRkcj4NCiAgICAgICAgICA8bWFy"
"azpzdHJlZXQ+MTIzIEV4YW1wbGUgRHIuPC9tYXJrOnN0cmVldD4NCiAgICAgICAgICA8bWFyazpz"
"dHJlZXQ+U3VpdGUgMTAwPC9tYXJrOnN0cmVldD4NCiAgICAgICAgICA8bWFyazpjaXR5PlJlc3Rv"
"bjwvbWFyazpjaXR5Pg0KICAgICAgICAgIDxtYXJrOnNwPlZBPC9tYXJrOnNwPg0KICAgICAgICAg"
"IDxtYXJrOnBjPjIwMTkwPC9tYXJrOnBjPg0KICAgICAgICAgIDxtYXJrOmNjPlVTPC9tYXJrOmNj"
"Pg0KICAgICAgICA8L21hcms6YWRkcj4NCiAgICAgIDwvbWFyazpob2xkZXI+DQogICAgICA8bWFy"
"azpqdXJpc2RpY3Rpb24+VVM8L21hcms6anVyaXNkaWN0aW9uPg0KICAgICAgPG1hcms6Y2xhc3M+"
"MzU8L21hcms6Y2xhc3M+DQogICAgICA8bWFyazpjbGFzcz4zNjwvbWFyazpjbGFzcz48bWFyazps"
"YWJlbD5ib2l0ZWRldGVzdDwvbWFyazpsYWJlbD48bWFyazpsYWJlbD5ib2l0ZWRlLXRlc3Q8L21h"
"cms6bGFiZWw+PG1hcms6bGFiZWw+Ym9pdGUtZGUtdGVzdDwvbWFyazpsYWJlbD4NCiAgICAgIDwh"
"LS0gaW5zZXJ0IG1hcms6bGFiZWwgLS0+DQogICAgICA8bWFyazpnb29kc0FuZFNlcnZpY2VzPg0K"
"ICAgICAgICBEaXJpZ2VuZGFzIGV0IGVpdXNtb2RpDQogICAgICAgIGZlYXR1cmluZyBpbmZyaW5n"
"byBpbiBhaXJmYXJlIGV0IGNhcnRhbSBzZXJ2aWNpYS4NCiAgICAgIDwvbWFyazpnb29kc0FuZFNl"
"cnZpY2VzPg0KICAgICAgPG1hcms6cmVnTnVtPjIzNDIzNTwvbWFyazpyZWdOdW0+DQogICAgICA8"
"bWFyazpyZWdEYXRlPjIwMDktMDgtMTZUMDk6MDA6MDAuMFo8L21hcms6cmVnRGF0ZT4NCiAgICAg"
"IDxtYXJrOmV4RGF0ZT4yMDk5LTA4LTE2VDA5OjAwOjAwLjBaPC9tYXJrOmV4RGF0ZT4NCiAgICA8"
"L21hcms6dHJhZGVtYXJrPg0KICA8L21hcms6bWFyaz4NCjxTaWduYXR1cmUgeG1sbnM9Imh0dHA6"
"Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxTaWduZWRJbmZvPjxDYW5vbmljYWxpemF0"
"aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8xMC94bWwtZXhjLWMx"
"NG4jIiAvPjxTaWduYXR1cmVNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAx"
"LzA0L3htbGRzaWctbW9yZSNyc2Etc2hhMjU2IiAvPjxSZWZlcmVuY2UgVVJJPSIjX3NpZ25lZE1h"
"cmsiPjxUcmFuc2Zvcm1zPjxUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8y"
"MDAwLzA5L3htbGRzaWcjZW52ZWxvcGVkLXNpZ25hdHVyZSIgLz48VHJhbnNmb3JtIEFsZ29yaXRo"
"bT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8xMC94bWwtZXhjLWMxNG4jIiAvPjwvVHJhbnNmb3Jt"
"cz48RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxl"
"bmMjc2hhMjU2IiAvPjxEaWdlc3RWYWx1ZT5CK2R6NWtzdno4K3FQbFMzUE8rKy93UnYxdEFRU1VE"
"NkhjaFZPTzkyN2FFPTwvRGlnZXN0VmFsdWU+PC9SZWZlcmVuY2U+PC9TaWduZWRJbmZvPjxTaWdu"
"YXR1cmVWYWx1ZT5VZ3VJQm5oRElRQXNqUTlkTkFRcXVDR3h5Q2o3UTlYV3FxSHdDa2xKZHpkMi9H"
"bDB2UHVwb282aFV4cUprU3lPbjI5OTZlQ1Z5NjQ0c3AvQVFISzl2N1VFRGJWcmp4WFlPT2JuVUQ1"
"RUlLMEcxbnM0UEh5MkhBSjNiVlNPL1JuVG4rU25KV1o1d0hSWHg2ZjhLd0pIUThVUHg0R3Q5SVZy"
"elRHQ0NwSkduMkU1djFTbjlTTXFDcWY4M1ZiMkxFellQbTg2Zkw4NUNwZmNFK2t0YnNsZHFmZno0"
"RXMyU2lobG9vY1BtaEJIeTg0eVNUS05MVWtmcXI4ZXk1YU1QeThHb2ErMXVHM1UwS2g0Zk5nZGdL"
"RmZUZnhBUHN0RCtYTzEwQTB3OCtxQnRQZFFwcVgwQVZKbUNSR04vRk52UWNCb0RvV1U5K2FsSEtq"
"c29sNXZRTDc0QWc9PTwvU2lnbmF0dXJlVmFsdWU+PEtleUluZm8+PFg1MDlEYXRhPjxYNTA5Q2Vy"
"dGlmaWNhdGU+TUlJRHNEQ0NBcGdDQVFFd0RRWUpLb1pJaHZjTkFRRUZCUUF3Z2FFeEN6QUpCZ05W"
"QkFZVEFsVlRNUk13RVFZRFZRUUlEQXBYWVhOb2FXNW5kRzl1TVJFd0R3WURWUVFIREFoQ1pXeHNa"
"WFoxWlRFUE1BMEdBMVVFQ2d3R1JHOXVkWFJ6TVEwd0N3WURWUVFMREFSVVpYTjBNU1V3SXdZRFZR"
"UUREQngwYldOb2RHVnpkSEp2YjNSalpYSjBNUzF2ZEdVdFpHOXVkWFJ6TVNNd0lRWUpLb1pJaHZj"
"TkFRa0JGaFJvYjNOMGJXRnpkR1Z5UUdSdmJuVjBjeTVqYnpBZUZ3MHhNekEzTVRBd05qUTNNelJh"
"RncweU16QTNNRGd3TmpRM016UmFNSUdaTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNBd0tW"
"MkZ6YUdsdVozUnZiakVSTUE4R0ExVUVCd3dJUW1Wc2JHVjJkV1V4RHpBTkJnTlZCQW9NQmtSdmJu"
"VjBjekVOTUFzR0ExVUVDd3dFVkdWemRERWRNQnNHQTFVRUF3d1VjMjFrWTJWeWRERXhMVzkwWlMx"
"a2IyNTFkSE14SXpBaEJna3Foa2lHOXcwQkNRRVdGR2h2YzNSdFlYTjBaWEpBWkc5dWRYUnpMbU52"
"TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF3dEhkdmRtMTFJaVM5"
"aG02RkM1QlNKNmdEM2kxRGx1S2QyU0dpYWdjOU5WZmFKSW95RlhENlRzMjR5cDdIWHFrcitrMGdq"
"RjF3Tng5R0MrTkV5N0h6Vmo1TFNQQ0p0NEFobEZKWjlVbnVjYWRyWm55bVhuUWZwK2xRSXkyaEor"
"c3UxbTN4c3NXemdRYjgwdWg3QTZwZFJiRTNSNFZLRC9CZ1F1WG1rUnFqeUt3RkZpSTBCdjJQaEVj"
"NllJdTRQV25aYVZmWnovSE1Wbkt6R1dSMXFQazgzNkNaMk5MSkFhKzViak9nMFJHeHB1TDZjWXZa"
"ZHNKTTdqVXBRMFl6SGFJSlJjM0tmd2pEYVRHeTdyeHZHQzlMM250c0l4ZmFnTnZyOEh1MU9HdVcw"
"RSt2TzhHSFNnSExWeGRuZEVYUDFlQUJlS2F2NWFkYzZKcjVJaHE3UkdscndJREFRQUJNQTBHQ1Nx"
"R1NJYjNEUUVCQlFVQUE0SUJBUUJWQ0dHY3I1eTNZM2Ntd0hxNjdUVS96Slhqd3RmcFhQRFQyTTUv"
"YmFUK1ZGQ0s3Z1JQYWJwV3JCdmtodmtKbSt1VE9nQmM5WDdqK1l5aDN6U1IydE84Umx6NHdQZndC"
"cFdkWllkTmZXMUVZdDZ3Q0F4WlM3RlB5eEJ3cmEzUTczNEYyWUsvdjBUOG14WGhlVWVDYXhheHV6"
"aG11U2hRTTd4YkYrQUdRdWlBdmdJRUVhZ3VBcUdCOS9GMjhHYnYyNHpVcmxLcktSUGpReWxnR1V6"
"eXQxVS9tbVBrQ0JCd0ZWWCtlWkY1UjZmdFJDN1ZnaWFLZ3VTYlNyUjVuRjRpUzZXQUVtakdMZ01v"
"RHhzUU5KM3RSQUJMUGJSTHVIYVUxWjZ2UmRtQ3VMczVrcVFTWThZZXB1bGJaYnRyY3hEQU1BcE5q"
"SHVSc2M0a0NSZ1VvNlFHVG1zbTwvWDUwOUNlcnRpZmljYXRlPjwvWDUwOURhdGE+PC9LZXlJbmZv"
"PjwvU2lnbmF0dXJlPjwvc21kOnNpZ25lZE1hcms+");
void ausRegEPPTK::doOTEB()
{
bool addDomains = false, debug=true, contactCreated = true, doTransfers = false,
transferGainer = false, doDPML=true;
int cmd=0;
const char *thatAccount="secura2-ote2", *thisAccount="secura1-ote";
string op("newInstance");
const string claims("claims"), dpml("custom"), landrush("landrush"), sunrise("sunrise");
LPCrtCmdExtension crtE1( &claims ), crtE2( &dpml );
Transaction thisTest;
scenario(thisConfig->tkScenario,thisConfig->cfg_path);
while(debug) { debug=false; // debugger needs this
try {
Timer::setTime("20140101.010101");
auto_ptr<SessionManager> manager(SessionManagerFactory::newInstance(&props));
auto_ptr<Session> sess(SessionFactory::newInstance(&props));
op = "startup";
manager->startup();
op = "run (keep-alive)";
manager->run();
sess->open();
theseLogs->logN(2,"OTE %s [Hello] (%d).",thisAccount,cmd++);
sess->writeXML(TEST_SE);
sess->read();
theseLogs->logN(1,"OTE Basic Access Setup (%d).",cmd++);
const std::string rrj("renjuan");
const std::string rrjPW("Ab9dW@rd");
const std::string rrjEmail("juan@acm.org");
const std::string rrjName("Ren Ren-Juan");
const std::string rrjCity("Niagara Falls");
const std::vector<std::string>
rrjCrib(1,"2926 2nd Strt");
const std::string rrjProv("NY");
const std::string rrjPC("14305");
const std::string rrjGuo("US");
const std::string rrjOrg("American Kybernetik");
const IntPostalInfo rrjPO(rrjName,rrjOrg,
rrjCrib,rrjCity,rrjProv,rrjPC,rrjGuo);
ContactCreateCommand oteCommand_0(rrj,rrjPW,&rrjPO,rrjEmail);
ContactCreateResponse oteResponse_0;
theseLogs->logN(1,"(skip) Create Contact(s).");
if (!contactCreated) try {
thisTest = Transaction(&oteCommand_0, &oteResponse_0);
manager->execute(thisTest);
}
catch(const std::exception e)
{
theseLogs->logN(1,"Case %d: %s.",cmd++,e.what());
}
catch(...)
{
theseLogs->logN(1,"Case %d Failed, harness catch.",cmd++);
}
theseLogs->logN(1,"Continue OTE Transactions.");
sleep(2);
theseLogs->logN(2,"(%d) Non-LPE check of %s",cmd++,name5);
DomainCheckCommand oteCommand_1(name5);
DomainCheckResponse oteResponse_1;
try {
thisTest = Transaction(&oteCommand_1, &oteResponse_1);
manager->execute(thisTest);
}
catch (EPPException& e)
{ const char *eMsg = e.getMessage().c_str();
const char *opNow = op.c_str();
theseLogs->logN(2,"EPP Exception during OTE B (%s): %s .",opNow,eMsg);
throw e;
}
catch (...)
{
theseLogs->logN(1,"General Exception OTE B (%s).",op.c_str());
}
theseLogs->logN(2,"(%d) Perform Claims type Check of %s",cmd++,name3);
DomainCheckCommand oteCommand_2(name3);
LPChkCmdExtension chkE(&claims);
oteCommand_2.appendExtension(chkE);
DomainCheckResponse oteResponse_2;
LPChkRespExtension chkRspE;
oteResponse_2.registerExtension(&chkRspE);
try {
thisTest = Transaction(&oteCommand_2, &oteResponse_2);
manager->execute(thisTest);
theseLogs->logN(3,"(%d) Claims %s exist for %s.",
cmd,(chkRspE.doClaimsExist() ? "do" : " do not "),name3);
if (chkRspE.doClaimsExist())
theseLogs->logN(3,"(%d) claim: %s .",cmd,chkRspE.getClaimsKey());
}
catch (EPPException& e)
{ const char *eMsg = e.getMessage().c_str();
const char *opNow = op.c_str();
theseLogs->logN(2,"EPP Exception during OTE B (%s): %s .",opNow,eMsg);
throw e;
}
catch (...)
{
theseLogs->logN(1,"General Exception OTE B (%s).",op.c_str());
}
// Used in all of below
const std::string pw("Ab9dW@rd");
const std::string RID("renjuan");
std::vector<std::string> tech(1,std::string("renjuan") );
std::vector<std::string> admin(1,std::string("renjuan") );
std::vector<std::string> billing(1,std::string("renjuan") );
std::vector<std::string> ns(1,std::string("ns1.google.com") );;
if (addDomains) {
try {
if (1) {
theseLogs->logN(3," (%d) normal create %s in OTE %s.",cmd++, name5, thisAccount);
DomainCreateCommand
oteCommand_3(name5,pw,&RID, &tech, &ns, &admin, &billing);
DomainCreateResponse oteResponse_3;
thisTest = Transaction(&oteCommand_3, &oteResponse_3);
manager->execute(thisTest);
} if (1) {
theseLogs->logN(3," (%d) normal create %s in OTE %s.",cmd++, name4, thisAccount);
DomainCreateCommand
oteCommand_3a(name4,pw,&RID, &tech, &ns, &admin, &billing);
DomainCreateResponse oteResponse_3a;
thisTest = Transaction(&oteCommand_3a, &oteResponse_3a);
manager->execute(thisTest);
} if (0) {
theseLogs->logN(3," (%d) LPE create %s in OTE %s.",cmd++, name5, thisAccount);
DomainCreateCommand
oteCommand_3b(name5,pw,&RID, &tech, &ns, &admin, &billing);
oteCommand_3b.appendExtension(crtE1);
DomainCreateResponse oteResponse_3b;
thisTest = Transaction(&oteCommand_3b, &oteResponse_3b);
manager->execute(thisTest);
}
}
catch (EPPException& e)
{ const char *eMsg = e.getMessage().c_str();
const char *opNow = op.c_str();
theseLogs->logN(2,"EPP Exception during OTE B (%s): %s .",opNow,eMsg);
throw e;
}
catch (...)
{
theseLogs->logN(1,"General Exception OTE B (%s).",op.c_str());
}
}
if (doTransfers) {
DomainTransferRequestCommand
oteCommand_4a(name1,rrjPW);
DomainTransferApproveCommand
oteCommand_4b(name1,rrjPW);
DomainTransferResponse oteResponse_4;
DomainTransferRequestCommand
oteCommand_4c(name2,rrjPW);
DomainTransferApproveCommand
oteCommand_4d(name2,rrjPW);
DomainTransferResponse oteResponse_4a;
try {
theseLogs->logN(4," %s (%d) %s -> %s.", (transferGainer ? "Request" : "Approve") ,cmd++, name1,thatAccount);
thisTest = transferGainer ? Transaction(&oteCommand_4a, &oteResponse_4) :
Transaction(&oteCommand_4b, &oteResponse_4) ;
manager->execute(thisTest);
theseLogs->logN(4," %s (%d) %s -> %s.", (transferGainer ? "Request" : "Approve") ,cmd++, name2,thatAccount);
thisTest = transferGainer ? Transaction(&oteCommand_4c, &oteResponse_4a) :
Transaction(&oteCommand_4d, &oteResponse_4) ;
manager->execute(thisTest);
}
catch(...)
{
theseLogs->logN(1,"Case %d Failed, harness catch.",cmd++);
}
}
if (0) {
theseLogs->logN(2,"(%d) Sunrise create %s with ICANN SMD test data.",++cmd,name1);
DomainCreateCommand oteCommand_5(name1,pw,&RID, &tech, &ns, &admin, &billing);
oteCommand_5.appendExtension(crtE1);
DomainCreateResponse oteResponse_5;
try {
thisTest = Transaction(&oteCommand_5, &oteResponse_5);
manager->execute(thisTest);
}
catch (EPPException& e)
{ const char *eMsg = e.getMessage().c_str();
const char *opNow = op.c_str();
theseLogs->logN(2,"EPP Exception during OTE B (%s): %s .",opNow,eMsg);
throw e;
}
catch (...)
{
theseLogs->logN(1,"General Exception OTE B (%s).",op.c_str());
}
}
theseLogs->logN(2,"(%d) skip Create %s w Notice ID test data (TCN).",++cmd,name3);
if (0) { // done
string noticeID("d85159710000000000000008692"),
notAfter("2015-01-01T12:00:00Z"), acceptedDate("2014-01-27T19:00:00Z");
DomainCreateCommand oteCommand_6(name3,pw,&RID, &tech, &ns, &admin, &billing);
crtE1.setNoticeID(noticeID, notAfter, acceptedDate);
oteCommand_6.appendExtension(crtE1);
DomainCreateResponse oteResponse_6;
try {
thisTest = Transaction(&oteCommand_6, &oteResponse_6);
manager->execute(thisTest);
}
catch (EPPException& e)
{ const char *eMsg = e.getMessage().c_str();
const char *opNow = op.c_str();
theseLogs->logN(2,"EPP Exception during OTE B (%s): %s .",opNow,eMsg);
throw e;
}
catch (...)
{
theseLogs->logN(1,"General Exception OTE B (%s).",op.c_str());
}
}
if (doDPML) { std::string dpmlName("face.dpml.zone");
theseLogs->logN(2,"(%d) Create %s w ICANN SMD file.",++cmd,dpmlName.c_str());
DomainCreateCommand oteCommand_7(dpmlName,pw,&RID, &tech, &ns, &admin, &billing);
crtE2.setSMD(smdData);
oteCommand_7.appendExtension(crtE2);
DomainCreateResponse oteResponse_7;
try {
thisTest = Transaction(&oteCommand_7, &oteResponse_7);
manager->execute(thisTest);
}
catch (EPPException& e)
{ const char *eMsg = e.getMessage().c_str();
const char *opNow = op.c_str();
theseLogs->logN(2,"EPP Exception during OTE B (%s): %s .",opNow,eMsg);
throw e;
}
catch (...)
{
theseLogs->logN(1,"General Exception OTE B (%s).",op.c_str());
}
}
theseLogs->logN(0,"End OTE Session.");
sess->close();
manager->shutdown();
}
catch (EPPException& e)
{ const char *eMsg = e.getMessage().c_str();
const char *opNow = op.c_str();
theseLogs->logN(2,"Outer EPP Exception during OTE (%s): %s .",opNow,eMsg);
throw e;
}
catch (...)
{
theseLogs->logN(2,"Outer General Exception in OTE (%s).",op.c_str());
}
}// debug while
}
#endif /* DONUTSOTEB_H_ */