#include "se/ArDomainUnrenewResponse.hpp"
#include "xml/XMLParser.hpp"
#include "session/Timer.hpp"
#include "common/Test.hpp"
#include "common/init.hpp"
#include "se/EPPDateFormatter.hpp"
using namespace std;
void doWork()
{
init("etc/toolkit2.conf");
const string xml1 =
"Command completed successfullyexample.com2009-04-03T22:00:00.0ZABC-1234554321-XYZ";
const string xml2 =
"Command completed successfully; action pendingexample.comABC-1234554321-XYZ";
ArDomainUnrenewResponse response1;
ArDomainUnrenewResponse response2;
XMLParser parser;
auto_ptr doc(parser.parse(xml1));
response1.fromXML(doc.get());
{
ASSERT_EQ(response1.getName(), "example.com");
const XMLGregorianCalendar *exDate = response1.getExpiryDate();
string res = EPPDateFormatter::toXSDateTime(*exDate);
ASSERT_EQ(res, "2009-04-03T22:00:00.0Z");
const vector& results(response1.getResults());
ASSERT_EQ(response1.getCLTRID(), "ABC-12345");
ASSERT_EQ(results[0].getResultCode(), 1000);
ASSERT_EQ(results[0].getResultMessage(),
"Command completed successfully");
}
auto_ptr doc2(parser.parse(xml2));
response2.fromXML(doc2.get());
{
ASSERT_EQ(response2.getName(), "example.com");
const XMLGregorianCalendar *exDate = response2.getExpiryDate();
ASSERT_NULL(exDate);
const vector& results(response2.getResults());
ASSERT_EQ(response2.getCLTRID(), "ABC-12345");
ASSERT_EQ(results[0].getResultCode(), 1001);
ASSERT_EQ(results[0].getResultMessage(),
"Command completed successfully; action pending");
}
}
int main(int argc, char* argv[])
{
TEST_run(doWork);
return TEST_errorCount();
}