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">
|
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||||
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1489137557">
|
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1217424711">
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1489137557" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1217424711" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||||
<externalSettings/>
|
<externalSettings/>
|
||||||
<extensions>
|
<extensions>
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||||
|
@ -16,27 +16,27 @@
|
||||||
</extensions>
|
</extensions>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
<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">
|
<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.1489137557.45876174" name="/" resourcePath="">
|
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1217424711.856785893" name="/" resourcePath="">
|
||||||
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1604623789" name="cdt.managedbuild.toolchain.gnu.base" superClass="cdt.managedbuild.toolchain.gnu.base">
|
<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.1489688336" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.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 id="cdt.managedbuild.target.gnu.builder.base.1594561920" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.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.1326612781" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.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.637187500" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.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.1015923900" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1234249186" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1814883119" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
<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.1118638960" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1808159100" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
</tool>
|
</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.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.1048700328" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.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.1629920531" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
<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="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||||
</inputType>
|
</inputType>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.assembler.base.264833315" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
<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.853558430" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.223635164" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
</toolChain>
|
</toolChain>
|
||||||
</folderInfo>
|
</folderInfo>
|
||||||
|
@ -45,19 +45,19 @@
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
</cconfiguration>
|
</cconfiguration>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
|
||||||
<project id="git.null.364140434" name="git"/>
|
|
||||||
</storageModule>
|
|
||||||
<storageModule moduleId="scannerConfiguration">
|
<storageModule moduleId="scannerConfiguration">
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
</storageModule>
|
</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="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||||
<storageModule moduleId="refreshScope"/>
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
|
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
|
||||||
<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>
|
<buildCommand>make</buildCommand>
|
||||||
<buildTarget>libACTK1_0.so</buildTarget>
|
<buildArguments/>
|
||||||
|
<buildTarget>all</buildTarget>
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
@ -70,44 +70,23 @@
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
</target>
|
</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>
|
<buildCommand>make</buildCommand>
|
||||||
<buildTarget>tests</buildTarget>
|
<buildArguments/>
|
||||||
|
<buildTarget>dclean</buildTarget>
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
</target>
|
</target>
|
||||||
<target name="dirs" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="dirs" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
|
<buildArguments/>
|
||||||
<buildTarget>dirs</buildTarget>
|
<buildTarget>dirs</buildTarget>
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
</target>
|
</target>
|
||||||
<target name="dclean" path="ACTK1_0" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="clean" path="AusRegCliever" 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">
|
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
<buildArguments/>
|
<buildArguments/>
|
||||||
<buildTarget>clean</buildTarget>
|
<buildTarget>clean</buildTarget>
|
||||||
|
@ -115,96 +94,14 @@
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
</target>
|
</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>
|
<buildCommand>make</buildCommand>
|
||||||
<buildArguments/>
|
<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>
|
<buildTarget>dirs</buildTarget>
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
</target>
|
</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">
|
<target name="cliever" path="AusRegCliever" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
<buildArguments/>
|
<buildArguments/>
|
||||||
|
@ -213,27 +110,19 @@
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
</target>
|
</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>
|
<buildCommand>make</buildCommand>
|
||||||
<buildTarget>clean</buildTarget>
|
<buildArguments/>
|
||||||
<stopOnError>false</stopOnError>
|
<buildTarget>all</buildTarget>
|
||||||
<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>
|
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
</target>
|
</target>
|
||||||
</buildTargets>
|
</buildTargets>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||||
|
<configuration configurationName="Default">
|
||||||
|
<resource resourceType="PROJECT" workspacePath="/DNSEPPUS"/>
|
||||||
|
</configuration>
|
||||||
|
</storageModule>
|
||||||
</cproject>
|
</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 \
|
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/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/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/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 \
|
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/DataResponse.o build/E164Extension.o build/Logger.o \
|
||||||
build/SMDExtension.o build/ACProxyCommand.o \
|
build/SMDExtension.o build/ACProxyCommand.o \
|
||||||
build/PollResponse.o build/SessionManagerFactory.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
|
.PHONY: tests
|
||||||
tests: all $(test_execs)
|
tests: all $(test_execs)
|
||||||
|
|
|
@ -17,9 +17,10 @@ namespace {
|
||||||
}
|
}
|
||||||
}; // anonymous namespace
|
}; // anonymous namespace
|
||||||
|
|
||||||
void LPCrtCmdExtension::setSMD()
|
void LPCrtCmdExtension::setSMD(std::string smdIn)
|
||||||
{
|
{
|
||||||
haveSMD = true;
|
haveSMD = true;
|
||||||
|
smdData = smdIn;
|
||||||
|
|
||||||
}
|
}
|
||||||
void LPCrtCmdExtension::addToCommand(const Command &command) const
|
void LPCrtCmdExtension::addToCommand(const Command &command) const
|
||||||
|
|
|
@ -19,13 +19,15 @@ class LPCrtCmdExtension : public CommandExtension
|
||||||
void setNoticeID(string &idVal,string ¬AftVal, string &acceptedVal) {
|
void setNoticeID(string &idVal,string ¬AftVal, string &acceptedVal) {
|
||||||
noticeID = idVal; notAfter = notAftVal; acceptedDate = acceptedVal; haveNoticeID = true;
|
noticeID = idVal; notAfter = notAftVal; acceptedDate = acceptedVal; haveNoticeID = true;
|
||||||
}
|
}
|
||||||
void setSMD();
|
void setSMD(std::string toWhat);
|
||||||
private:
|
private:
|
||||||
bool haveNoticeID,haveSMD;
|
bool haveNoticeID,haveSMD;
|
||||||
|
|
||||||
|
std::string acceptedDate;
|
||||||
std::string lpePhaseName;
|
std::string lpePhaseName;
|
||||||
std::string noticeID;
|
std::string noticeID;
|
||||||
std::string notAfter;
|
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
|
#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)
|
ifeq ($(LOCATION),DEBIAN_7)
|
||||||
ifneq ($(ARTKENABLED),0)
|
ifneq ($(ARTKENABLED),0)
|
||||||
ARTKLIB=-L/home/jdaugherty/clients/reg.de/git/ACTK1_0/lib
|
ARTKLIB=-L/home/jdaugherty/clients/greg/git/ACTK1_0/lib
|
||||||
ARTKINCL=-I/home/jdaugherty/clients/reg.de/git/ACTK1_0
|
ARTKINCL=-I/home/jdaugherty/clients/greg/git/ACTK1_0
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -60,11 +60,11 @@ XERCES_LIB = xerces-c
|
||||||
XERCES_INC_DIR = /opt/local/include/xercesc/
|
XERCES_INC_DIR = /opt/local/include/xercesc/
|
||||||
endif
|
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
|
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)
|
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
|
# ---------- Should not need to change below
|
||||||
|
|
|
@ -8,220 +8,334 @@
|
||||||
#ifndef REGISTRYOTE_H_
|
#ifndef REGISTRYOTE_H_
|
||||||
#define REGISTRYOTB_H_
|
#define REGISTRYOTB_H_
|
||||||
|
|
||||||
typedef auto_ptr<SessionManager> AC_SESSMGR;
|
ACTx *inProgress;
|
||||||
typedef auto_ptr<Session> AC_SESSION;
|
|
||||||
|
|
||||||
static AC_SESSMGR ac_mgr;
|
|
||||||
static AC_SESSION ac_sess;
|
|
||||||
|
|
||||||
|
|
||||||
int nCases,thisCase;
|
int nCases,thisCase;
|
||||||
|
|
||||||
|
testDescs theseSpecs;
|
||||||
testCases theseCases;
|
testCases theseCases;
|
||||||
testFuncs theseFuncs;
|
testFuncs theseFuncs;
|
||||||
|
|
||||||
|
Json::Value theseParms;
|
||||||
|
|
||||||
|
|
||||||
bool acTkInitialised = false, fatal = false, done = false, transferGainer,
|
bool acTkInitialised = false, fatal = false, done = false, transferGainer,
|
||||||
bindError;
|
bindError;
|
||||||
|
|
||||||
const char *thisName = "registrar.ote";
|
const string claims("claims"), dpml("custom"), landrush("landrush"), sunrise("sunrise");
|
||||||
string thisRegistry("Unknown"), thatAccount("Unknown"), thisAccount("Unknown"), shitName;
|
|
||||||
|
|
||||||
int cmd=0,debug=1000;
|
const char *thisName = "registrar.ote", *thisDesc;
|
||||||
string op("newInstance");
|
|
||||||
|
|
||||||
const string claims("claims"), dpml("custom"), landrush("landrush"), sunrise("sunrise");
|
string thisRegistry("Unknown"), thatAccount("Unknown"), thisAccount("Unknown");
|
||||||
|
|
||||||
std::string ctc("renjuan");
|
int debug=1000;
|
||||||
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");
|
|
||||||
|
|
||||||
std::string pw("Ab9dW@rd");
|
commandFrame *ctxt;
|
||||||
std::string RID("renjuan");
|
|
||||||
|
|
||||||
std::vector<std::string> tech(1,std::string("renjuan") );
|
inline bool checkAndSetBool(bool &target,const char *jsonName,const bool defaultValue,bool required) {
|
||||||
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") );;
|
|
||||||
|
|
||||||
const IntPostalInfo ctcPO(ctcName,ctcOrg,
|
bool value = true;
|
||||||
ctcCrib,ctcCity,ctcProv,ctcPC,ctcGuo);
|
|
||||||
|
|
||||||
LPCrtCmdExtension crtE1( &claims ), crtE2( &dpml );
|
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() {
|
inline bool checkNameOK() {
|
||||||
|
|
||||||
if (!parms[thisCase].isMember("name")) {
|
if (!theseParms.isMember("name")) {
|
||||||
theseLogs->logN(1,"(%d) no 'name' field",cmd);
|
theseLogs->logN(1,"%d - no 'name' field",thisCase+1);
|
||||||
ACPRODINOTE::bindError = true;
|
ACPRODINOTE::bindError = true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
shitName = parms[thisCase]["name"].asString();
|
ctxt->shitName = theseParms.get("name","noname").asString();
|
||||||
thisName = shitName.c_str();
|
thisName = ctxt->shitName.c_str();
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool checkContOK() {
|
inline bool checkContOK() {
|
||||||
|
|
||||||
if (!parms[thisCase].isMember("cont_id")) {
|
bool value = checkAndSetStr(ctxt->ctc,"cont_id","renjuan",true);
|
||||||
ACPRODINOTE::bindError = true;
|
|
||||||
theseLogs->logN(1,"(%d) no 'cont_id' field",cmd);
|
|
||||||
return false;
|
|
||||||
|
|
||||||
}
|
ctxt->thisDesc = theseSpecs[thisCase].case_desc;
|
||||||
|
|
||||||
return true;
|
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(Json::Value thisPW) {
|
inline bool checkPWDOK() {
|
||||||
|
|
||||||
if (!parms[thisCase].isMember("cont_id")) {
|
return checkAndSetStr(ctxt->pw,"cont_pw","Ab9dW@rd",true);
|
||||||
ACPRODINOTE::bindError = true;
|
|
||||||
theseLogs->logN(1,"(%d) no 'cont_pw' field",cmd);
|
|
||||||
return false;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void check() {
|
|
||||||
|
|
||||||
|
|
||||||
if (checkNameOK()) {
|
|
||||||
|
|
||||||
DomainCheckCommand *c = new DomainCheckCommand(thisName);
|
|
||||||
DomainCheckResponse *r = new DomainCheckResponse();
|
|
||||||
|
|
||||||
theseLogs->logN(2,"(%d) Queue Unextended check of %s",cmd++,thisName);
|
|
||||||
acq.push( new Transaction(c, r) );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkClaims() {
|
inline bool checkPhaseOK() {
|
||||||
|
|
||||||
|
return checkAndSetStr(ctxt->thisLaunchPhase,"launch_phase","sunrise",true);
|
||||||
if (checkNameOK()) {
|
|
||||||
|
|
||||||
DomainCheckCommand *c = new DomainCheckCommand(thisName);
|
|
||||||
LPChkCmdExtension chkE(&claims);
|
|
||||||
c->appendExtension(chkE);
|
|
||||||
DomainCheckResponse *r = new DomainCheckResponse();
|
|
||||||
LPChkRespExtension chkRspE;
|
|
||||||
r->registerExtension(&chkRspE);
|
|
||||||
|
|
||||||
theseLogs->logN(2,"(%d) Queue Claims type Check of %s",cmd++,thisName);
|
|
||||||
acq.push(new Transaction(c, r));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void create() {
|
inline bool checkSMD() {
|
||||||
|
|
||||||
|
#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");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void check() { newCommandFrame();
|
||||||
|
|
||||||
|
if (checkNameOK()) {
|
||||||
|
|
||||||
|
TxQ <DomainCheckCommand , DomainCheckResponse, LPChkCmdExtension, LPChkRespExtension > *txq;
|
||||||
|
txq = new TxQ<DomainCheckCommand , DomainCheckResponse, LPChkCmdExtension, LPChkRespExtension>
|
||||||
|
(thisName,thisDesc);
|
||||||
|
|
||||||
|
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() { newCommandFrame();
|
||||||
|
|
||||||
|
if (checkNameOK()) {
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
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() { newCommandFrame();
|
||||||
|
|
||||||
if (checkNameOK() && checkContOK())
|
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);
|
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||||
DomainCreateResponse *r = new DomainCreateResponse();
|
theseLogs->logN(3,"%d .. Queue default create of %s ( %s ).",thisCase+1, thisName, thisAccount.c_str());
|
||||||
|
acq.push(txq);
|
||||||
|
|
||||||
theseLogs->logN(3,"(%d) Queue normal create of %s ( %s ).",cmd++, thisName, thisAccount.c_str());
|
}
|
||||||
acq.push(new Transaction(c, r));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
TxQ <DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension > *txq;
|
||||||
crtE1.setNoticeID(noticeID, notAfter, acceptedDate);
|
txq = new TxQ<DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension >
|
||||||
c->appendExtension(crtE1);
|
(ctxt->shitName, ctxt->pw, &ctxt->RID, &ctxt->tech, &ctxt->ns, &ctxt->admin, &ctxt->billing, NULL, &ctxt->thisLaunchPhase);
|
||||||
DomainCreateResponse *r;
|
|
||||||
|
|
||||||
theseLogs->logN(2,"(%d) Queue create %s w Notice ID test data (TCN).",++cmd,thisName);
|
txq->ce->setNoticeID(ctxt->noticeID, ctxt->notAfter, ctxt->acceptedDate);
|
||||||
acq.push(new Transaction(c, r));
|
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);
|
if (checkContOK() ) {
|
||||||
ContactCreateResponse *r = new ContactCreateResponse();
|
|
||||||
|
|
||||||
theseLogs->logN(2,"(%d) Queue create contact %s.",++cmd,ctc.c_str());
|
TxQ <ContactCreateCommand , ContactCreateResponse, CommandExtension, ResponseExtension > *txq;
|
||||||
acq.push(new Transaction(c, r));
|
txq = new TxQ<ContactCreateCommand , ContactCreateResponse, CommandExtension, ResponseExtension >
|
||||||
|
(ctxt->ctc,ctxt->ctcPW,&ctxt->ctcPO,ctxt->ctcEmail);
|
||||||
|
|
||||||
|
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 dpmlCreate() {
|
void dpmlCreate() { newCommandFrame();
|
||||||
|
|
||||||
|
if (checkNameOK() && checkPhaseOK() && checkSMD()) {
|
||||||
|
|
||||||
if (checkNameOK()) {
|
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);
|
||||||
|
|
||||||
DomainCreateCommand *c = new DomainCreateCommand(thisName,pw,&RID, &tech, &ns, &admin, &billing);
|
txq->ce->setSMD(ctxt->smdData);
|
||||||
crtE2.setSMD();
|
txq->c->appendExtension(*txq->ce);
|
||||||
c->appendExtension(crtE2);
|
|
||||||
DomainCreateResponse *r = new DomainCreateResponse();
|
|
||||||
|
|
||||||
theseLogs->logN(2,"(%d) Queue DPML block create %s w boitedetest.smd data.",++cmd,thisName);
|
txq->set(ctxt,theseSpecs[thisCase].case_name.c_str());
|
||||||
acq.push(new Transaction(c, r));
|
theseLogs->logN(2,"(%d) Queue DPML block create %s w boitedetest.smd data.",thisCase+1,thisName);
|
||||||
|
acq.push(txq);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void sunriseCreate() {
|
void sunriseCreate() { newCommandFrame();
|
||||||
|
|
||||||
if (checkNameOK()) {
|
if (checkNameOK() && checkPhaseOK() && checkSMD()) {
|
||||||
|
|
||||||
DomainCreateCommand *c = new DomainCreateCommand(thisName,pw,&RID, &tech, &ns, &admin, &billing);
|
TxQ <DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension > *txq;
|
||||||
c->appendExtension(crtE1);
|
txq = new TxQ<DomainCreateCommand , DomainCreateResponse, LPCrtCmdExtension, LPCrtRespExtension >
|
||||||
DomainCreateResponse *r = new DomainCreateResponse();
|
(ctxt->shitName, ctxt->pw, &ctxt->RID, &ctxt->tech, &ctxt->ns, &ctxt->admin, &ctxt->billing, NULL, &ctxt->thisLaunchPhase);
|
||||||
|
|
||||||
theseLogs->logN(2,"(%d) Queue Sunrise create %s with ICANN SMD test data.",++cmd,thisName);
|
txq->ce->setSMD(ctxt->smdData);
|
||||||
acq.push(new Transaction(c, r));
|
txq->c->appendExtension(*txq->ce);
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void transfer() {
|
void transfer() { newCommandFrame();
|
||||||
|
|
||||||
if (checkNameOK()) {
|
if (checkNameOK() && checkAndSetBool(transferGainer,"isGainer",true,true)) {
|
||||||
|
|
||||||
Transaction *thisTest;
|
if (transferGainer) {
|
||||||
|
|
||||||
DomainTransferRequestCommand *c0 = new DomainTransferRequestCommand(thisName,ctcPW);
|
TxQ <DomainTransferRequestCommand , DomainTransferResponse, CommandExtension, ResponseExtension > *txq;
|
||||||
DomainTransferApproveCommand *c1 = new DomainTransferApproveCommand(thisName,ctcPW);
|
txq = new TxQ<DomainTransferRequestCommand , DomainTransferResponse, CommandExtension, ResponseExtension>
|
||||||
DomainTransferResponse *r = new DomainTransferResponse();
|
(ctxt->shitName,ctxt->pw,thisDesc);
|
||||||
|
|
||||||
thisTest = transferGainer ? new Transaction(c0, r) : new Transaction(c1, r) ;
|
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);
|
||||||
|
|
||||||
theseLogs->logN(4,"(%d) Queue %s %s -> %s.", (transferGainer ? "Request" : "Approve") ,cmd++,
|
} else {
|
||||||
thisName,thatAccount.c_str());
|
|
||||||
|
|
||||||
acq.push(thisTest);
|
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["case05"] = createClaimOverride;
|
||||||
theseFuncs["case06"] = transfer;
|
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_
|
#ifndef DONUTSOTEB_H_
|
||||||
#define 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()
|
void ausRegEPPTK::doOTEB()
|
||||||
{
|
{
|
||||||
bool addDomains = false, debug=true, contactCreated = true, doTransfers = false,
|
bool addDomains = false, debug=true, contactCreated = true, doTransfers = false,
|
||||||
|
@ -15,8 +96,8 @@ void ausRegEPPTK::doOTEB()
|
||||||
int cmd=0;
|
int cmd=0;
|
||||||
const char *thatAccount="secura2-ote2", *thisAccount="secura1-ote";
|
const char *thatAccount="secura2-ote2", *thisAccount="secura1-ote";
|
||||||
|
|
||||||
string op("newInstance");
|
string op("newInstance");
|
||||||
const string claims("claims"), dpml("custom"), landrush("landrush"), sunrise("sunrise");
|
const string claims("claims"), dpml("custom"), landrush("landrush"), sunrise("sunrise");
|
||||||
|
|
||||||
LPCrtCmdExtension crtE1( &claims ), crtE2( &dpml );
|
LPCrtCmdExtension crtE1( &claims ), crtE2( &dpml );
|
||||||
|
|
||||||
|
@ -275,7 +356,7 @@ void ausRegEPPTK::doOTEB()
|
||||||
theseLogs->logN(2,"(%d) Create %s w ICANN SMD file.",++cmd,dpmlName.c_str());
|
theseLogs->logN(2,"(%d) Create %s w ICANN SMD file.",++cmd,dpmlName.c_str());
|
||||||
|
|
||||||
DomainCreateCommand oteCommand_7(dpmlName,pw,&RID, &tech, &ns, &admin, &billing);
|
DomainCreateCommand oteCommand_7(dpmlName,pw,&RID, &tech, &ns, &admin, &billing);
|
||||||
crtE2.setSMD();
|
crtE2.setSMD(smdData);
|
||||||
oteCommand_7.appendExtension(crtE2);
|
oteCommand_7.appendExtension(crtE2);
|
||||||
DomainCreateResponse oteResponse_7;
|
DomainCreateResponse oteResponse_7;
|
||||||
|
|
||||||
|
|
|
@ -11,16 +11,22 @@
|
||||||
typedef void (*caseBody)(void);
|
typedef void (*caseBody)(void);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
string desc;
|
string *desc;
|
||||||
const char *caseName;
|
const char *caseName;
|
||||||
caseBody fBody;
|
caseBody fBody;
|
||||||
int parms; // Index of JSON Value in testSuite00
|
int parms; // Index of JSON Value in testSuiteAC
|
||||||
} testCase;
|
} testCase;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
string case_name;
|
||||||
|
string case_desc;
|
||||||
|
} testDesc;
|
||||||
|
|
||||||
namespace ACPRODINOTE {
|
namespace ACPRODINOTE {
|
||||||
|
|
||||||
typedef std::map<int,testCase> testCases;
|
typedef std::map<int,testDesc> testDescs;
|
||||||
typedef std::map<string,caseBody> testFuncs;
|
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
|
#ifndef MD_COMMON
|
||||||
#define MD_COMMON
|
#define MD_COMMON
|
||||||
#define ACTK_CFG_PATH "./etc/toolkit2.conf"
|
#define ACTK_CFG_PATH "./etc/toolkit2.conf"
|
||||||
|
|
|
@ -169,6 +169,9 @@ void setSignals() {
|
||||||
signal(SIGTSTP,SIG_IGN); /* ignore tty signals */
|
signal(SIGTSTP,SIG_IGN); /* ignore tty signals */
|
||||||
signal(SIGTTOU,SIG_IGN); // both input
|
signal(SIGTTOU,SIG_IGN); // both input
|
||||||
signal(SIGTTIN,SIG_IGN); // and output
|
signal(SIGTTIN,SIG_IGN); // and output
|
||||||
|
#ifdef AC_ASSERTIONS
|
||||||
|
signal(SIGINT, signal_handler); // debug
|
||||||
|
#endif
|
||||||
signal(SIGSEGV,signal_handler);
|
signal(SIGSEGV,signal_handler);
|
||||||
signal(SIGUSR1,signal_handler); // commander log messages
|
signal(SIGUSR1,signal_handler); // commander log messages
|
||||||
signal(SIGUSR2,signal_handler); // reserved
|
signal(SIGUSR2,signal_handler); // reserved
|
||||||
|
@ -182,6 +185,7 @@ void signal_handler(int sig)
|
||||||
switch(sig) {
|
switch(sig) {
|
||||||
case SIGSEGV:
|
case SIGSEGV:
|
||||||
theseLogs->logN(0,"SEGV ABEND.");
|
theseLogs->logN(0,"SEGV ABEND.");
|
||||||
|
case SIGINT:
|
||||||
if (waitForGDB) {
|
if (waitForGDB) {
|
||||||
for (i = 0;
|
for (i = 0;
|
||||||
i < iSaidWaitBiatch;
|
i < iSaidWaitBiatch;
|
||||||
|
|
|
@ -24,17 +24,214 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/inotify.h>
|
#include <sys/inotify.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
#include <json/json.h>
|
#include <json/json.h>
|
||||||
|
#include <type_traits>
|
||||||
|
#include <boost/static_assert.hpp>
|
||||||
|
#include <boost/type_traits.hpp>
|
||||||
#include "mdJSON.hpp"
|
#include "mdJSON.hpp"
|
||||||
|
|
||||||
Json::Value parms[MAX_OTE_CASE];
|
typedef struct CMDFRAME { bool thisDryRun;
|
||||||
bool JSONBatchInProgress = false;
|
|
||||||
|
|
||||||
namespace ACPRODINOTE {
|
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;
|
||||||
|
|
||||||
typedef boost::heap::priority_queue<Transaction *> ACWQ;
|
std::string pw;
|
||||||
|
std::string RID;
|
||||||
|
|
||||||
ACWQ acq;
|
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 {
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
@ -43,23 +240,6 @@ using namespace std;
|
||||||
|
|
||||||
#define EVENT_SIZE ( sizeof (struct inotify_event) )
|
#define EVENT_SIZE ( sizeof (struct inotify_event) )
|
||||||
#define BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) )
|
#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"
|
#include "AC_OTE.h"
|
||||||
|
|
||||||
|
@ -89,7 +269,7 @@ void ausRegEPPTK::doOTEA()
|
||||||
try {
|
try {
|
||||||
Timer::setTime("20140101.010101");
|
Timer::setTime("20140101.010101");
|
||||||
auto_ptr<SessionManager> manager(SessionManagerFactory::newInstance(&props));
|
auto_ptr<SessionManager> manager(SessionManagerFactory::newInstance(&props));
|
||||||
auto_ptr<Session> sess(SessionFactory::newInstance(&props));
|
auto_ptr<Session> sess(SessionFactory::newInstance(&props));
|
||||||
op = "startup";
|
op = "startup";
|
||||||
manager->startup();
|
manager->startup();
|
||||||
op = "run (keep-alive)";
|
op = "run (keep-alive)";
|
||||||
|
@ -121,6 +301,7 @@ void ausRegEPPTK::doOTEA()
|
||||||
{
|
{
|
||||||
theseLogs->logN(2,"General Exception during OTE A (%s).",op.c_str());
|
theseLogs->logN(2,"General Exception during OTE A (%s).",op.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#include "donutsOTEB.h"
|
#include "donutsOTEB.h"
|
||||||
void ausRegEPPTK::registryXOTE() { // PROD in OTE
|
void ausRegEPPTK::registryXOTE() { // PROD in OTE
|
||||||
|
@ -189,9 +370,9 @@ void ausRegEPPTK::registryXOTE() { // PROD in OTE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (actionableFileEvent) { char wxyz[100]; sprintf(wxyz,"/json/%s",event->name);
|
if (actionableFileEvent) { char wxyz[100]; sprintf(wxyz,"/json/%s",event->name);
|
||||||
|
|
||||||
while (JSONBatchInProgress) {
|
while (JSONBatchInProgress) {
|
||||||
theseLogs->logN(0, "Waiting for pending batch to complete." );
|
theseLogs->logN(0, "Waiting for pending batch to complete." );
|
||||||
sleep(2);
|
sleep(2);
|
||||||
}
|
}
|
||||||
|
@ -233,7 +414,7 @@ void ausRegEPPTK::registryXOTE() { // PROD in OTE
|
||||||
theseLogs->logN(0,"End RegistryXOTE Session.");
|
theseLogs->logN(0,"End RegistryXOTE Session.");
|
||||||
}
|
}
|
||||||
void ausRegEPPTK::doPROD()
|
void ausRegEPPTK::doPROD()
|
||||||
{
|
{ char *endTransMsg;
|
||||||
int debug=1000000,hours=0,hoops,minutes=0,seconds=0,idleSeconds=0,lastPolicyHandshake=0,
|
int debug=1000000,hours=0,hoops,minutes=0,seconds=0,idleSeconds=0,lastPolicyHandshake=0,
|
||||||
lastSeconds=0,lastMinutes,iqSize=acq.max_size();
|
lastSeconds=0,lastMinutes,iqSize=acq.max_size();
|
||||||
string op("newInstance");
|
string op("newInstance");
|
||||||
|
@ -249,40 +430,47 @@ void ausRegEPPTK::doPROD()
|
||||||
try {
|
try {
|
||||||
Timer::setTime("20140101.010101");
|
Timer::setTime("20140101.010101");
|
||||||
auto_ptr<SessionManager> manager(SessionManagerFactory::newInstance(&props));
|
auto_ptr<SessionManager> manager(SessionManagerFactory::newInstance(&props));
|
||||||
auto_ptr<Session> sess(SessionFactory::newInstance(&props));
|
auto_ptr<Session> sess(SessionFactory::newInstance(&props));
|
||||||
op = "startup";
|
op = "startup";
|
||||||
manager->startup();
|
manager->startup();
|
||||||
op = "run (keep-alive)";
|
op = "run (keep-alive)";
|
||||||
manager->run();
|
manager->run();
|
||||||
sess->open();
|
sess->open();
|
||||||
// ac_mgr = manager;
|
|
||||||
// ac_sess = sess;
|
|
||||||
|
|
||||||
while ((1440 - minutes) > EODMARGIN) {
|
while ((1440 - minutes) > EODMARGIN) {
|
||||||
|
|
||||||
if (!acq.empty()) {
|
if (!acq.empty() && bindDone ) {
|
||||||
Transaction *tx = acq.top();
|
|
||||||
|
if (bindError) {
|
||||||
|
theseLogs->logN(3,"Flushing %d transactions",acq.size()-1);
|
||||||
|
acq.clear();
|
||||||
|
goto postTrans;
|
||||||
|
}
|
||||||
|
|
||||||
if (debug > 999)
|
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)
|
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;
|
idleSeconds = 0;
|
||||||
|
if (!bindError)
|
||||||
|
acq.pop();
|
||||||
if (!acq.size())
|
if (!acq.size())
|
||||||
JSONBatchInProgress = false;
|
JSONBatchInProgress = false;
|
||||||
acq.pop();
|
|
||||||
delete tx;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!lastPolicyHandshake || (seconds - lastPolicyHandshake >= (REGISTRY_HANDSHAKE - 5)))
|
if (!lastPolicyHandshake || (seconds - lastPolicyHandshake >= (REGISTRY_HANDSHAKE - 5)))
|
||||||
{lastPolicyHandshake = 1; goto skipHandshake;
|
{if (!lastPolicyHandshake) lastPolicyHandshake = 1; goto skipHandshake;
|
||||||
idleSeconds = 0;
|
idleSeconds = 0;
|
||||||
if (debug > 99)
|
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;
|
lastPolicyHandshake = seconds;
|
||||||
sess->writeXML(TEST_SE);
|
sess->writeXML(TEST_SE);
|
||||||
sess->read();
|
sess->read();
|
||||||
|
@ -302,7 +490,7 @@ void ausRegEPPTK::doPROD()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug > 9999 && !(seconds % 120))
|
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();
|
sess->close();
|
||||||
|
|
|
@ -9,19 +9,21 @@
|
||||||
#include <algorithm> // sort
|
#include <algorithm> // sort
|
||||||
#include <json/json.h>
|
#include <json/json.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <execinfo.h>
|
||||||
#include "mdJSON.hpp"
|
#include "mdJSON.hpp"
|
||||||
|
|
||||||
extern bool JSONBatchInProgresse;
|
extern bool JSONBatchInProgress,bindDone;
|
||||||
|
extern const char *parms[MAX_OTE_CASE];
|
||||||
extern Json::Value parms[MAX_OTE_CASE];
|
|
||||||
|
|
||||||
namespace ACPRODINOTE {
|
namespace ACPRODINOTE {
|
||||||
|
|
||||||
extern string thisRegistry, thisAccount, thatAccount;
|
extern string thisDesc, thisRegistry, thisAccount, thatAccount;
|
||||||
|
extern testDescs theseSpecs;
|
||||||
extern testCases theseCases;
|
extern testCases theseCases;
|
||||||
extern testFuncs theseFuncs;
|
extern testFuncs theseFuncs;
|
||||||
extern int cmd,thisCase;
|
extern int cmd,thisCase;
|
||||||
extern bool bindError;
|
extern bool bindError,dryRun;
|
||||||
|
extern Json::Value theseParms;
|
||||||
|
|
||||||
}
|
}
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
@ -47,8 +49,8 @@ readInputTestFile( const char *path )
|
||||||
|
|
||||||
bool mdJSON::run()
|
bool mdJSON::run()
|
||||||
{
|
{
|
||||||
bool lastMemberWasString=false,parseError=false,done=false;
|
bool lastMemberWasString=false,parseError=false,done=false,parseOnly=false;;
|
||||||
int i=0, nCases =0, nThings = 0, debug=1000;
|
int i=0, mCases=0, nCases =0, debug=100;
|
||||||
|
|
||||||
const Json::Value suite = root["testSuiteAC"];
|
const Json::Value suite = root["testSuiteAC"];
|
||||||
|
|
||||||
|
@ -67,13 +69,14 @@ bool mdJSON::run()
|
||||||
return true;
|
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();
|
Json::Value::Members itemNames = suite.getMemberNames();
|
||||||
string thisTestCase(""), thisTestCaseDesc("");
|
string thisTestCase(""), thisTestCaseDesc("");
|
||||||
|
|
||||||
ACPRODINOTE::thisRegistry = string("");
|
ACPRODINOTE::thisRegistry = string("");
|
||||||
ACPRODINOTE::thisAccount = string("");
|
ACPRODINOTE::thisAccount = string("");
|
||||||
ACPRODINOTE::thatAccount = string("");
|
ACPRODINOTE::thatAccount = string("");
|
||||||
|
ACPRODINOTE::dryRun = false;
|
||||||
|
|
||||||
for ( i = 0; i < itemNames.size(); ++i ) { const char *thisItem;
|
for ( i = 0; i < itemNames.size(); ++i ) { const char *thisItem;
|
||||||
try {
|
try {
|
||||||
|
@ -81,54 +84,85 @@ bool mdJSON::run()
|
||||||
Json::Value thisMember = suite.get(thisItem,root);
|
Json::Value thisMember = suite.get(thisItem,root);
|
||||||
if (debug > 100000)
|
if (debug > 100000)
|
||||||
theseLogs->logN(1,"item %s.",thisItem);
|
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());
|
theseLogs->logN(1,"The primary name provider is '%s'",thisMember.asString().c_str());
|
||||||
ACPRODINOTE::thisRegistry = thisMember.asString();
|
ACPRODINOTE::thisRegistry = thisMember.asString();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!stricmp(thisItem,"accounta") && thisMember.isString()) {
|
if (!stricmp(thisItem,"accounta")) {
|
||||||
theseLogs->logN(1,"The first OTE account is '%s'",thisMember.asString().c_str());
|
theseLogs->logN(1,"The first OTE account is '%s'",thisMember.asString().c_str());
|
||||||
ACPRODINOTE::thisAccount = thisMember.asString();
|
ACPRODINOTE::thisAccount = thisMember.asString();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!stricmp(thisItem,"accountb") && thisMember.isString()) {
|
if (!stricmp(thisItem,"accountb")) {
|
||||||
theseLogs->logN(1,"The second OTE account is '%s'",thisMember.asString().c_str());
|
theseLogs->logN(1,"The second OTE account is '%s'",thisMember.asString().c_str());
|
||||||
ACPRODINOTE::thatAccount = thisMember.asString();
|
ACPRODINOTE::thatAccount = thisMember.asString();
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
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(1,"multiple '%s', not supported, use multiple files.",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();
|
||||||
}
|
}
|
||||||
if (strncmp(thisItem,"case",4)) continue;
|
else { char w0[16];
|
||||||
if (strlen(thisItem) != 6) continue;
|
if (strncmp(thisItem,"case",4)) continue;
|
||||||
if (debug > 100000)
|
if (strlen(thisItem) < 6) continue;
|
||||||
theseLogs->logN(1,"case %s.",thisItem);
|
memcpy(w0,thisItem,6); w0[6] =0;
|
||||||
if (!ACPRODINOTE::theseFuncs[thisItem]) {
|
if (thisMember != root && thisMember.isObject() && !parseError) {
|
||||||
theseLogs->logN(1,"No logic to bind to '%s', need it.",thisItem);
|
if (!ACPRODINOTE::theseFuncs[w0]) {
|
||||||
return false;
|
theseLogs->logN(1,"No logic to bind to '%s', need it.",thisItem);
|
||||||
}
|
return true;
|
||||||
if (thisMember != root && thisMember.isString()) {
|
}
|
||||||
thisTestCase = string(thisItem);
|
parms[nCases] = itemNames[i].c_str();
|
||||||
if (!lastMemberWasString)
|
ACPRODINOTE::theseCases[nCases].fBody = ACPRODINOTE::theseFuncs[w0];
|
||||||
{thisTestCaseDesc = thisMember.asString(); lastMemberWasString = true;}
|
ACPRODINOTE::theseCases[nCases++].caseName = thisItem;
|
||||||
else {
|
}
|
||||||
parseError = true;
|
}
|
||||||
theseLogs->logN(0,"Invalid consecutive strings in outer test suite.");
|
}
|
||||||
theseLogs->logN(0,"Must be descriptive comment then test object it describes.");
|
catch (exception e)
|
||||||
}
|
{
|
||||||
lastMemberWasString = true;
|
//void *array[20];
|
||||||
continue;
|
//size_t size;
|
||||||
}
|
|
||||||
if (thisMember != root && thisMember.isObject()) {
|
// get void*'s for all entries on the stack
|
||||||
parms[nCases] = suite.get(thisItem,root);
|
//size = backtrace(array, 20);
|
||||||
ACPRODINOTE::theseCases[nCases].fBody = ACPRODINOTE::theseFuncs[thisItem];
|
|
||||||
ACPRODINOTE::theseCases[nCases++].caseName = thisItem;
|
theseLogs->logN(2,"Item %s fault: %s ",thisItem, e.what());
|
||||||
lastMemberWasString = false;
|
//backtrace_symbols_fd(array, size, thisConfig->);
|
||||||
ACPRODINOTE::theseCases[nCases++].desc = thisTestCaseDesc;
|
|
||||||
}
|
AC_ASSERTIONP(false)
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
theseLogs->logN(1,"Test case parse exception: %s ",thisItem );
|
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()) {
|
if (ACPRODINOTE::thisRegistry.empty()) {
|
||||||
theseLogs->logN(0,"No primary name provider."); parseError = true; }
|
theseLogs->logN(0,"No primary name provider."); parseError = true; }
|
||||||
|
@ -141,16 +175,21 @@ bool mdJSON::run()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bindDone = false;
|
||||||
ACPRODINOTE::bindError = 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;
|
for (i=0;i<ACPRODINOTE::theseCases.size();i++) { ACPRODINOTE::thisCase = i;
|
||||||
ACPRODINOTE::cmd = 0;
|
ACPRODINOTE::theseParms = suite.get(parms[i],root);
|
||||||
try{
|
try{
|
||||||
theseLogs->logN(2,"%d Setup %s ...",i+1,ACPRODINOTE::theseCases[i].caseName );
|
theseLogs->logN(2,"%d Setup %s ...",i+1,ACPRODINOTE::theseCases[i].caseName );
|
||||||
ACPRODINOTE::thisCase = ACPRODINOTE::theseCases[i].parms;
|
|
||||||
ACPRODINOTE::theseCases[i].fBody();
|
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)
|
catch (exception e)
|
||||||
{
|
{
|
||||||
|
@ -163,11 +202,13 @@ bool mdJSON::run()
|
||||||
}
|
}
|
||||||
if (ACPRODINOTE::bindError) {
|
if (ACPRODINOTE::bindError) {
|
||||||
theseLogs->logN(0,"binding errors, script cannot be run");
|
theseLogs->logN(0,"binding errors, script cannot be run");
|
||||||
return true;
|
done = true;
|
||||||
|
goto endBind;
|
||||||
}
|
}
|
||||||
else
|
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.
|
return done; // Should be false if no error.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
121
json/OTEC.json
121
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" : "This script demonstrates the PRODinOTE JSON EPP scripting mechanism",
|
||||||
"_comment" : "I'm using convention of inserting a hyphen to disable a test case.",
|
|
||||||
|
|
||||||
"testSuites": "Outer block of a set of inputs to mdJSON.cpp to be run by ausRegTK::registryXOTE()",
|
"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" : {
|
"testSuiteAC" : {
|
||||||
|
|
||||||
"Registry" : "Donuts",
|
"Registry" : "mod_epp",
|
||||||
"AccountA" : "secura1-ote",
|
"AccountA" : "greg1-ote",
|
||||||
"AccountB" : "secura2-ote2",
|
"AccountB" : "greg2-ote",
|
||||||
|
|
||||||
"case00" : "Create a contact",
|
"Case00" : "Create a contact",
|
||||||
"case00" : {
|
"case00" : {
|
||||||
|
|
||||||
"cont_id": "renjuan2",
|
"dryrun" : true,
|
||||||
|
"cont_id": "renjuan3",
|
||||||
"cont_pw": "Ab9dW@rd",
|
"cont_pw": "Ab9dW@rd",
|
||||||
"cont_email": "juan@acm.org",
|
"cont_email": "juan@acm.org",
|
||||||
"cont-name": "Ren Ren-Juan",
|
"cont_name": "Ren Ren-Juan",
|
||||||
"cont-city": "Niagara Falls",
|
"cont_city": "Niagara Falls",
|
||||||
"cont_street1": "2926 2nd Street",
|
"cont_street1": "2926 2nd Street",
|
||||||
"cont-province": "NY",
|
"cont_province": "NY",
|
||||||
"cont-postal-code": "14305",
|
"cont_postal_code": "14305",
|
||||||
"cont-guo": "US",
|
"cont_guo": "US",
|
||||||
"cont-org": "American Kybernetik"
|
"cont_org": "American Kybernetik"
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"case01" : "Conventional / Standard/ Unextended Check",
|
"Case01" : "Conventional / Standard/ Unextended Check",
|
||||||
"case01" : {
|
"case01" : {
|
||||||
|
|
||||||
|
"cont_id" : "renjuan",
|
||||||
"name" : "bestever.camera"
|
"name" : "bestever.camera"
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"case02" : "Check with Claims Extension",
|
|
||||||
|
"Case02" : "Check with Claims Extension",
|
||||||
"case02" : {
|
"case02" : {
|
||||||
|
|
||||||
|
"dryrun" : true,
|
||||||
|
"cont_id" : "renjuan",
|
||||||
"name" : "unicycles.bike"
|
"name" : "unicycles.bike"
|
||||||
},
|
|
||||||
|
|
||||||
"case03" : "Conventional / Standard / Unextended Create",
|
|
||||||
"case03" : {
|
|
||||||
|
|
||||||
"name" : "greedy.ventures"
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"case04" : "DPML Create",
|
"Case03" : "Conventional Standard Unextended Create",
|
||||||
"case04" : {
|
"case03" : {
|
||||||
|
|
||||||
"name" : "face.dpml.zone",
|
"cont_id" : "renjuan",
|
||||||
"smd-data" : "./smd/face-test.smd"
|
"name" : "mushroomtheory.management"
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"case00" : "Create another contact",
|
"Case04" : "DPML Create",
|
||||||
"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" : {
|
"case04" : {
|
||||||
|
|
||||||
"name" : "secura.dpml.zone",
|
"dryrun" : true,
|
||||||
"smd-data" : "./smd/secura-test.smd"
|
"cont_id" : "renjuan",
|
||||||
|
"launch_phase" : "custom",
|
||||||
|
"name" : "face.dpml.zone",
|
||||||
|
"smd_data" : "boitedetest.smd"
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"case05" : "Create with TCN Override",
|
"Case05" : "Create with TCN Override",
|
||||||
"case05" : {
|
"case05" : {
|
||||||
|
|
||||||
"name" : "greedy.ventures",
|
"dryrun" : true,
|
||||||
"noticeID" : "",
|
"launch_phase" : "sunrise",
|
||||||
"notBefore" : "",
|
"cont_id" : "renjuan",
|
||||||
"acceptedDate" : ""
|
"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",
|
||||||
|
"name" : "shady.ventures",
|
||||||
|
"name" : "hemmarhoid.camera",
|
||||||
|
"name" : "pricey.holdings",
|
||||||
|
"name" : "atmospheric.lighting"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue