#include "mdclient.h" using namespace std; typedef struct _DE { char sig; const char * name; } newDEs; // Lots to do here, need to complete migration to the EPP context which is // enoromously better better bounded than the original. In the end will have // a test suite here that can be generated from the XMLRPC registry. const char *standardEPPDirectives[8] = { "check", "infod", "transfer", "create", "renew, "update", "delete", "transfer" }; const char *randomValues[4] = { "333.333", "111.111", "34.43", "7777.777" }; const char *requiredCmdSubSys[2] = { "SYSTEM", "STATUS" }; string debug1,debug2,success("OK"); void mdCoreAPITestSuite::bucket01(char const *title) { phase = string("core API test bucket"); int nTests=(sizeof(standardEPPDirectives)/sizeof(char *)),variation; XmlRpcValue focus,gotten[nTests]; cout << "\nTest Bucket: " << title << endl; // Get predefined data and test a bogus dataname for ( variation=0; variation < nTests; variation++) { cout << ".Get '" << standardEPPDirectives[variation] << "'\n"; gotten[variation] = testState->get(mdServerHandle,standardEPPDirectives[variation]).getStruct(); focus = gotten[variation].structGetValue("dataname"); if (variation < (nTests - 1)) TEST(focus.getString() == string(standardEPPDirectives[variation])); else TEST(focus.getString() == string("not found")); } // Set to some value. for (variation=0;variation < (nTests - 1);variation++) { cout << ".Set '" << standardEPPDirectives[variation] << "'\n"; gotten[variation].structSetValue("sValue",XmlRpcValue::makeString(randomValues[variation])); TEST(string("OK") == testState->set(mdServerHandle,gotten[variation])); } // Get and compare. for ( variation=0; variation < (nTests -1); variation++) { cout << ".Cmp '" << standardEPPDirectives[variation] << "'\n"; gotten[variation] = testState->get(mdServerHandle,standardEPPDirectives[variation]).getStruct(); focus = gotten[variation].structGetValue("sValue"); debug1 = focus.getString(); debug2 = string(randomValues[variation]); TEST(focus.getString() == string(randomValues[variation])); } } void mdCoreAPITestSuite::bucket02(char const *title) { int nRequired=(sizeof(requiredCmdSubSys)/sizeof(char *)),nthCmd=0,i,found=0; XmlRpcValue response; cout << "\nTest Bucket: " << title << endl; response = testBehavior->getCommandList(mdServerHandle,string("")).getArray(); TEST(response.arraySize() >= nRequired); for (nthCmd = 0; nthCmd < response.arraySize(); nthCmd++) { for (i=0;icreate(mdServerHandle,newType,otherP1Elements[nthNew].name)); } cout << "Note: you cannot run this bucket again without restarting MD." << endl; } void mdCoreAPITestSuite::bucket04(char const *title) { cout << "\nTest Bucket: " << title << " test variations not implemented yet." << endl; } void mdCoreAPITestSuite::bucket05(char const *title) { cout << "\nTest Bucket: " << title << " test variations not implemented yet." << endl; } void mdCoreAPITestSuite::bucket06(char const *title) { cout << "\nTest Bucket: " << title << " test variations not implemented yet.\n" << endl; }