This commit is contained in:
parent
70e438feee
commit
ae874916f7
185
.cproject
185
.cproject
|
@ -3,8 +3,8 @@
|
|||
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1489137557">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1489137557" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1217424711">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1217424711" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
|
@ -16,27 +16,27 @@
|
|||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="git" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1489137557" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1489137557.45876174" name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1604623789" name="cdt.managedbuild.toolchain.gnu.base" superClass="cdt.managedbuild.toolchain.gnu.base">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.1489688336" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.1594561920" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1326612781" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.637187500" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1015923900" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||
<configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1217424711" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1217424711.856785893" name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.base.925418553" name="cdt.managedbuild.toolchain.gnu.base" superClass="cdt.managedbuild.toolchain.gnu.base">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.1993697899" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||
<builder command="make" id="cdt.managedbuild.target.gnu.builder.base.175415971" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1200271753" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1983895476" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1234249186" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1814883119" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1118638960" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1315644047" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1808159100" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1481582528" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1048700328" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1629920531" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1545803542" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.138368163" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.270762206" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.assembler.base.264833315" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.853558430" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.assembler.base.1987364525" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.223635164" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
|
@ -45,19 +45,19 @@
|
|||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="git.null.364140434" name="git"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="DNSEPPUS.null.1436811639" name="DNSEPPUS"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
|
||||
<buildTargets>
|
||||
<target name="libACTK1_0.so" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="all" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>libACTK1_0.so</buildTarget>
|
||||
<buildArguments/>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
|
@ -70,44 +70,23 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="dclean" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>tests</buildTarget>
|
||||
<buildArguments/>
|
||||
<buildTarget>dclean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="dirs" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>dirs</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="dclean" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>dclean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>false</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="adHoc" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>build/LPChkExtension.o</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>false</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="ACTK1_3_2" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="clean" path="AusRegCliever" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>clean</buildTarget>
|
||||
|
@ -115,96 +94,14 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="ACTK1_3_2" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="dirs" path="AusRegCliever" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests" path="ACTK1_3_2" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>tests</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="APIG" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="dirs" path="APIG" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>dirs</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="apig-cli" path="APIG" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>apig-cli</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="build/commander.o" path="APIG" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>build/commander.o</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="build/ausreg-cd" path="APIG" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>build/ausreg-cd</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="cliever" path="APIG" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>cliever</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="APIG" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="AusRegEPPTK.so" path="AusRegEPPTK" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests" path="AusRegEPPTK" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>tests</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="AusRegEPPTK" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="cliever" path="AusRegCliever" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
|
@ -213,27 +110,19 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="AusRegCliever" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="all" path="AusRegCliever" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>false</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="distclean" path="AusRegCliever" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>distclean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="build/ausreg-md" path="AusRegCliever" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildTarget>build/ausreg-md</buildTarget>
|
||||
<buildArguments/>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
</buildTargets>
|
||||
</storageModule>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="Default">
|
||||
<resource resourceType="PROJECT" workspacePath="/DNSEPPUS"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
</cproject>
|
||||
|
|
|
@ -117,7 +117,7 @@ $(BUILD_OBJ_DIR)/%: $(BUILD_OBJ_DIR)/%.o
|
|||
#
|
||||
ARTKOBJS=build/XMLGregorianCalendar.o build/XMLParser.o build/XMLWriter.o build/ACSession.o build/DomainAddRem.o \
|
||||
build/EnumDomainInfoResponse.o build/log.o build/PostalInfoType.o build/SessionManagerPropertiesImpl.o \
|
||||
build/RegistrantObjectType.o build/LPExtension.o build/LPChkCmdExtension.o build/LPCrtCmdExtension.o build/LPCrtRespExtension.o\
|
||||
build/RegistrantObjectType.o build/LPExtension.o \
|
||||
build/AddRemType.o build/DomainCheckResponse.o build/EnumDomainUpdateCommand.o build/Properties.o build/SessionPoolImpl.o \
|
||||
build/boolean.o build/DomainCreateCommand.o build/EnumType.o build/ProtocolExtensionCommand.o build/SSLException.o \
|
||||
build/CertificateUserMismatchException.o build/DomainCreateResponse.o build/EPPDateFormatter.o build/ReceiveSE.o build/StandardCommandType.o \
|
||||
|
@ -138,7 +138,8 @@ build/CreateResponse.o build/DomainUpdateSyncCommandExtension
|
|||
build/DataResponse.o build/E164Extension.o build/Logger.o \
|
||||
build/SMDExtension.o build/ACProxyCommand.o \
|
||||
build/PollResponse.o build/SessionManagerFactory.o \
|
||||
build/Disclose.o build/EnumDomainCreateCommand.o build/LoginCommand.o build/PostalInfo.o build/SessionManagerImpl.o
|
||||
build/Disclose.o build/EnumDomainCreateCommand.o build/LoginCommand.o build/PostalInfo.o \
|
||||
build/SessionManagerImpl.o build/LPChkCmdExtension.o build/LPCrtCmdExtension.o build/LPCrtRespExtension.o
|
||||
|
||||
.PHONY: tests
|
||||
tests: all $(test_execs)
|
||||
|
|
|
@ -17,9 +17,10 @@ namespace {
|
|||
}
|
||||
}; // anonymous namespace
|
||||
|
||||
void LPCrtCmdExtension::setSMD()
|
||||
void LPCrtCmdExtension::setSMD(std::string smdIn)
|
||||
{
|
||||
haveSMD = true;
|
||||
smdData = smdIn;
|
||||
|
||||
}
|
||||
void LPCrtCmdExtension::addToCommand(const Command &command) const
|
||||
|
|
|
@ -19,13 +19,15 @@ class LPCrtCmdExtension : public CommandExtension
|
|||
void setNoticeID(string &idVal,string ¬AftVal, string &acceptedVal) {
|
||||
noticeID = idVal; notAfter = notAftVal; acceptedDate = acceptedVal; haveNoticeID = true;
|
||||
}
|
||||
void setSMD();
|
||||
void setSMD(std::string toWhat);
|
||||
private:
|
||||
bool haveNoticeID,haveSMD;
|
||||
|
||||
std::string acceptedDate;
|
||||
std::string lpePhaseName;
|
||||
std::string noticeID;
|
||||
std::string notAfter;
|
||||
std::string acceptedDate;
|
||||
std::string smdData;
|
||||
|
||||
};
|
||||
|
||||
|
@ -43,78 +45,4 @@ inline LPCrtCmdExtension::LPCrtCmdExtension( const std::string *phaseName)
|
|||
|
||||
#endif // __DOMAIN_UPDATE_COMMAND_EXTENSION_HPP
|
||||
|
||||
// just here for exploratory purposes
|
||||
|
||||
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+");
|
||||
|
|
|
@ -16,8 +16,8 @@ Cc=gcc
|
|||
|
||||
ifeq ($(LOCATION),DEBIAN_7)
|
||||
ifneq ($(ARTKENABLED),0)
|
||||
ARTKLIB=-L/home/jdaugherty/clients/reg.de/git/ACTK1_0/lib
|
||||
ARTKINCL=-I/home/jdaugherty/clients/reg.de/git/ACTK1_0
|
||||
ARTKLIB=-L/home/jdaugherty/clients/greg/git/ACTK1_0/lib
|
||||
ARTKINCL=-I/home/jdaugherty/clients/greg/git/ACTK1_0
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -60,11 +60,11 @@ XERCES_LIB = xerces-c
|
|||
XERCES_INC_DIR = /opt/local/include/xercesc/
|
||||
endif
|
||||
|
||||
SLIBS= -L/usr/lib $(BOSTLIB) $(LOG4LIB) $(ARTKLIB) -l boost_system -l boost_thread -l log4cpp -l ACTK1_0 -l jsoncpp
|
||||
SLIBS= -L/usr/lib $(BOSTLIB) $(LOG4LIB) $(ARTKLIB) -l boost_system -l boost_thread -l log4cpp -l ACTK1_0 -l jsoncpp -l SegFault
|
||||
DLIBS= -L/usr/lib $(BOSTLIB) $(LOG4LIB) $(ARTKLIB) -l boost_system -l boost_thread -l log4cpp
|
||||
|
||||
SINCL= -I include -I /usr/include/log4cpp -I /usr/include/jsoncpp $(BOSINCL)
|
||||
CFLAGS= -DCURRENT_DEBUG=1000 -ggdb3 -DARTKENABLED=$(ARTKENABLED) -DAC_MD
|
||||
CFLAGS= -DCURRENT_DEBUG=1000 -std=gnu++11 -ggdb3 -rdynamic -DARTKENABLED=$(ARTKENABLED) -DAC_MD -w
|
||||
|
||||
#
|
||||
# ---------- Should not need to change below
|
||||
|
|
|
@ -8,220 +8,334 @@
|
|||
#ifndef REGISTRYOTE_H_
|
||||
#define REGISTRYOTB_H_
|
||||
|
||||
typedef auto_ptr<SessionManager> AC_SESSMGR;
|
||||
typedef auto_ptr<Session> AC_SESSION;
|
||||
|
||||
static AC_SESSMGR ac_mgr;
|
||||
static AC_SESSION ac_sess;
|
||||
|
||||
ACTx *inProgress;
|
||||
|
||||
int nCases,thisCase;
|
||||
|
||||
testDescs theseSpecs;
|
||||
testCases theseCases;
|
||||
testFuncs theseFuncs;
|
||||
|
||||
Json::Value theseParms;
|
||||
|
||||
|
||||
bool acTkInitialised = false, fatal = false, done = false, transferGainer,
|
||||
bindError;
|
||||
|
||||
const char *thisName = "registrar.ote";
|
||||
string thisRegistry("Unknown"), thatAccount("Unknown"), thisAccount("Unknown"), shitName;
|
||||
|
||||
int cmd=0,debug=1000;
|
||||
string op("newInstance");
|
||||
|
||||
const string claims("claims"), dpml("custom"), landrush("landrush"), sunrise("sunrise");
|
||||
|
||||
std::string ctc("renjuan");
|
||||
std::string ctcPW("Ab9dW@rd");
|
||||
std::string ctcEmail("juan@acm.org");
|
||||
std::string ctcName("Ren Ren-Juan");
|
||||
std::string ctcCity("Niagara Falls");
|
||||
std::vector<std::string>
|
||||
ctcCrib(1,"2926 2nd Strt");
|
||||
std::string ctcProv("NY");
|
||||
std::string ctcPC("14305");
|
||||
std::string ctcGuo("US");
|
||||
std::string ctcOrg("American Kybernetik");
|
||||
const char *thisName = "registrar.ote", *thisDesc;
|
||||
|
||||
std::string pw("Ab9dW@rd");
|
||||
std::string RID("renjuan");
|
||||
string thisRegistry("Unknown"), thatAccount("Unknown"), thisAccount("Unknown");
|
||||
|
||||
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") );;
|
||||
int debug=1000;
|
||||
|
||||
const IntPostalInfo ctcPO(ctcName,ctcOrg,
|
||||
ctcCrib,ctcCity,ctcProv,ctcPC,ctcGuo);
|
||||
commandFrame *ctxt;
|
||||
|
||||
LPCrtCmdExtension crtE1( &claims ), crtE2( &dpml );
|
||||
inline bool checkAndSetBool(bool &target,const char *jsonName,const bool defaultValue,bool required) {
|
||||
|
||||
bool value = true;
|
||||
|
||||
if (!theseParms.isMember(jsonName)) {
|
||||
if (required) {
|
||||
theseLogs->logN(2,"%d - no '%s' boolean field",thisCase+1,jsonName);
|
||||
ACPRODINOTE::bindError = true;
|
||||
value = false;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Check bool type
|
||||
|
||||
target = theseParms.get(jsonName,defaultValue).asBool();
|
||||
return value;
|
||||
|
||||
}
|
||||
|
||||
inline bool checkAndSetStr(string &target,const char *jsonName,const char *defaultValue,bool required) {
|
||||
|
||||
bool value = true;
|
||||
|
||||
if (!theseParms.isMember(jsonName)) {
|
||||
if (required) {
|
||||
theseLogs->logN(2,"%d - no '%s' string field",thisCase+1,jsonName);
|
||||
ACPRODINOTE::bindError = true;
|
||||
value = false;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Check string type
|
||||
|
||||
target = theseParms.get(jsonName,defaultValue).asString();
|
||||
return value;
|
||||
|
||||
}
|
||||
|
||||
inline bool checkNameOK() {
|
||||
|
||||
if (!parms[thisCase].isMember("name")) {
|
||||
theseLogs->logN(1,"(%d) no 'name' field",cmd);
|
||||
if (!theseParms.isMember("name")) {
|
||||
theseLogs->logN(1,"%d - no 'name' field",thisCase+1);
|
||||
ACPRODINOTE::bindError = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
shitName = parms[thisCase]["name"].asString();
|
||||
thisName = shitName.c_str();
|
||||
ctxt->shitName = theseParms.get("name","noname").asString();
|
||||
thisName = ctxt->shitName.c_str();
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
inline bool checkContOK() {
|
||||
|
||||
if (!parms[thisCase].isMember("cont_id")) {
|
||||
ACPRODINOTE::bindError = true;
|
||||
theseLogs->logN(1,"(%d) no 'cont_id' field",cmd);
|
||||
return false;
|
||||
bool value = checkAndSetStr(ctxt->ctc,"cont_id","renjuan",true);
|
||||
|
||||
ctxt->thisDesc = theseSpecs[thisCase].case_desc;
|
||||
|
||||
value = value ? true : checkAndSetStr(ctxt->ctc,"cont_name","renjuan",true);
|
||||
value = value ? true : checkAndSetStr(ctxt->ctcPW,"cont_pw","Ab9dW@rd",true);
|
||||
value = value ? true : checkAndSetStr(ctxt->ctcEmail,"cont_email","juan@acm.org",true);
|
||||
checkAndSetStr(ctxt->ctcName,"cont_name","Ren Ren-Juan",false);
|
||||
checkAndSetStr(ctxt->ctcCity,"cont_city","Niagara Falls",false);
|
||||
checkAndSetStr(ctxt->ctcProv,"cont_province","NY",false);
|
||||
checkAndSetStr(ctxt->ctcPC,"cont_postal_code","14305",false);
|
||||
checkAndSetStr(ctxt->ctcGuo,"cont_guo","US",false);
|
||||
checkAndSetStr(ctxt->ctcOrg,"cont_org","American Kybernetik",false);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
inline bool checkPWDOK() {
|
||||
|
||||
return checkAndSetStr(ctxt->pw,"cont_pw","Ab9dW@rd",true);
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
inline bool checkPhaseOK() {
|
||||
|
||||
return checkAndSetStr(ctxt->thisLaunchPhase,"launch_phase","sunrise",true);
|
||||
|
||||
}
|
||||
|
||||
inline bool checkPWDOK(Json::Value thisPW) {
|
||||
inline bool checkSMD() {
|
||||
|
||||
if (!parms[thisCase].isMember("cont_id")) {
|
||||
ACPRODINOTE::bindError = true;
|
||||
theseLogs->logN(1,"(%d) no 'cont_pw' field",cmd);
|
||||
return false;
|
||||
#define MAX_SMD_SIZE (64*1024)
|
||||
|
||||
bool value = checkAndSetStr(ctxt->smdFileName,"smd_data","",true);
|
||||
|
||||
if (value) { string fullPath = ctxt->smdPath + theseParms.get("smd_data","").asString();
|
||||
|
||||
if( access( fullPath.c_str(), R_OK ) != -1 ) {struct stat st; int result,size; char *buffer;
|
||||
stat(fullPath.c_str(), &st);
|
||||
size = st.st_size;
|
||||
if (!size || size > MAX_SMD_SIZE) {
|
||||
theseLogs->logN(2,"%d - '%s' zero size or too big ",thisCase+1,fullPath.c_str() );
|
||||
value = false;
|
||||
goto done;
|
||||
}
|
||||
FILE *file;
|
||||
buffer = (char *)malloc(size);
|
||||
if (file = fopen(fullPath.c_str(), "r"))
|
||||
{result = fread (buffer,1,size,file);
|
||||
fclose(file);
|
||||
if (result != size)
|
||||
{theseLogs->logN(2,"%d - error reading '%s' ",thisCase+1,fullPath.c_str() ); value = false;}
|
||||
else ctxt->smdData = string(buffer);
|
||||
}
|
||||
theseLogs->logN(3,"%d - %d bytes SMD data read from '%s' ",thisCase+1,size,fullPath.c_str() );
|
||||
} else {
|
||||
value = false;
|
||||
theseLogs->logN(2,"%d - can't read SMD data from '%s' ",thisCase+1,fullPath.c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
done: return value;
|
||||
}
|
||||
|
||||
inline void newCommandFrame() {
|
||||
|
||||
ctxt = new commandFrame();
|
||||
|
||||
ctxt->ctcOrg = string("American Kybernetik");
|
||||
ctxt->ctcProv = string("NY");
|
||||
ctxt->ctcPC = string("14305");
|
||||
|
||||
ctxt->thisDesc = theseSpecs[thisCase].case_desc;
|
||||
thisDesc = ctxt->thisDesc.c_str();
|
||||
|
||||
if (!theseParms.isMember("dryrun")) { // TODO: Check bool type
|
||||
ctxt->thisDryRun = theseParms.get("dryrun",false).asBool();
|
||||
theseLogs->logN(0," ... this case disabled transactioning");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
void check() {
|
||||
|
||||
void check() { newCommandFrame();
|
||||
|
||||
if (checkNameOK()) {
|
||||
|
||||
DomainCheckCommand *c = new DomainCheckCommand(thisName);
|
||||
DomainCheckResponse *r = new DomainCheckResponse();
|
||||
TxQ <DomainCheckCommand , DomainCheckResponse, LPChkCmdExtension, LPChkRespExtension > *txq;
|
||||
txq = new TxQ<DomainCheckCommand , DomainCheckResponse, LPChkCmdExtension, LPChkRespExtension>
|
||||
(thisName,thisDesc);
|
||||
|
||||
theseLogs->logN(2,"(%d) Queue Unextended check of %s",cmd++,thisName);
|
||||
acq.push( new Transaction(c, r) );
|
||||
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||
theseLogs->logN(2,"%d .. Queue Unextended IETF Standard check of %s",thisCase+1,thisName);
|
||||
acq.push( txq );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void finishCase02() {
|
||||
|
||||
TxQ <DomainCheckCommand , DomainCheckResponse, LPChkCmdExtension, LPChkRespExtension > *txq;
|
||||
txq = (TxQ<DomainCheckCommand, DomainCheckResponse, LPChkCmdExtension, LPChkRespExtension>*) inProgress;
|
||||
|
||||
LPChkRespExtension *lpce = (LPChkRespExtension *)txq->ce;
|
||||
|
||||
theseLogs->logN(2," Claims %s exist for %s.",
|
||||
(lpce->doClaimsExist() ? "do" : " do not "), txq->ctx->shitName.c_str());
|
||||
if (lpce->doClaimsExist())
|
||||
theseLogs->logN(2," claim: %s .",lpce->getClaimsKey());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void checkClaims() {
|
||||
|
||||
void checkClaims() { newCommandFrame();
|
||||
|
||||
if (checkNameOK()) {
|
||||
|
||||
DomainCheckCommand *c = new DomainCheckCommand(thisName);
|
||||
LPChkCmdExtension chkE(&claims);
|
||||
c->appendExtension(chkE);
|
||||
DomainCheckResponse *r = new DomainCheckResponse();
|
||||
LPChkRespExtension chkRspE;
|
||||
r->registerExtension(&chkRspE);
|
||||
TxQ <DomainCheckCommand , DomainCheckResponse, LPChkCmdExtension, LPChkRespExtension > *txq;
|
||||
txq = new TxQ<DomainCheckCommand , DomainCheckResponse, LPChkCmdExtension, LPChkRespExtension >
|
||||
(&claims, thisName, thisDesc);
|
||||
txq->c->appendExtension(*txq->ce);
|
||||
txq->r->registerExtension(txq->re);
|
||||
|
||||
theseLogs->logN(2,"(%d) Queue Claims type Check of %s",cmd++,thisName);
|
||||
acq.push(new Transaction(c, r));
|
||||
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||
txq->finisher = finishCase02;
|
||||
theseLogs->logN(2,"%d .. Queue Claims type Check of %s",thisCase+1,thisName);
|
||||
acq.push(txq);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void create() {
|
||||
void create() { newCommandFrame();
|
||||
|
||||
if (checkNameOK() && checkContOK())
|
||||
{
|
||||
TxQ <DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension > *txq;
|
||||
txq = new TxQ<DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension >
|
||||
( ctxt->shitName, ctxt->pw, &ctxt->RID );
|
||||
|
||||
DomainCreateCommand *c = new DomainCreateCommand(shitName,pw,&RID, &tech, &ns, &admin, &billing);
|
||||
DomainCreateResponse *r = new DomainCreateResponse();
|
||||
|
||||
theseLogs->logN(3,"(%d) Queue normal create of %s ( %s ).",cmd++, thisName, thisAccount.c_str());
|
||||
acq.push(new Transaction(c, r));
|
||||
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||
theseLogs->logN(3,"%d .. Queue default create of %s ( %s ).",thisCase+1, thisName, thisAccount.c_str());
|
||||
acq.push(txq);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
string noticeID("d85159710000000000000008692"),
|
||||
notAfter("2015-01-01T12:00:00Z"), acceptedDate("2014-01-27T19:00:00Z");
|
||||
|
||||
void createClaimOverride() {
|
||||
void createClaimOverride() { newCommandFrame();
|
||||
|
||||
if (checkNameOK()) {
|
||||
if (checkNameOK() && checkPhaseOK()
|
||||
&& checkAndSetStr(ctxt->noticeID,"noticeID","d85159710000000000000008692",true)
|
||||
&& checkAndSetStr(ctxt->notAfter,"notAfter","2015-01-01T12:00:00Z",true)
|
||||
&& checkAndSetStr(ctxt->acceptedDate,"acceptedDate","2014-01-27T19:00:00Z",true) )
|
||||
{
|
||||
|
||||
DomainCreateCommand *c = new DomainCreateCommand(thisName,pw,&RID, &tech, &ns, &admin, &billing);
|
||||
crtE1.setNoticeID(noticeID, notAfter, acceptedDate);
|
||||
c->appendExtension(crtE1);
|
||||
DomainCreateResponse *r;
|
||||
TxQ <DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension > *txq;
|
||||
txq = new TxQ<DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension >
|
||||
(ctxt->shitName, ctxt->pw, &ctxt->RID, &ctxt->tech, &ctxt->ns, &ctxt->admin, &ctxt->billing, NULL, &ctxt->thisLaunchPhase);
|
||||
|
||||
theseLogs->logN(2,"(%d) Queue create %s w Notice ID test data (TCN).",++cmd,thisName);
|
||||
acq.push(new Transaction(c, r));
|
||||
txq->ce->setNoticeID(ctxt->noticeID, ctxt->notAfter, ctxt->acceptedDate);
|
||||
txq->c->appendExtension(*txq->ce);
|
||||
|
||||
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||
theseLogs->logN(2,"%d .. Queue create %s w Notice ID test data (TCN).",thisCase+1,thisName);
|
||||
acq.push(txq);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void createContact() {
|
||||
void createContact() { newCommandFrame();
|
||||
|
||||
ContactCreateCommand *c = new ContactCreateCommand(ctc,ctcPW,&ctcPO,ctcEmail);
|
||||
ContactCreateResponse *r = new ContactCreateResponse();
|
||||
if (checkContOK() ) {
|
||||
|
||||
theseLogs->logN(2,"(%d) Queue create contact %s.",++cmd,ctc.c_str());
|
||||
acq.push(new Transaction(c, r));
|
||||
TxQ <ContactCreateCommand , ContactCreateResponse, CommandExtension, ResponseExtension > *txq;
|
||||
txq = new TxQ<ContactCreateCommand , ContactCreateResponse, CommandExtension, ResponseExtension >
|
||||
(ctxt->ctc,ctxt->ctcPW,&ctxt->ctcPO,ctxt->ctcEmail);
|
||||
|
||||
}
|
||||
|
||||
void dpmlCreate() {
|
||||
|
||||
|
||||
if (checkNameOK()) {
|
||||
|
||||
DomainCreateCommand *c = new DomainCreateCommand(thisName,pw,&RID, &tech, &ns, &admin, &billing);
|
||||
crtE2.setSMD();
|
||||
c->appendExtension(crtE2);
|
||||
DomainCreateResponse *r = new DomainCreateResponse();
|
||||
|
||||
theseLogs->logN(2,"(%d) Queue DPML block create %s w boitedetest.smd data.",++cmd,thisName);
|
||||
acq.push(new Transaction(c, r));
|
||||
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||
theseLogs->logN(2,"%d .. Queue create contact %s.",thisCase+1, ctxt->ctc.c_str());
|
||||
acq.push(txq);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void sunriseCreate() {
|
||||
void dpmlCreate() { newCommandFrame();
|
||||
|
||||
if (checkNameOK()) {
|
||||
if (checkNameOK() && checkPhaseOK() && checkSMD()) {
|
||||
|
||||
DomainCreateCommand *c = new DomainCreateCommand(thisName,pw,&RID, &tech, &ns, &admin, &billing);
|
||||
c->appendExtension(crtE1);
|
||||
DomainCreateResponse *r = new DomainCreateResponse();
|
||||
TxQ <DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension > *txq;
|
||||
txq = new TxQ<DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension >
|
||||
(ctxt->shitName, ctxt->pw, ctxt->RID, ctxt->tech, ctxt->ns, ctxt->admin, ctxt->billing);
|
||||
|
||||
theseLogs->logN(2,"(%d) Queue Sunrise create %s with ICANN SMD test data.",++cmd,thisName);
|
||||
acq.push(new Transaction(c, r));
|
||||
txq->ce->setSMD(ctxt->smdData);
|
||||
txq->c->appendExtension(*txq->ce);
|
||||
|
||||
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||
theseLogs->logN(2,"(%d) Queue DPML block create %s w boitedetest.smd data.",thisCase+1,thisName);
|
||||
acq.push(txq);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void transfer() {
|
||||
void sunriseCreate() { newCommandFrame();
|
||||
|
||||
if (checkNameOK()) {
|
||||
if (checkNameOK() && checkPhaseOK() && checkSMD()) {
|
||||
|
||||
Transaction *thisTest;
|
||||
TxQ <DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension > *txq;
|
||||
txq = new TxQ<DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension >
|
||||
(ctxt->shitName, ctxt->pw, &ctxt->RID, &ctxt->tech, &ctxt->ns, &ctxt->admin, &ctxt->billing, NULL, &ctxt->thisLaunchPhase);
|
||||
|
||||
DomainTransferRequestCommand *c0 = new DomainTransferRequestCommand(thisName,ctcPW);
|
||||
DomainTransferApproveCommand *c1 = new DomainTransferApproveCommand(thisName,ctcPW);
|
||||
DomainTransferResponse *r = new DomainTransferResponse();
|
||||
txq->ce->setSMD(ctxt->smdData);
|
||||
txq->c->appendExtension(*txq->ce);
|
||||
|
||||
thisTest = transferGainer ? new Transaction(c0, r) : new Transaction(c1, r) ;
|
||||
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||
theseLogs->logN(2,"%d .. Queue Sunrise create %s with ICANN SMD test data.",thisCase+1,thisName);
|
||||
acq.push(txq);
|
||||
|
||||
theseLogs->logN(4,"(%d) Queue %s %s -> %s.", (transferGainer ? "Request" : "Approve") ,cmd++,
|
||||
thisName,thatAccount.c_str());
|
||||
}
|
||||
|
||||
acq.push(thisTest);
|
||||
}
|
||||
|
||||
void transfer() { newCommandFrame();
|
||||
|
||||
if (checkNameOK() && checkAndSetBool(transferGainer,"isGainer",true,true)) {
|
||||
|
||||
if (transferGainer) {
|
||||
|
||||
TxQ <DomainTransferRequestCommand , DomainTransferResponse, CommandExtension, ResponseExtension > *txq;
|
||||
txq = new TxQ<DomainTransferRequestCommand , DomainTransferResponse, CommandExtension, ResponseExtension>
|
||||
(ctxt->shitName,ctxt->pw,thisDesc);
|
||||
|
||||
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||
theseLogs->logN(4,"%d .. Queue %s %s -> %s.", (transferGainer ? "Request" : "Approve") ,thisCase+1,
|
||||
ctxt->shitName.c_str(),thatAccount.c_str(),thisAccount.c_str());
|
||||
acq.push(txq);
|
||||
|
||||
} else {
|
||||
|
||||
TxQ < DomainTransferApproveCommand , DomainTransferResponse, CommandExtension, ResponseExtension > *txq;
|
||||
txq = new TxQ< DomainTransferApproveCommand , DomainTransferResponse, CommandExtension, ResponseExtension >
|
||||
(ctxt->shitName,ctxt->pw,thisDesc);
|
||||
|
||||
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||
theseLogs->logN(4,"%d .. Queue %s %s -> %s.", thisCase+1, (transferGainer ? "Request" : "Approve") ,
|
||||
ctxt->shitName.c_str(),thisAccount.c_str() ,thatAccount.c_str());
|
||||
acq.push(txq);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -237,8 +351,7 @@ typedef auto_ptr<Session> AC_SESSION;
|
|||
theseFuncs["case05"] = createClaimOverride;
|
||||
theseFuncs["case06"] = transfer;
|
||||
|
||||
theseLogs->logN(0,"7 test case backends available for scripting");
|
||||
|
||||
theseLogs->logN(1,"%d test case backends available for scripting",theseFuncs.size());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -8,6 +8,87 @@
|
|||
#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,
|
||||
|
@ -275,7 +356,7 @@ void ausRegEPPTK::doOTEB()
|
|||
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();
|
||||
crtE2.setSMD(smdData);
|
||||
oteCommand_7.appendExtension(crtE2);
|
||||
DomainCreateResponse oteResponse_7;
|
||||
|
||||
|
|
|
@ -11,14 +11,20 @@
|
|||
typedef void (*caseBody)(void);
|
||||
|
||||
typedef struct {
|
||||
string desc;
|
||||
string *desc;
|
||||
const char *caseName;
|
||||
caseBody fBody;
|
||||
int parms; // Index of JSON Value in testSuite00
|
||||
int parms; // Index of JSON Value in testSuiteAC
|
||||
} testCase;
|
||||
|
||||
typedef struct {
|
||||
string case_name;
|
||||
string case_desc;
|
||||
} testDesc;
|
||||
|
||||
namespace ACPRODINOTE {
|
||||
|
||||
typedef std::map<int,testDesc> testDescs;
|
||||
typedef std::map<int,testCase> testCases;
|
||||
typedef std::map<string,caseBody> testFuncs;
|
||||
|
||||
|
|
|
@ -52,6 +52,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef AC_ASSERTION
|
||||
#define AC_ASSERTION
|
||||
#define AC_ASSERTIONS(P) {if (!P) { theseLogs.logN(2,"AC ASSERT: %s %d",__FILE__,__LINE__); raise(SIGINT);}}
|
||||
#define AC_ASSERTIONP(P) {if (!P) {theseLogs->logN(2,"AC ASSERT: %s %d",__FILE__,__LINE__); raise(SIGINT);}}
|
||||
#endif
|
||||
|
||||
#ifndef MD_COMMON
|
||||
#define MD_COMMON
|
||||
#define ACTK_CFG_PATH "./etc/toolkit2.conf"
|
||||
|
|
|
@ -169,6 +169,9 @@ void setSignals() {
|
|||
signal(SIGTSTP,SIG_IGN); /* ignore tty signals */
|
||||
signal(SIGTTOU,SIG_IGN); // both input
|
||||
signal(SIGTTIN,SIG_IGN); // and output
|
||||
#ifdef AC_ASSERTIONS
|
||||
signal(SIGINT, signal_handler); // debug
|
||||
#endif
|
||||
signal(SIGSEGV,signal_handler);
|
||||
signal(SIGUSR1,signal_handler); // commander log messages
|
||||
signal(SIGUSR2,signal_handler); // reserved
|
||||
|
@ -182,6 +185,7 @@ void signal_handler(int sig)
|
|||
switch(sig) {
|
||||
case SIGSEGV:
|
||||
theseLogs->logN(0,"SEGV ABEND.");
|
||||
case SIGINT:
|
||||
if (waitForGDB) {
|
||||
for (i = 0;
|
||||
i < iSaidWaitBiatch;
|
||||
|
|
|
@ -24,15 +24,212 @@
|
|||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/inotify.h>
|
||||
#include <sys/stat.h>
|
||||
#include <json/json.h>
|
||||
#include <type_traits>
|
||||
#include <boost/static_assert.hpp>
|
||||
#include <boost/type_traits.hpp>
|
||||
#include "mdJSON.hpp"
|
||||
|
||||
Json::Value parms[MAX_OTE_CASE];
|
||||
bool JSONBatchInProgress = false;
|
||||
typedef struct CMDFRAME { bool thisDryRun;
|
||||
|
||||
std::string ctc;
|
||||
std::string ctcPW;
|
||||
std::string ctcEmail;
|
||||
std::string ctcName;
|
||||
std::string ctcCity;
|
||||
std::vector<std::string>
|
||||
ctcCrib;
|
||||
std::string ctcProv;
|
||||
std::string ctcPC;
|
||||
std::string ctcGuo;
|
||||
std::string ctcOrg;
|
||||
|
||||
std::string pw;
|
||||
std::string RID;
|
||||
|
||||
std::vector<std::string> admin;
|
||||
std::vector<std::string> billing;
|
||||
std::vector<std::string> ns;
|
||||
std::vector<std::string> tech;
|
||||
|
||||
const IntPostalInfo ctcPO;
|
||||
|
||||
string noticeID, notAfter, acceptedDate , thisLaunchPhase, thisDesc, shitName ; // i mean string name
|
||||
string smdFileName, smdPath, smdData;
|
||||
|
||||
CMDFRAME() : ctcPO(IntPostalInfo(std::string("Ren Ren-Juan"),std::string("Niagara Falls"),std::string("US"))) {
|
||||
thisDryRun=false; smdPath = "./smd/";}
|
||||
}
|
||||
commandFrame;
|
||||
|
||||
|
||||
const char *parms[MAX_OTE_CASE];
|
||||
|
||||
bool bindDone,JSONBatchInProgress = false;
|
||||
|
||||
static TestEnvironment props;
|
||||
|
||||
static std::string TEST_SE =
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd\"><hello/></epp>";
|
||||
|
||||
static std::string nil("nil");
|
||||
|
||||
namespace ACPRODINOTE {
|
||||
|
||||
typedef boost::heap::priority_queue<Transaction *> ACWQ;
|
||||
bool dryRun;
|
||||
typedef auto_ptr<SessionManager> AC_SESSMGR;
|
||||
typedef auto_ptr<Session> AC_SESSION;
|
||||
|
||||
static AC_SESSION ac_sess;
|
||||
|
||||
class ACTx
|
||||
{
|
||||
const char *m;
|
||||
AC_SESSMGR ac_mgr;
|
||||
|
||||
public:
|
||||
commandFrame *ctx;
|
||||
void (*finisher)(void);
|
||||
Transaction *tx;
|
||||
// void setSess(std::auto_ptr<SessionManager>& sp) {mgr = sp;}
|
||||
ACTx(const char *msg)
|
||||
{m=msg;
|
||||
finisher = NULL;
|
||||
}
|
||||
void setSession(AC_SESSMGR p) { ac_mgr = p; }
|
||||
void setm(const char *toWhat) { m = toWhat; }
|
||||
ACTx(){tx = NULL;finisher =NULL;m=NULL;ctx=NULL;}
|
||||
virtual void doIt() {
|
||||
AC_ASSERTIONP((tx && ctx))
|
||||
theseLogs->logN(1,"{ %s",m ? m : "");
|
||||
theseLogs->logN(1," '%s'",ctx->thisDesc.c_str());
|
||||
if (!dryRun && !ctx->thisDryRun)
|
||||
ac_mgr->execute(*tx);
|
||||
if (finisher)
|
||||
finisher();
|
||||
delete tx;
|
||||
delete ctx;
|
||||
theseLogs->logN(0,"}");
|
||||
}
|
||||
};
|
||||
|
||||
template <class CT,class RT,class CET,class RET>
|
||||
class TxQ : public ACTx {
|
||||
private:
|
||||
std::string name;
|
||||
public:
|
||||
CT *c; RT *r; CET *ce; RET *re;
|
||||
TxQ(const char *msg) : ACTx(msg) {
|
||||
c = new CT();
|
||||
r = new RT();
|
||||
ce = new CET();
|
||||
re = new RET();
|
||||
finisher = NULL;
|
||||
}
|
||||
TxQ(std::string ctc,std::string ctcpw, const PostalInfo *poi,
|
||||
std::string cemail) : ACTx("<nameless>") {
|
||||
c = new CT(ctc, ctcpw, poi, cemail );
|
||||
r = new RT();
|
||||
ce = NULL;
|
||||
re = NULL;
|
||||
finisher = NULL;
|
||||
}
|
||||
TxQ(const std::string& nom,
|
||||
const std::string& pw,
|
||||
const std::string* registrantID,
|
||||
const std::vector<std::string>* techContacts = NULL,
|
||||
const std::vector<std::string>* nameservers = NULL,
|
||||
const std::vector<std::string>* adminContacts = NULL,
|
||||
const std::vector<std::string>* billingContacts = NULL,
|
||||
const Period* period = NULL) : ACTx("default create") {
|
||||
name = string(nom);
|
||||
c = new CT(nom,pw,registrantID);
|
||||
r = new RT();
|
||||
ce = NULL;
|
||||
re = NULL;
|
||||
finisher = NULL;
|
||||
}
|
||||
TxQ(const char *nom,const char *msg) : ACTx(msg) {
|
||||
name = string(nom);
|
||||
c = new CT(name);
|
||||
r = new RT();
|
||||
ce = NULL;
|
||||
re = NULL;
|
||||
setm(msg);
|
||||
finisher = NULL;
|
||||
}
|
||||
TxQ(const std::string nom,const std::string pw,const char *msg) : ACTx(msg) {
|
||||
name = nom;
|
||||
c = new CT(name,pw);
|
||||
r = new RT();
|
||||
ce = NULL;
|
||||
re = NULL;
|
||||
finisher = NULL;
|
||||
}
|
||||
TxQ(const std::string nom,const char *msg) : ACTx(msg) {
|
||||
name = nom;
|
||||
c = new CT(name);
|
||||
r = new RT();
|
||||
ce = NULL;
|
||||
re = NULL;
|
||||
finisher = NULL;
|
||||
}
|
||||
TxQ(const std::string *lpe,const char *nom,const char *msg) : ACTx(msg) {
|
||||
name = string(nom);
|
||||
c = new CT(name);
|
||||
r = new RT();
|
||||
ce = new CET(lpe);
|
||||
re = NULL;
|
||||
finisher = NULL;
|
||||
}
|
||||
TxQ (const std::string& nom,
|
||||
const std::string& pw,
|
||||
const std::string* registrantID,
|
||||
const std::vector<std::string>* techContacts,
|
||||
const std::vector<std::string>* nameservers,
|
||||
const std::vector<std::string>* adminContacts,
|
||||
const std::vector<std::string>* billingContacts,
|
||||
const Period*,
|
||||
const std::string* lpe) : ACTx("create ") {
|
||||
name = nom;
|
||||
c = new CT(nom,pw,registrantID,techContacts,nameservers,adminContacts,billingContacts);
|
||||
r = new RT();
|
||||
ce = new CET(lpe);
|
||||
re = NULL;
|
||||
finisher = NULL;
|
||||
}
|
||||
TxQ(const std::string &name,const std::string pw, const std::string &RID,
|
||||
std::vector<std::string>&tech, std::vector<std::string>&ns, std::vector<std::string>&admin, std::vector<std::string>&billing) {}
|
||||
TxQ(CT *c1, RT *r1, CET *ce1, RET *re1, const char *msg)
|
||||
: c(c1), r(r1), ce(ce1), re(re1), ACTx(msg) {}
|
||||
void operator=(TxQ *t2) {c = t2->c; r = t2->r; ce = t2->ce; re = t2->re; }
|
||||
~TxQ() {delete c; delete r; if (ce) delete ce; if (re) delete re;}
|
||||
Transaction operator=(Transaction &t) {t = Transaction(c,r);}
|
||||
void set(commandFrame *cmdF,const char *casebe="unknown backend") {
|
||||
// Guard the transaction. The Boost stuff is compile-time/static, the AC fail-safe.
|
||||
finisher = NULL;
|
||||
ctx = cmdF;
|
||||
setm(casebe);
|
||||
BOOST_STATIC_ASSERT( (boost::is_base_of<Command,CT>::value) );
|
||||
BOOST_STATIC_ASSERT( (boost::is_base_of<Response,RT>::value) );
|
||||
BOOST_STATIC_ASSERT( (boost::is_base_of<CommandExtension,CET>::value) );
|
||||
BOOST_STATIC_ASSERT( (boost::is_base_of<ResponseExtension,RET>::value) );
|
||||
bool p1 = std::is_base_of<Command,CT>::value;
|
||||
bool p2 = std::is_base_of<Response,RT>::value;
|
||||
bool p3 = ce == NULL ? false : std::is_base_of<CommandExtension,CET>::value;
|
||||
bool p4 = re == NULL ? false : std::is_base_of<ResponseExtension,RET>::value;
|
||||
AC_ASSERTIONP(p1)
|
||||
AC_ASSERTIONP(p2)
|
||||
if (ce)
|
||||
AC_ASSERTIONP(p3)
|
||||
if (re)
|
||||
AC_ASSERTIONP(p4)
|
||||
ACTx::tx = new Transaction(c,r);}
|
||||
};
|
||||
|
||||
|
||||
typedef boost::heap::priority_queue<ACTx *> ACWQ;
|
||||
|
||||
ACWQ acq;
|
||||
|
||||
|
@ -43,23 +240,6 @@ using namespace std;
|
|||
|
||||
#define EVENT_SIZE ( sizeof (struct inotify_event) )
|
||||
#define BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) )
|
||||
//char *name1 = "bestever.camera"; //
|
||||
//char *name3 = "pricey.holdings"; //
|
||||
//char *name5 = "greedy.ventures"; //
|
||||
//char *name6 = "shady.ventures"; //
|
||||
//char *name7 = "hemmarhoid.camera"; //
|
||||
//char *name3 = "pricey.holdings"; //
|
||||
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 TestEnvironment props;
|
||||
|
||||
static std::string TEST_SE =
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd\"><hello/></epp>";
|
||||
|
||||
#include "AC_OTE.h"
|
||||
|
||||
|
@ -121,6 +301,7 @@ void ausRegEPPTK::doOTEA()
|
|||
{
|
||||
theseLogs->logN(2,"General Exception during OTE A (%s).",op.c_str());
|
||||
}
|
||||
|
||||
}
|
||||
#include "donutsOTEB.h"
|
||||
void ausRegEPPTK::registryXOTE() { // PROD in OTE
|
||||
|
@ -233,7 +414,7 @@ void ausRegEPPTK::registryXOTE() { // PROD in OTE
|
|||
theseLogs->logN(0,"End RegistryXOTE Session.");
|
||||
}
|
||||
void ausRegEPPTK::doPROD()
|
||||
{
|
||||
{ char *endTransMsg;
|
||||
int debug=1000000,hours=0,hoops,minutes=0,seconds=0,idleSeconds=0,lastPolicyHandshake=0,
|
||||
lastSeconds=0,lastMinutes,iqSize=acq.max_size();
|
||||
string op("newInstance");
|
||||
|
@ -255,34 +436,41 @@ void ausRegEPPTK::doPROD()
|
|||
op = "run (keep-alive)";
|
||||
manager->run();
|
||||
sess->open();
|
||||
// ac_mgr = manager;
|
||||
// ac_sess = sess;
|
||||
|
||||
while ((1440 - minutes) > EODMARGIN) {
|
||||
|
||||
if (!acq.empty()) {
|
||||
Transaction *tx = acq.top();
|
||||
if (!acq.empty() && bindDone ) {
|
||||
|
||||
if (bindError) {
|
||||
theseLogs->logN(3,"Flushing %d transactions",acq.size()-1);
|
||||
acq.clear();
|
||||
goto postTrans;
|
||||
}
|
||||
|
||||
if (debug > 999)
|
||||
theseLogs->logN(3,"Tx dequeued @ minute %d second %d (%d waiting).",minutes,seconds,acq.size()-1);
|
||||
theseLogs->logN(3,"Tx dequeued @ minute %d second %d (%d waiting).",(minutes % 60),(seconds % 60),acq.size()-1);
|
||||
|
||||
//manager->execute(*tx);
|
||||
inProgress = acq.top();
|
||||
inProgress->setSession(manager);
|
||||
inProgress->doIt();
|
||||
|
||||
postTrans:
|
||||
if (debug > 999)
|
||||
theseLogs->logN(2,"Tx completed @ minute %d second %d.",minutes,seconds);
|
||||
theseLogs->logN(2,"Tx completed @ minute %d second %d.",(minutes % 60),(seconds % 60));
|
||||
|
||||
idleSeconds = 0;
|
||||
if (!bindError)
|
||||
acq.pop();
|
||||
if (!acq.size())
|
||||
JSONBatchInProgress = false;
|
||||
acq.pop();
|
||||
delete tx;
|
||||
|
||||
}
|
||||
|
||||
if (!lastPolicyHandshake || (seconds - lastPolicyHandshake >= (REGISTRY_HANDSHAKE - 5)))
|
||||
{lastPolicyHandshake = 1; goto skipHandshake;
|
||||
{if (!lastPolicyHandshake) lastPolicyHandshake = 1; goto skipHandshake;
|
||||
idleSeconds = 0;
|
||||
if (debug > 99)
|
||||
theseLogs->logN(3,"AC-Registry Policy Handshake %d:%d:%d.",hours-1,minutes,seconds);
|
||||
theseLogs->logN(3,"AC-Registry Policy Handshake %d:%d:%d.",hours-1,(minutes % 60),(seconds % 60));
|
||||
lastPolicyHandshake = seconds;
|
||||
sess->writeXML(TEST_SE);
|
||||
sess->read();
|
||||
|
@ -302,7 +490,7 @@ void ausRegEPPTK::doPROD()
|
|||
}
|
||||
|
||||
if (debug > 9999 && !(seconds % 120))
|
||||
theseLogs->logN(3,"AC Production %d:%d:%d.",hours-1,minutes,seconds);
|
||||
theseLogs->logN(3,"AC Production %d:%d:%d.",hours-1,(minutes % 60),(seconds %60));
|
||||
}
|
||||
|
||||
sess->close();
|
||||
|
|
|
@ -9,19 +9,21 @@
|
|||
#include <algorithm> // sort
|
||||
#include <json/json.h>
|
||||
#include <stdio.h>
|
||||
#include <execinfo.h>
|
||||
#include "mdJSON.hpp"
|
||||
|
||||
extern bool JSONBatchInProgresse;
|
||||
|
||||
extern Json::Value parms[MAX_OTE_CASE];
|
||||
extern bool JSONBatchInProgress,bindDone;
|
||||
extern const char *parms[MAX_OTE_CASE];
|
||||
|
||||
namespace ACPRODINOTE {
|
||||
|
||||
extern string thisRegistry, thisAccount, thatAccount;
|
||||
extern string thisDesc, thisRegistry, thisAccount, thatAccount;
|
||||
extern testDescs theseSpecs;
|
||||
extern testCases theseCases;
|
||||
extern testFuncs theseFuncs;
|
||||
extern int cmd,thisCase;
|
||||
extern bool bindError;
|
||||
extern bool bindError,dryRun;
|
||||
extern Json::Value theseParms;
|
||||
|
||||
}
|
||||
using namespace std;
|
||||
|
@ -47,8 +49,8 @@ readInputTestFile( const char *path )
|
|||
|
||||
bool mdJSON::run()
|
||||
{
|
||||
bool lastMemberWasString=false,parseError=false,done=false;
|
||||
int i=0, nCases =0, nThings = 0, debug=1000;
|
||||
bool lastMemberWasString=false,parseError=false,done=false,parseOnly=false;;
|
||||
int i=0, mCases=0, nCases =0, debug=100;
|
||||
|
||||
const Json::Value suite = root["testSuiteAC"];
|
||||
|
||||
|
@ -67,13 +69,14 @@ bool mdJSON::run()
|
|||
return true;
|
||||
}
|
||||
|
||||
theseLogs->logN(1,"'testSuiteAC' - binding %d fields and case objects.",suite.size());
|
||||
theseLogs->logN(1,"'testSuiteAC' - parse and bind %d fields and case objects.",suite.size());
|
||||
Json::Value::Members itemNames = suite.getMemberNames();
|
||||
string thisTestCase(""), thisTestCaseDesc("");
|
||||
|
||||
ACPRODINOTE::thisRegistry = string("");
|
||||
ACPRODINOTE::thisAccount = string("");
|
||||
ACPRODINOTE::thatAccount = string("");
|
||||
ACPRODINOTE::dryRun = false;
|
||||
|
||||
for ( i = 0; i < itemNames.size(); ++i ) { const char *thisItem;
|
||||
try {
|
||||
|
@ -81,54 +84,85 @@ bool mdJSON::run()
|
|||
Json::Value thisMember = suite.get(thisItem,root);
|
||||
if (debug > 100000)
|
||||
theseLogs->logN(1,"item %s.",thisItem);
|
||||
if (!stricmp(thisItem,"registry") && thisMember.isString()) {
|
||||
if (thisMember.isBool()) {
|
||||
if (!stricmp(thisItem,"dryrun")) {
|
||||
theseLogs->logN(0,"The script has toggled transactioning.");
|
||||
ACPRODINOTE::dryRun = thisMember.asBool();
|
||||
continue;
|
||||
}
|
||||
if (!stricmp(thisItem,"parseonly")) {
|
||||
theseLogs->logN(0,"The script has toggled execution.");
|
||||
parseOnly = thisMember.asBool();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (thisMember.isString()) {
|
||||
if (!stricmp(thisItem,"registry")) {
|
||||
theseLogs->logN(1,"The primary name provider is '%s'",thisMember.asString().c_str());
|
||||
ACPRODINOTE::thisRegistry = thisMember.asString();
|
||||
continue;
|
||||
}
|
||||
if (!stricmp(thisItem,"accounta") && thisMember.isString()) {
|
||||
if (!stricmp(thisItem,"accounta")) {
|
||||
theseLogs->logN(1,"The first OTE account is '%s'",thisMember.asString().c_str());
|
||||
ACPRODINOTE::thisAccount = thisMember.asString();
|
||||
continue;
|
||||
}
|
||||
if (!stricmp(thisItem,"accountb") && thisMember.isString()) {
|
||||
if (!stricmp(thisItem,"accountb")) {
|
||||
theseLogs->logN(1,"The second OTE account is '%s'",thisMember.asString().c_str());
|
||||
ACPRODINOTE::thatAccount = thisMember.asString();
|
||||
continue;
|
||||
}
|
||||
if (strncmp(thisItem,"case",4)) continue;
|
||||
if (strlen(thisItem) != 6) continue;
|
||||
if (debug > 100000)
|
||||
theseLogs->logN(1,"case %s.",thisItem);
|
||||
if (!ACPRODINOTE::theseFuncs[thisItem]) {
|
||||
theseLogs->logN(1,"No logic to bind to '%s', need it.",thisItem);
|
||||
return false;
|
||||
}
|
||||
if (thisMember != root && thisMember.isString()) {
|
||||
thisTestCase = string(thisItem);
|
||||
if (!lastMemberWasString)
|
||||
{thisTestCaseDesc = thisMember.asString(); lastMemberWasString = true;}
|
||||
else {
|
||||
if (strncmp(thisItem,"Case",4)) continue;
|
||||
if (strlen(thisItem) < 6) continue;
|
||||
if (mCases >= 1) { int k;
|
||||
for (k=0;k < mCases;k++)
|
||||
if (!strnicmp(ACPRODINOTE::theseSpecs[k].case_name.c_str(),thisItem,6)) {
|
||||
parseError = true;
|
||||
theseLogs->logN(0,"Invalid consecutive strings in outer test suite.");
|
||||
theseLogs->logN(0,"Must be descriptive comment then test object it describes.");
|
||||
theseLogs->logN(1,"multiple '%s', not supported, use multiple files.",thisItem);
|
||||
}
|
||||
lastMemberWasString = true;
|
||||
continue;
|
||||
}
|
||||
if (thisMember != root && thisMember.isObject()) {
|
||||
parms[nCases] = suite.get(thisItem,root);
|
||||
ACPRODINOTE::theseCases[nCases].fBody = ACPRODINOTE::theseFuncs[thisItem];
|
||||
if (debug > 10000)
|
||||
theseLogs->logN(1,"case desc: %s.",thisMember.asString().c_str());
|
||||
ACPRODINOTE::theseSpecs[mCases].case_name = string(thisItem);
|
||||
ACPRODINOTE::theseSpecs[mCases++].case_desc = thisMember.asString();
|
||||
}
|
||||
else { char w0[16];
|
||||
if (strncmp(thisItem,"case",4)) continue;
|
||||
if (strlen(thisItem) < 6) continue;
|
||||
memcpy(w0,thisItem,6); w0[6] =0;
|
||||
if (thisMember != root && thisMember.isObject() && !parseError) {
|
||||
if (!ACPRODINOTE::theseFuncs[w0]) {
|
||||
theseLogs->logN(1,"No logic to bind to '%s', need it.",thisItem);
|
||||
return true;
|
||||
}
|
||||
parms[nCases] = itemNames[i].c_str();
|
||||
ACPRODINOTE::theseCases[nCases].fBody = ACPRODINOTE::theseFuncs[w0];
|
||||
ACPRODINOTE::theseCases[nCases++].caseName = thisItem;
|
||||
lastMemberWasString = false;
|
||||
ACPRODINOTE::theseCases[nCases++].desc = thisTestCaseDesc;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (exception e)
|
||||
{
|
||||
//void *array[20];
|
||||
//size_t size;
|
||||
|
||||
// get void*'s for all entries on the stack
|
||||
//size = backtrace(array, 20);
|
||||
|
||||
theseLogs->logN(2,"Item %s fault: %s ",thisItem, e.what());
|
||||
//backtrace_symbols_fd(array, size, thisConfig->);
|
||||
|
||||
AC_ASSERTIONP(false)
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
theseLogs->logN(1,"Test case parse exception: %s ",thisItem );
|
||||
AC_ASSERTIONP(false)
|
||||
}
|
||||
}
|
||||
}// for
|
||||
|
||||
if (mCases != nCases ) {
|
||||
theseLogs->logN(2,"spec - case body mismatch (%d:%d).", mCases, nCases); parseError = true; }
|
||||
|
||||
if (ACPRODINOTE::thisRegistry.empty()) {
|
||||
theseLogs->logN(0,"No primary name provider."); parseError = true; }
|
||||
|
@ -141,16 +175,21 @@ bool mdJSON::run()
|
|||
return true;
|
||||
}
|
||||
|
||||
bindDone = false;
|
||||
ACPRODINOTE::bindError = false;
|
||||
theseLogs->logN(1,"%d cases parsed, bind and queueing begins.",nCases);
|
||||
if (parseOnly) {
|
||||
theseLogs->logN(0,"If you see no errors above, script is valid syntactically.");
|
||||
JSONBatchInProgress = false;
|
||||
goto endBind;
|
||||
}
|
||||
theseLogs->logN(1,"%d case(s) parsed, bind and queueing begins.",nCases);
|
||||
|
||||
for (i=0;i<ACPRODINOTE::theseCases.size();i++) { ACPRODINOTE::thisCase = i;
|
||||
ACPRODINOTE::cmd = 0;
|
||||
ACPRODINOTE::theseParms = suite.get(parms[i],root);
|
||||
try{
|
||||
theseLogs->logN(2,"%d Setup %s ...",i+1,ACPRODINOTE::theseCases[i].caseName );
|
||||
ACPRODINOTE::thisCase = ACPRODINOTE::theseCases[i].parms;
|
||||
ACPRODINOTE::theseCases[i].fBody();
|
||||
theseLogs->logN(3,"%d ... %s %d parameter(s) ",i+1,ACPRODINOTE::theseCases[i].caseName,parms[i].size() );
|
||||
theseLogs->logN(3,"%d ... %s %d parameter(s) ",i+1,ACPRODINOTE::theseCases[i].caseName,ACPRODINOTE::theseParms.size() );
|
||||
}
|
||||
catch (exception e)
|
||||
{
|
||||
|
@ -163,11 +202,13 @@ bool mdJSON::run()
|
|||
}
|
||||
if (ACPRODINOTE::bindError) {
|
||||
theseLogs->logN(0,"binding errors, script cannot be run");
|
||||
return true;
|
||||
done = true;
|
||||
goto endBind;
|
||||
}
|
||||
else
|
||||
theseLogs->logN(0,"Suite 'testSuiteAC' end bind and queue for execution.");
|
||||
|
||||
theseLogs->logN(0,"Suite 'testSuiteAC' bound and and queued for execution.");
|
||||
endBind:
|
||||
bindDone = true;
|
||||
return done; // Should be false if no error.
|
||||
|
||||
}
|
||||
|
|
117
json/OTEC.json
117
json/OTEC.json
|
@ -1,95 +1,106 @@
|
|||
|
||||
{
|
||||
|
||||
"_comment" : "mdJSON.cpp will try to bind data and run if it recognizes the leading field name.",
|
||||
"_comment" : "I'm using convention of inserting a hyphen to disable a test case.",
|
||||
"_comment" : "This script demonstrates the PRODinOTE JSON EPP scripting mechanism",
|
||||
|
||||
"testSuites": "Outer block of a set of inputs to mdJSON.cpp to be run by ausRegTK::registryXOTE()",
|
||||
"testSuites": "Repeat case name casexx as needed, to run needs logic bound in RegistryXOTE.h",
|
||||
"testSuites": "First 6 chars of 'casexx' name backend logic bound in AC_OTE.h",
|
||||
|
||||
"name" : "bestever.camera",
|
||||
"name" : "yoda.guru",
|
||||
"name" : "unicycles.bike",
|
||||
"name" : "test-validate.claimsgasix",
|
||||
"parseonly" : "Set this in outer suite object for JSON parse only.",
|
||||
"dryrun" : "If set in a test case disables transactions, use to test in production.",
|
||||
|
||||
"testSuiteAC" : {
|
||||
|
||||
"Registry" : "Donuts",
|
||||
"AccountA" : "secura1-ote",
|
||||
"AccountB" : "secura2-ote2",
|
||||
"Registry" : "mod_epp",
|
||||
"AccountA" : "greg1-ote",
|
||||
"AccountB" : "greg2-ote",
|
||||
|
||||
"case00" : "Create a contact",
|
||||
"Case00" : "Create a contact",
|
||||
"case00" : {
|
||||
|
||||
"cont_id": "renjuan2",
|
||||
"dryrun" : true,
|
||||
"cont_id": "renjuan3",
|
||||
"cont_pw": "Ab9dW@rd",
|
||||
"cont_email": "juan@acm.org",
|
||||
"cont-name": "Ren Ren-Juan",
|
||||
"cont-city": "Niagara Falls",
|
||||
"cont_name": "Ren Ren-Juan",
|
||||
"cont_city": "Niagara Falls",
|
||||
"cont_street1": "2926 2nd Street",
|
||||
"cont-province": "NY",
|
||||
"cont-postal-code": "14305",
|
||||
"cont-guo": "US",
|
||||
"cont-org": "American Kybernetik"
|
||||
"cont_province": "NY",
|
||||
"cont_postal_code": "14305",
|
||||
"cont_guo": "US",
|
||||
"cont_org": "American Kybernetik"
|
||||
|
||||
},
|
||||
|
||||
"case01" : "Conventional / Standard/ Unextended Check",
|
||||
"Case01" : "Conventional / Standard/ Unextended Check",
|
||||
"case01" : {
|
||||
|
||||
"cont_id" : "renjuan",
|
||||
"name" : "bestever.camera"
|
||||
|
||||
},
|
||||
|
||||
"case02" : "Check with Claims Extension",
|
||||
|
||||
"Case02" : "Check with Claims Extension",
|
||||
"case02" : {
|
||||
|
||||
"dryrun" : true,
|
||||
"cont_id" : "renjuan",
|
||||
"name" : "unicycles.bike"
|
||||
|
||||
},
|
||||
|
||||
"case03" : "Conventional / Standard / Unextended Create",
|
||||
"Case03" : "Conventional Standard Unextended Create",
|
||||
"case03" : {
|
||||
|
||||
"name" : "greedy.ventures"
|
||||
"cont_id" : "renjuan",
|
||||
"name" : "mushroomtheory.management"
|
||||
|
||||
},
|
||||
|
||||
"case04" : "DPML Create",
|
||||
"Case04" : "DPML Create",
|
||||
"case04" : {
|
||||
|
||||
"dryrun" : true,
|
||||
"cont_id" : "renjuan",
|
||||
"launch_phase" : "custom",
|
||||
"name" : "face.dpml.zone",
|
||||
"smd-data" : "./smd/face-test.smd"
|
||||
"smd_data" : "boitedetest.smd"
|
||||
|
||||
},
|
||||
|
||||
"case00" : "Create another contact",
|
||||
"case00" : {
|
||||
|
||||
"cont_id": "renjuan3",
|
||||
"cont_pw": "Ab9dW@rd",
|
||||
"cont_email": "juan@acm.org",
|
||||
"cont-name": "Ren Ren-Juan",
|
||||
"cont-city": "Niagara Falls",
|
||||
"cont_street1": "2926 2nd Street",
|
||||
"cont-province": "NY",
|
||||
"cont-postal-code": "14305",
|
||||
"cont-guo": "US",
|
||||
"cont-org": "American Kybernetik"
|
||||
|
||||
},
|
||||
|
||||
"case04" : "DPML Create",
|
||||
"case04" : {
|
||||
|
||||
"name" : "secura.dpml.zone",
|
||||
"smd-data" : "./smd/secura-test.smd"
|
||||
|
||||
},
|
||||
|
||||
"case05" : "Create with TCN Override",
|
||||
"Case05" : "Create with TCN Override",
|
||||
"case05" : {
|
||||
|
||||
"dryrun" : true,
|
||||
"launch_phase" : "sunrise",
|
||||
"cont_id" : "renjuan",
|
||||
"name" : "test-validate.claimsgasix",
|
||||
"noticeID" : "d85159710000000000000008692",
|
||||
"notAfter" : "2015-01-01T12:00:00Z",
|
||||
"acceptedDate" : "2014-01-27T19:00:00Z"
|
||||
|
||||
},
|
||||
|
||||
"Case06" : "Transfer between secondary name provider accounts",
|
||||
"case06" : {
|
||||
|
||||
"dryrun" : true,
|
||||
"isGainer" : false,
|
||||
"name" : "bestever.camera"
|
||||
|
||||
}
|
||||
|
||||
} ,
|
||||
|
||||
"name" : "nortonkramden.ventures",
|
||||
"name" : "pricey.holdings",
|
||||
"name" : "greedy.ventures",
|
||||
"noticeID" : "",
|
||||
"notBefore" : "",
|
||||
"acceptedDate" : ""
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
"name" : "shady.ventures",
|
||||
"name" : "hemmarhoid.camera",
|
||||
"name" : "pricey.holdings",
|
||||
"name" : "atmospheric.lighting"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue