int runEppTestChangePoll(EppParser & parser)
{
	// tests on helper classes define as part of ChangePollExtension implementation
	{
		//EppReason test
		EppReason* r = new EppReason();
		r->setReason("test reason");
		r->setLanguage("en-US");
		cout<<endl <<"EppReason=" << r->toString();
		delete r;
		
		//EppChangePollOperation test
		EppChangePollOperation* op = new EppChangePollOperation();
		op->setOperation("delete");
		op->setSubOperation("purge");
		cout<<endl <<"EppChangePollOperation=" << op->toString();
		delete op;
	}

	DOMNode* n;

	EppDomain domain("DOMAIN.BIZ");
	domain.setRoid("TESTROID-12345");
	EppStatus st(EppDomain::STATUS_OK);
	domain.addStatus(st);
	domain.setClientId("testID");
	EppResult result(EppError::CODE_NO_ERROR);
	EppValueReason reason0("TestValue0", "TestReason0", "en-US");
	EppValueReason reason4("Value4");
	result.addValue(reason0);
	result.addValue("Value1");
	result.addValue("Value2");
	result.addValue("Value3");
	result.addValue(reason4);
	EppTransactionId trid("CLIENT-XID", "SERVER-ID");
	EppResponse rsp;
	rsp.addResult(result);
	rsp.setTransactionId(trid);

	EppResponseDataInfo infData(&domain);
	rsp.setResponseData(&infData);
	EppChangePollExt* ext = new EppChangePollExt();
	ext->setState("after");
	EppChangePollOperation *operation = new EppChangePollOperation();
	operation->setOperation("delete");
	operation->setSubOperation("purge");
	ext->setOperation(operation);
	ext->setWho("you");
	ext->setDate(time_t(0) + (30* 3600 * 24));
	ext->setSvTRID("x1y2z3");
	ext->setReason(new EppReason("Example-Reason-EN", "en-US"));

	rsp.addExtension(ext);

	DOMString orig = rsp.toString();

	parser.parse(orig);
	n = parser.getRootNode();
	EppResponse * newRsp = EppResponse::fromXML(*n);

	DOMString again = newRsp->toString();

	if ( orig.equals(again) )
	{
		std::cout<<endl
			 <<"Original=" <<endl<<orig<<endl
			 <<"PASSED: "  <<__FILE__<<endl;
	}
	else
	{
		std::cout<<endl
			 <<"Original=" <<endl<<orig<<endl
			 <<"Again="    <<endl<<again<<endl
		  	 <<"FAILED : " <<__FILE__<<endl;
	}
	delete newRsp;

	return 0;
}
Пример #2
0
int InfoResponseTest(EppParser& parser, DOMNode* n)
{
	EppDomain domain("INFO-RESPONSE-TEST.BIZ");
	domain.setRoid("ROID-ROID");

	EppStatus st(EppDomain::STATUS_CLIENT_UPDATE_PROHIBITED);
	domain.addStatus(st);

	domain.setClientId("123");

	EppResult result(EppError::CODE_NO_ERROR);
	//EppValueReason reason0("Value0", "Reason0", "en_US");
	EppValueReason reason0("Value0", "Reason0", "en");
	EppValueReason reason4("Value4");
	result.addValue(reason0);
	result.addValue("Value1");
	result.addValue("Value2");
	result.addValue("Value3");
	result.addValue(reason4);
	EppTransactionId trid("CLIENT-XID", "SERVER-ID");

	EppResponse rsp;
	rsp.addResult(result);
	rsp.setTransactionId(trid);
	EppResponseDataInfo infData(&domain);
	rsp.setResponseData(&infData);

	EppResponseInfoFee* feeExt = new EppResponseInfoFee();
	feeExt->setCurrency("RND");

	EppFeeCommand* command = new EppFeeCommand();
	command->setCommand("NEWEPPCOMMAND");
	command->setPhase("new-sunrise");
	feeExt->setCommand(command);

	EppPeriod* period = new EppPeriod();
	period->setUnit('m');
	period->setValue(11);
	feeExt->setPeriod(period);

	EppFeeFee *fee2 = new EppFeeFee();
	fee2->setDescription("SOME Fee");
	fee2->setRefundable("1");
	fee2->setFee(5.01);
	feeExt->addFee(fee2);

	rsp.addExtension(feeExt);

	DOMString orig = rsp.toString();

	parser.parse(orig);
	n = parser.getRootNode();

	EppResponse * newRsp = EppResponse::fromXML(*n);
	DOMString again = newRsp->toString();

	delete newRsp;
	
	doValidate(orig, again, __FUNCTION__);
	return 0;
}
Пример #3
0
int runEppTestSecDns(EppParser& parser)
{


	DOMNode* n;

	EppDomain domain("DOMAIN.BIZ");
	EppAuthInfo authInfo(EppAuthInfo::TYPE_PW, "3fooBar");
	domain.setAuthInfo(authInfo);
	EppCommandCreate create(&domain, "ABC-DEF-XXXX-ID");

	EppCommandCreateSecDns * createSecDns = new EppCommandCreateSecDns();
	EppSecDnsDsData ds0;
	EppSecDnsDsData ds1;
	time_t cal = ::time(0);

	char * str0 = "ABCDEF012345789";
	char * str1 = "012345789ABCDEF";

	ds0.setKeyTag(12345);
	ds0.setAlgorithm(3);
	ds0.setDigestType(1);
	//ds0.setDigest((unsigned char *) str0, 16);
	//ds0.setStartDate(cal);
	//ds0.setEndDate(cal + 86400 * 365);

	ds1.setKeyTag(54321);
	ds1.setAlgorithm(3);
	ds1.setDigestType(1);
	//ds1.setDigest((unsigned char *) str1, 16);
	//ds1.setStartDate(cal + 86400 * 365);
	//ds1.setEndDate(cal + 86400 * 730);
	//ds1.setValidationInterval("P60D");

	createSecDns->add(ds0);
	createSecDns->add(ds1);

	create.addExtension(createSecDns);

	cout << create.toString() << endl;
	parser.parse(create.toString());
	n = parser.getRootNode();
	EppCommandCreate * newCreate = (EppCommandCreate *) EppCommand::fromXML(*n);
	cout << newCreate->toString() << endl;
	delete newCreate;

	EppCommandUpdateDomain updateDomainAdd("DOMAIN.BIZ");
	updateDomainAdd.setClientTransactionId("CLINET-XID");

	EppCommandUpdateSecDns * addSecDns = new EppCommandUpdateSecDns();
	addSecDns->add(ds0);
	addSecDns->add(ds1);
	updateDomainAdd.addExtension(addSecDns);

	cout << updateDomainAdd.toString() << endl;
	parser.parse(updateDomainAdd.toString());
	n = parser.getRootNode();
	EppCommandUpdate * newUpdateDomainAdd = (EppCommandUpdate *) EppCommand::fromXML(*n);
	cout << newUpdateDomainAdd->toString() << endl;
	delete newUpdateDomainAdd;

	EppCommandUpdateDomain updateDomainChg("DOMAIN.BIZ");
	updateDomainChg.setClientTransactionId("CLINET-XID");

	EppCommandUpdateSecDns * chgSecDns = new EppCommandUpdateSecDns();
	chgSecDns->change(ds0);
	chgSecDns->change(ds1);
	updateDomainChg.addExtension(chgSecDns);

	cout << updateDomainChg.toString() << endl;
	parser.parse(updateDomainChg.toString());
	n = parser.getRootNode();
	EppCommandUpdate * newUpdateDomainChg = (EppCommandUpdate *) EppCommand::fromXML(*n);
	cout << newUpdateDomainChg->toString() << endl;
	delete newUpdateDomainChg;

	EppCommandUpdateDomain updateDomainRem("DOMAIN.BIZ");
	updateDomainRem.setClientTransactionId("CLINET-XID");

	EppCommandUpdateSecDns * remSecDns = new EppCommandUpdateSecDns();
	updateDomainRem.addExtension(remSecDns);

	cout << updateDomainRem.toString() << endl;
	parser.parse(updateDomainRem.toString());
	n = parser.getRootNode();
	EppCommandUpdate * newUpdateDomainRem = (EppCommandUpdate *) EppCommand::fromXML(*n);
	cout << newUpdateDomainRem->toString() << endl;
	delete newUpdateDomainRem;

	EppResult result(EppError::CODE_NO_ERROR);
	EppValueReason reason0("Value0", "Reason0", "en_US");
	EppValueReason reason4("Value4");
	result.addValue(reason0);
	result.addValue("Value1");
	result.addValue("Value2");
	result.addValue("Value3");
	result.addValue(reason4);
	EppTransactionId trid("CLIENT-XID", "SERVER-ID");
	EppResponse rsp;
	rsp.addResult(result);
	rsp.setTransactionId(trid);
	EppResponseDataInfo infData(&domain);
	rsp.setResponseData(&infData);

	EppResponseDataInfoSecDns * infSecDns = new EppResponseDataInfoSecDns();
	infSecDns->add(ds0);
	infSecDns->add(ds1);
	rsp.addExtension(infSecDns);

	cout << rsp.toString() << endl;
	parser.parse(rsp.toString());
	n = parser.getRootNode();
	EppResponse * newRsp = EppResponse::fromXML(*n);
	cout << newRsp->toString() << endl;
	delete newRsp;

	return 0;
}