1#!/usr/bin/perl -w 2# 3# 4# A Net::DRI example 5# See also t/613cat_epp.t 6 7use strict; 8 9use Net::DRI; 10 11use DateTime::Duration; 12 13my $CLID='YOUR TEST CLIENT ID'; ### Change this information 14my $PASS='YOUR PASSWORD'; ### Change this information 15 16my $dri=Net::DRI->new({cache_ttl=>10,logging=>'files'}); 17 18eval { 19############################################################################################################ 20$dri->add_registry('CAT',{clid=>$CLID}); 21 22## This connects to .CAT server for tests 23my $rc=$dri->target('CAT')->add_current_profile('profile1','epp',{remote_host=>'epp.ote.puntcat.corenic.net',client_login=>$CLID,client_password=>$PASS}); 24 25die($rc) unless $rc->is_success(); ## Here we catch all errors during setup of transport, such as authentication errors 26 27my $c1=new_contact($dri,'CONTACT1'); 28my $c2=new_contact($dri,'CONTACT2'); 29my $c3=new_contact($dri,'CONTACT3'); 30my $c4=new_contact($dri,'CONTACT4'); 31 32$rc=$dri->contact_create($c1); 33die($rc) unless $rc->is_success(); 34$rc=$dri->contact_create($c2); 35die($rc) unless $rc->is_success(); 36$rc=$dri->contact_create($c3); 37die($rc) unless $rc->is_success(); 38$rc=$dri->contact_create($c4); 39die($rc) unless $rc->is_success(); 40 41my $nso=$dri->local_object('hosts'); 42foreach my $ns (qw/ns1.example22.com ns2.example22.com/) 43{ 44 print "Attempting to create host $ns "; 45 my $e=$dri->host_exist($ns); 46 if ($e==0) 47 { 48 $rc=$dri->host_create($ns); 49 print $rc->is_success()? "OK\n" : "KO\n"; 50 } else 51 { 52 print "EXIST already\n"; 53 } 54 $nso->add($ns); 55} 56 57my $dom='a-netdri'.time().'.cat'; 58$rc=$dri->domain_check($dom); 59print "$dom does ".($dri->get_info('exist')? '' : 'not ')."exist\n"; 60my $cs=$dri->local_object('contactset'); 61$cs->set($c1,'registrant'); 62$cs->set($c2,'billing'); 63$cs->set($c3,'tech'); 64$cs->set($c4,'admin'); 65print "Attempting to create domain $dom\n"; 66$rc=$dri->domain_create($dom,{pure_create=>1,duration=>DateTime::Duration->new(years =>1),ns=>$nso,contact=>$cs,lang=>'ca',ens=>{auth=>{id=>'FASE3-100000',key=>'0000'},intended_use=>'To test Net::DRI'},auth=>{pw=>'XYZE'}}); 67print "Created $dom is_success=".$rc->is_success()."\n"; 68 69 70# In OT&E you may need to wait for automated review of your domain, 71# in which case please uncomment the following lines 72#print "Now sleeping for 10 minutes...\n"; 73#sleep(10*60); 74#print "Back from sleep\n"; 75#$dri->transport()->current_state(0); ## forcing reconnection 76 77$rc=$dri->domain_check($dom); 78print "$dom does exist now\n" if $dri->get_info('exist'); 79$rc=$dri->domain_info($dom); 80print "domain_info OK\n" if $rc->is_success(); 81 82my $ns='ns.titi-'.time().'.fr'; 83$nso=$dri->local_object('hosts')->set('ns.titi-'.time().'.fr'); 84print "NS=$ns\n"; 85 86print "Creating $ns\n"; 87$rc=$dri->host_create($nso); 88print "Host created, is_success()=".$rc->is_success()."\n"; 89 90$rc=$dri->domain_update_ns_add($dom,$nso); 91print "ns_add OK=".$rc->is_success()."\n"; 92$rc=$dri->domain_info($dom); 93$rc=$dri->domain_update_ns_del($dom,$nso); 94print "ns_del OK=".$rc->is_success()."\n"; 95$rc=$dri->domain_info($dom); 96 97my $s=$dri->create_status()->no('update'); 98$rc=$dri->domain_update_status_add($dom,$s); 99print "status_add OK=".$rc->is_success()."\n"; 100$rc=$dri->domain_info($dom); 101$rc=$dri->domain_update_status_del($dom,$s); 102print "status_del OK=".$rc->is_success()."\n"; 103$rc=$dri->domain_info($dom); 104 105$rc=$dri->domain_delete($dom,{pure_delete => 1}); 106print "domain_delete OK=".$rc->is_success()."\n"; 107 108$rc=$dri->contact_delete($c1); 109print "Contact1 deleted successfully\n" if $rc->is_success(); 110$rc=$dri->contact_delete($c2); 111print "Contact2 deleted successfully\n" if $rc->is_success(); 112$rc=$dri->contact_delete($c3); 113print "Contact3 deleted successfully\n" if $rc->is_success(); 114$rc=$dri->contact_delete($c4); 115print "Contact4 deleted successfully\n" if $rc->is_success(); 116 117$dri->end(); 118}; 119 120if ($@) 121{ 122 print "\n\nAn EXCEPTION happened !\n"; 123 if (ref($@)) 124 { 125 $@->print(); 126 } else 127 { 128 print($@); 129 } 130} else 131{ 132 print "\n\nNo exception happened"; 133} 134 135print "\n"; 136exit 0; 137 138###################################################### 139 140sub new_contact 141{ 142 my ($dri,$srid)=@_; 143 my $c=$dri->local_object('contact'); 144 $c->name('My Name'); 145 $c->org('My Organisation àé æ'.time()); 146 $c->street(['My Address']); 147 $c->city('My city'); 148 $c->pc(11111); 149 $c->cc('FR'); 150 $c->email('test@example.com'); 151 $c->voice('+44.1111111'); 152 $c->fax('+55.2222222'); 153 $c->auth({pw=>'XYZ'}); 154 $c->srid($srid); 155 return $c; 156} 157