#include "xml/XMLParser.hpp" #include "common/init.hpp" #include "common/Test.hpp" #include "session/Timer.hpp" #include "SecDNSDSData.hpp" #include "SecDNSKeyData.hpp" #include "SecDNSDSOrKeyType.hpp" #include "DomainSecDNSCreateCommandExtension.hpp" #include "se/DomainCreateCommand.hpp" #include "se/CLTRID.hpp" using namespace std; void testSecDNSAllFields() { Timer::setTime("20140101.010101"); CLTRID::setClID("ACTKUTST"); DomainCreateCommand createCommand("ACTKUTST.mop.biz", "jtkUT3st", NULL); auto_ptr dsData(new SecDNSDSData(12345, 3, 1, "49FD46E6C4B45C55D4AC")); auto_ptr keyData(new SecDNSKeyData(256, 3, 1, "AQPJ////4Q==")); dsData->setKeyData(keyData.release()); auto_ptr createData(new SecDNSDSOrKeyType()); auto_ptr maxSigLife(new SecDNSMaxSigLifeType(604800)); createData->setMaxSigLife(maxSigLife.release()); createData->addToDSData(dsData.release()); DomainSecDNSCreateCommandExtension extension; extension.setCreateData(createData.release()); createCommand.appendExtension(extension); const string xml = createCommand.toXML(); ASSERT_EQ(xml, "ACTKUTST.mop.bizjtkUT3st604800123453149FD46E6C4B45C55D4AC25631AQPJ////4Q==ACTKUTST.20140101.010101.0" ); } void testSecDNSMultipleDSDataWithoutMaxSigLife() { Timer::setTime("20140101.010101"); CLTRID::setClID("ACTKUTST"); DomainCreateCommand createCommand("ACTKUTST.mop.biz", "jtkUT3st", NULL); auto_ptr dsData(new SecDNSDSData(12345, 3, 1, "38FD46E6C4B45C55D4AC")); auto_ptr keyData(new SecDNSKeyData(256, 3, 1, "AQPJ////4Q==")); dsData->setKeyData(keyData.release()); auto_ptr createData(new SecDNSDSOrKeyType()); createData->addToDSData(dsData.release()); auto_ptr dsData2(new SecDNSDSData(6789, 2, 2, "49FD46E6C4B45C55D4AC")); createData->addToDSData(dsData2.release()); DomainSecDNSCreateCommandExtension extension; extension.setCreateData(createData.release()); createCommand.appendExtension(extension); const string xml = createCommand.toXML(); ASSERT_EQ(xml, "ACTKUTST.mop.bizjtkUT3st123453138FD46E6C4B45C55D4AC25631AQPJ////4Q==67892249FD46E6C4B45C55D4ACACTKUTST.20140101.010101.0" ); } void testSecDNSAllFieldsMin() { Timer::setTime("20140101.010101"); CLTRID::setClID("ACTKUTST"); DomainCreateCommand createCommand("ACTKUTST.mop.biz", "jtkUT3st", NULL); auto_ptr dsData(new SecDNSDSData(0, 0, 0, "49FD46E6C4B45C55D4AC")); auto_ptr keyData(new SecDNSKeyData(0, 0, 0, "AQPJ////4Q==")); dsData->setKeyData(keyData.release()); auto_ptr createData(new SecDNSDSOrKeyType()); auto_ptr maxSigLife(new SecDNSMaxSigLifeType(1)); createData->setMaxSigLife(maxSigLife.release()); createData->addToDSData(dsData.release()); DomainSecDNSCreateCommandExtension extension; extension.setCreateData(createData.release()); createCommand.appendExtension(extension); const string xml = createCommand.toXML(); ASSERT_EQ(xml, "ACTKUTST.mop.bizjtkUT3st100049FD46E6C4B45C55D4AC000AQPJ////4Q==ACTKUTST.20140101.010101.0" ); } void testSecDNSAllFieldsMax() { Timer::setTime("20140101.010101"); CLTRID::setClID("ACTKUTST"); DomainCreateCommand createCommand("ACTKUTST.mop.biz", "jtkUT3st", NULL); auto_ptr dsData(new SecDNSDSData(65535, 255, 255, "49FD46E6C4B45C55D4AC")); auto_ptr keyData(new SecDNSKeyData(65535, 255, 255, "AQPJ////4Q==")); dsData->setKeyData(keyData.release()); auto_ptr createData(new SecDNSDSOrKeyType()); auto_ptr maxSigLife(new SecDNSMaxSigLifeType(2147483647)); createData->setMaxSigLife(maxSigLife.release()); createData->addToDSData(dsData.release()); DomainSecDNSCreateCommandExtension extension; extension.setCreateData(createData.release()); createCommand.appendExtension(extension); const string xml = createCommand.toXML(); ASSERT_EQ(xml, "ACTKUTST.mop.bizjtkUT3st21474836476553525525549FD46E6C4B45C55D4AC65535255255AQPJ////4Q==ACTKUTST.20140101.010101.0" ); } void testSecDNSJustKeyData() { Timer::setTime("20140101.010101"); CLTRID::setClID("ACTKUTST"); DomainCreateCommand createCommand("ACTKUTST.mop.biz", "jtkUT3st", NULL); auto_ptr keyData(new SecDNSKeyData(65535, 255, 255, "AQPJ////4Q==")); auto_ptr createData(new SecDNSDSOrKeyType()); auto_ptr maxSigLife(new SecDNSMaxSigLifeType(65535)); createData->setMaxSigLife(maxSigLife.release()); createData->addToKeyData(keyData.release()); DomainSecDNSCreateCommandExtension extension; extension.setCreateData(createData.release()); createCommand.appendExtension(extension); const string xml = createCommand.toXML(); ASSERT_EQ(xml, "ACTKUTST.mop.bizjtkUT3st6553565535255255AQPJ////4Q==ACTKUTST.20140101.010101.0" ); } int main(int argc, char* argv[]) { init("./etc/toolkit2.conf"); TEST_run(testSecDNSAllFields); TEST_run(testSecDNSMultipleDSDataWithoutMaxSigLife); TEST_run(testSecDNSAllFieldsMin); TEST_run(testSecDNSAllFieldsMax); TEST_run(testSecDNSJustKeyData); return TEST_errorCount(); }