The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#<NZSRSRequest VerMajor='5' VerMinor='0'>
#   <Whois DomainName="cheese.co.nz" FullResult="0"/>
#</NZSRSRequest>
#
#<?xml version="1.0"?>
#<!DOCTYPE NZSRSResponse SYSTEM "protocol.dtd">
#<NZSRSResponse VerMajor="5" VerMinor="0">
#  <Response Action="Whois" FeId="8" FeSeq="4640992" OrigRegistrarId="1" RecipientRegistrarId="1"><FeTimeStamp Day="26" Hour="11" Minute="41" Month="5" Second="21" TimeZoneOffset="+12:00" Year="2010"/><Domain DomainName="cheese.co.nz" Status="Active"/></Response>
#</NZSRSResponse>

template: create-domain.tt

vars:
  domain: cheese.co.te
  ns:
    - ns1.hidns.com
    - ns2.hidns.com
    - ns3.hidns.com
  owner: id123
  admin: shazzam1234
  tech: alcatraz367

input_assertions:
  class: SRS::EPP::Command::Create::Domain
  count:
    - [ '//domain:name', 1, 'Initial EPP: Creating one domain' ]
    - [ '//domain:hostObj', 3, 'Initial EPP: Three nameservers' ]
    - [ '//domain:registrant', 1, 'Initial EPP: One registrant' ]
    - [ '//domain:contact[@type="admin"]', 1, 'Initial EPP: One admin contact' ]
    - [ '//domain:contact[@type="tech"]', 1, 'Initial EPP: One tech contact' ]

SRS:
  - assertions:
      count:
        - [ '//RegistrantContact', 1, 'SRS: Check for only one RegistrantContact' ]
        - [ '//AdminContact', 1, 'SRS: Check for only one AdminContact' ]
        - [ '//TechnicalContact', 1, 'SRS: Check for only one TechnicalContact' ]
        - [ '//NameServers/Server', 3, 'SRS: Check for three nameservers' ]
      match:
      match_all:
      attr_is:
        - [ '//DomainCreate', 'DomainName', 'cheese.co.te', 'SRS: Check the domain name to be registered' ]
        - [ '//DomainCreate', 'Term', '1', 'SRS: Check the term is one' ]
        - [ '//RegistrantContact', 'HandleId', 'id123', 'SRS: RegistrantContact handle' ]
        - [ '//AdminContact', 'HandleId', 'shazzam1234', 'SRS: AdminContact handle' ]
        - [ '//TechnicalContact', 'HandleId', 'alcatraz367', 'SRS: TechnicalContact handle' ]

    fake_response: |-
      <NZSRSResponse VerMajor="5" VerMinor="0">
        <Response Action="DomainCreate" FeId="8" FeSeq="4794946" OrigRegistrarId="90" RecipientRegistrarId="90" TransId="brause2348">
          <FeTimeStamp Day="6" Hour="13" Minute="19" Month="7" Second="58" TimeZoneOffset="+12:00" Year="2010"/>
          <Domain Delegate="1" DomainName="wicked-yeah.co.nz" RegistrarId="90" Status="Active" Term="1" UDAI="HMsXwv3M">
            <NameServers>
              <Server FQDN="ns1.hidns.com"/>
              <Server FQDN="ns2.hidns.com"/>
              <Server FQDN="ns3.hidns.com"/>
            </NameServers>
            <RegistrantContact ActionId="Update handle registrant-001 1" Email="new001@registrant.co.nz" HandleId="registrant-001" Name="new registrant 001">
              <PostalAddress Address1="Regisrant New Address 1" City="Wellington" CountryCode="NZ"/>
              <Phone AreaCode="4" CountryCode="64" LocalNumber="123 ext 1"/>
              <Fax AreaCode="4" CountryCode="64" LocalNumber="123666"/>
            </RegistrantContact>
            <AdminContact ActionId="Update handle registrant-001 1" Email="new001@registrant.co.nz" HandleId="registrant-001" Name="new registrant 001">
              <PostalAddress Address1="Regisrant New Address 1" City="Wellington" CountryCode="NZ"/>
              <Phone AreaCode="4" CountryCode="64" LocalNumber="123 ext 1"/>
              <Fax AreaCode="4" CountryCode="64" LocalNumber="123666"/>
            </AdminContact>
            <TechnicalContact ActionId="Update handle registrant-001 1" Email="new001@registrant.co.nz" HandleId="registrant-001" Name="new registrant 001">
              <PostalAddress Address1="Regisrant New Address 1" City="Wellington" CountryCode="NZ"/>
              <Phone AreaCode="4" CountryCode="64" LocalNumber="123 ext 1"/>
              <Fax AreaCode="4" CountryCode="64" LocalNumber="123666"/>
            </TechnicalContact>
            <BilledUntil Day="06" Hour="13" Minute="19" Month="8" Second="58" TimeZoneOffset="+12:00" Year="2010"/>
            <RegisteredDate Day="06" Hour="13" Minute="19" Month="7" Second="58" TimeZoneOffset="+12:00" Year="2010"/>
            <AuditDetails ActionId="brause2348" RegistrarId="90">
              <AuditTime>
                <From Day="06" Hour="13" Minute="19" Month="7" Second="58" TimeZoneOffset="+12:00" Year="2010"/>
              </AuditTime>
              <AuditText/>
            </AuditDetails>
          </Domain>
        </Response>
      </NZSRSResponse>

output_assertions:
  count:
    - [ '//domain:creData', 1, 'SRS: Check for one creData' ]
  match:
    - [ '//domain:name', 'wicked-yeah.co.nz', 'SRS: Check domain name' ]
    - [ '//domain:crDate', '2010-07-06T13:19:58+12:00', 'SRS: Check crDate' ]
    - [ '//domain:exDate', '2010-08-06T13:19:58+12:00', 'SRS: Check exDate' ]
  attr_is:
    - [ '//epp:result', 'code', '1000', 'SRS: Check result code' ]