function _testOnlineNIC() { $Registrant = $this->Registry->NewContactInstance(CONTACT_TYPE::REGISTRANT); $Registrant->SetFieldList($this->contact_data); $Registrant->AuthCode = rand(100000, 999999); $this->Registry->CreateContact($Registrant); $this->assertTrue($Registrant->CLID != null, 'Create registrant contact'); $Contact = $this->Registry->NewContactInstanceByGroup('generic'); $Contact->SetFieldList(array_merge($this->contact_data, array('cc' => 'US', 'AppPurpose' => 'P1', 'NexusCategory' => 'C12'))); $Contact->AuthCode = rand(100000, 999999); $this->Registry->CreateContact($Contact); $this->assertTrue($Contact->CLID != null, 'Create generic contact'); $Domain = $this->Registry->NewDomainInstance(); $Domain->Name = 'webta' . rand(1000, 9999); $this->assertTrue($this->Registry->DomainCanBeRegistered($Domain), 'Domain available for registration'); $Domain->SetNameserverList(array(new Nameserver('ns1.onlinenic.com'), new Nameserver('ns2.onlinenic.com'))); $Domain->SetContact($Registrant, CONTACT_TYPE::REGISTRANT); $Domain->SetContact($Contact, CONTACT_TYPE::TECH); $Domain->SetContact($Contact, CONTACT_TYPE::BILLING); $Domain->SetContact($Contact, CONTACT_TYPE::ADMIN); $Domain->AuthCode = rand(10000000, 99999999); $this->Registry->CreateDomain($Domain, 2); $this->assertTrue($Domain->ID != null && $Domain->Status == DOMAIN_STATUS::DELEGATED, 'Create domain'); $contact_data = $Contact->GetFieldList(); $contact_data['name'] = 'Nerrible man'; $Contact->SetFieldList($contact_data); $Contact->ExtraData['type'] = CONTACT_TYPE::TECH; $Contact->ExtraData['domainname'] = $Domain->Name; $this->Registry->UpdateContact($Contact); $this->assertTrue(true, 'Update contact'); $old_expire_date = $Domain->ExpireDate; $this->Registry->RenewDomain($Domain, array('period' => 1)); $this->assertTrue($Domain->ExpireDate !== $old_expire_date, 'Renew domain'); $nslist = $Domain->GetNameserverList(); $changelist = $Domain->GetNameserverChangelist(); $changelist->SetChangedList(array(new Nameserver('ns1.google.com'), new Nameserver('ns2.google.com'))); $this->Registry->UpdateDomainNameservers($Domain, $changelist); $this->assertTrue($Domain->GetNameserverList() == $changelist->GetList(), 'Update domain nameservers'); $Domain2 = $this->Registry->NewDomainInstance(); $Domain2->Name = $Domain->Name; $Domain2 = $this->Registry->GetRemoteDomain($Domain2); $this->assertTrue($Domain2->ExpireDate == $Domain->ExpireDate, 'Get remote domain'); $nshost = new NameserverHost("ns1.{$Domain->GetHostName()}", '70.84.45.21'); $this->Registry->CreateNameserverHost($nshost); $nshost->IPAddr = '70.84.45.23'; $this->Registry->GetModule()->UpdateNameserverHost($nshost); $ok = $this->Registry->DeleteNameserverHost($nshost); $this->assertTrue($ok, 'Delete nameserver host'); $ok = $this->Registry->DeleteDomain($Domain); $this->assertTrue($ok, 'Delete domain'); }
public function RunTest(DataForm $DF) { $filename = '/tmp/eppdrs-srsplus-certtest-' . date('YmdHis') . '.log'; Log::RegisterLogger("File", "SRSPLUS", $filename); Log::SetDefaultLogger("SRSPLUS"); $fields = $DF->ListFields(); $conf_fields = $this->Config->ListFields(); $conf_fields['Login']->Value = $fields['Login']->Value; $conf_fields['Email']->Value = $fields['Email']->Value; $conf_fields['Host']->Value = $fields['Host']->Value; $conf_fields['GPGPass']->Value = $fields['GPGPass']->Value; $conf_fields['TestMode']->Value = '1'; $Module = new SRSPlusRegistryModule(new RegistryManifest(MODULES_PATH . "/registries/SRSPlus/module.xml")); $Module->InitializeModule('com', $this->Config); $Registry = new Registry($Module); $oplog = array(); //// // 1. Create contact $op = array('title' => "Create contact"); try { $Contact = $Registry->NewContactInstanceByGroup('generic'); $Contact->SetFieldList(array("firstname" => "Marat", "lastname" => "Komarov", "org" => "Webta", "street1" => "Testing str. 80", "street2" => "Drive 54", "city" => "Testing", "pc" => "90210", "cc" => "US", "sp" => "TX", "voice" => "+333.1234567", "fax" => "+333.1234567", "email" => "*****@*****.**")); $Registry->CreateContact($Contact); $Contact2 = $Registry->NewContactInstanceByGroup('generic'); $Contact2->SetFieldList(array("firstname" => "Marat", "lastname" => "Komarov", "org" => "Webta", "street1" => "Testing str. 80", "street2" => "Drive 54", "city" => "Testing", "pc" => "90210", "cc" => "US", "sp" => "TX", "voice" => "+333.1234567", "fax" => "+333.1234567", "email" => "*****@*****.**")); $Registry->CreateContact($Contact2); $op['ok'] = true; } catch (Exception $e) { $op['ok'] = false; $op['fail_reason'] = $e->getMessage(); } $oplog[] = $op; //// // 2. Get remote contact $op = array('title' => 'Get contact'); try { $RContact = $Registry->NewContactInstanceByGroup('generic'); $RContact->CLID = $Contact->CLID; $RContact = $Registry->GetRemoteContact($Contact); $contact_fields = $Contact->GetFieldList(); $rcontact_fields = $RContact->GetFieldList(); $op['ok'] = $contact_fields['first_name'] == $rcontact_fields['first_name'] && $contact_fields['last_name'] == $rcontact_fields['last_name']; if (!$op['ok']) { $op['fail_reason'] = 'Invalid module behavoiur'; } } catch (Exception $e) { $op['ok'] = false; $op['fail_reason'] = $e->getMessage(); } $oplog[] = $op; //// // 3. Update contact $op = array('title' => 'Edit contact'); try { $contact_fields['email'] = '*****@*****.**'; $contact_fields['voice'] = '+554.233456'; $Contact->SetFieldList($contact_fields); $Registry->UpdateContact($Contact); $op['ok'] = true; } catch (Exception $e) { $op['ok'] = false; $op['fail_reason'] = $e->getMessage(); } $oplog[] = $op; //// // 4. Create domain $op = array('title' => 'Create domain'); try { $Domain = $Registry->NewDomainInstance(); $Domain->Name = 'webta' . rand(100, 999); $Domain->SetContact($Contact, CONTACT_TYPE::REGISTRANT); $Domain->SetContact($Contact2, CONTACT_TYPE::TECH); $period = 1; $Registry->CreateDomain($Domain, $period); $op['ok'] = true; } catch (Exception $e) { $op['ok'] = false; $op['fail_reason'] = $e->getMessage(); } $oplog[] = $op; //// // 5. Get remote domain $op = array('title' => 'Whois'); try { $RDomain = $Registry->NewDomainInstance(); $RDomain->Name = $Domain->Name; $RDomain = $Registry->GetRemoteDomain($RDomain); $op['ok'] = date('Ymd', $RDomain->CreateDate) == date('Ymd', $Domain->CreateDate) && date('Ymd', $RDomain->ExpireDate) == date('Ymd', $Domain->ExpireDate); if (!$ok) { $op['fail_reason'] = 'Invalid module behavoiur'; } } catch (Exception $e) { $op['ok'] = false; $op['fail_reason'] = $e->getMessage(); } $oplog[] = $op; //// // 6. Renew domain $op = array('title' => 'Renew domain'); try { $old_expire_date = $Domain->ExpireDate; $Registry->RenewDomain($Domain, $extra = array('period' => 1)); $op['ok'] = date('Ymd', $Domain->ExpireDate) == date('Ymd', strtotime('+1 year', $old_expire_date)); if (!$ok) { $op['fail_reason'] = 'Invalid module behavoiur'; } } catch (Exception $e) { $op['ok'] = false; $op['fail_reason'] = $e->getMessage(); } $oplog[] = $op; //// // 7. Create nameserver host $op = array('title' => 'Create nameserver'); try { $NSHost = new NameserverHost("ns.{$Domain->GetHostName()}", '216.168.229.190'); $Registry->CreateNameserverHost($NSHost); $op['ok'] = true; } catch (Exception $e) { $op['ok'] = false; $op['fail_reason'] = $e->getMessage(); } $oplog[] = $op; //// // 8. Delete nameserver $op = array('title' => 'Delete nameserver'); try { $Registry->DeleteNameserverHost($NSHost); $op['ok'] = true; } catch (Exception $e) { $op['ok'] = false; $op['fail_reason'] = $e->getMessage(); } $oplog[] = $op; //// // 9. Delete domain $op = array('title' => 'Delete domain'); try { $Registry->DeleteDomain($Domain); $op['ok'] = true; } catch (Exception $e) { $op['ok'] = false; $op['fail_reason'] = $e->getMessage(); } $oplog[] = $op; $passed = true; foreach ($oplog as $op) { $passed = $passed && $op['ok']; } $out_filename = sprintf('eppdrs-srsplus-certtest-%s.log', $passed ? 'passed' : 'failed'); header('Content-type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . $out_filename . '"'); foreach ($oplog as $i => $op) { $n = $i + 1; print str_pad("{$n}. {$op['title']}", 60, ' ', STR_PAD_RIGHT); printf("[%s]\n", $op['ok'] ? 'OK' : 'FAIL'); if (!$op['ok']) { print "fail reason: {$op['fail_reason']}\n"; } } print "\n\n"; print file_get_contents($filename); unlink($filename); die; return; $chk = strlen($contact4->ClID) > 0; $this->assertTrue($chk, "Create billing contact"); //Try to fetch contact info $info = $registry->GetContactInfo($contact1->ClID); $this->assertTrue(is_array($info), "Check Registrant contact ID"); // Try to fetch contact info $info = $registry->GetContactInfo($contact2->ClID); $this->assertTrue(is_array($info), "Check Tech contact ID"); // Try to fetch contact info $info = $registry->GetContactInfo($contact3->ClID); $this->assertTrue(is_array($info), "Check Admin contact ID"); // Try to create domain name //$GRRegistry->SetCurrentTLD("gr"); $domainname = "newwebtatest" . rand(10000, 99999); $domain = $registry->CreateDomain($domainname, $contact1->ClID, $contact2->ClID, $contact3->ClID, $contact4->ClID, "2", array("ns.hostdad.com", "ns2.hostdad.com"), array()); $this->assertTrue(is_array($domain), "Create domain name"); $domainlock = $registry->DomainLock($domainname, 1, array()); $this->assertTrue($domainlock, "Domain locked"); /* $hostav = $registry->CheckHost("ns1.{$domainname}.ws"); if ($hostav == 1) { $hostcr = $registry->CreateHost("ns1.{$domainname}.ws", "66.235.185.21"); $this->assertTrue($hostcr, "Cannot create host 1"); } elseif (!$hostav) { $this->assertTrue($hostav, "Cannot check host 1"); } */ //$d_info = $registry->TransferApprove("webtatestt105", array()); //$d_info = $registry->TransferReject("webtatestt106", array()); //$d_info = $registry->DomainInfo("webtatestt103"); //$this->assertTrue(is_array($d_info), "Cannot get domain info"); /* $c_chk = $registry->CheckContact($contactid); $this->assertTrue($c_chk>0, "Cannot check contact id"); $updNS = $registry->UpdateDomainNS($domainname, array("ns.hostdad.com"), array("ns1.nsys.ws")); $this->assertTrue($updNS, "Cannot update domain NS"); */ //$GRRegistry->SetCurrentTLD("gr"); //$trnsf = $registry->UnCreateDomain("nwebtatest1", array("protocol"=>"5052")); //$this->assertTrue($trnsf, "Cannot approve transfer"); //$req = $registry->CheckTransferStatus("test", "1113383"); //$this->assertTrue($req, "Transfer Status Checked"); // Try to dissconnect $dsk = $registry->Disconnect(); $this->assertTrue($dsk, "Disconnect from EPP Server"); $registry->Disconnect(); //$registry->Disconnect(); }
function _testOTE() { $DbDomain = DBDomain::GetInstance(); $DbNameserverHost = DBNameserverHost::GetInstance(); // Cleanup previous execution traces try { $this->Module->Request("domain-delete", array("name" => "testeppart.kz")); } catch (Exception $e) { } try { $Domain = $DbDomain->LoadByName('testeppart', 'kz'); $this->Registry->DeleteDomain($Domain); } catch (Exception $e) { } try { $this->Module->Request("domain-delete", array("name" => "newtesteppart.kz")); } catch (Exception $e) { } try { $Domain = $DbDomain->LoadByName('newtesteppart', 'kz'); $this->Registry->DeleteDomain($Domain); } catch (Exception $e) { } // // 1. Create domain // $Contact = $this->Registry->NewContactInstance(CONTACT_TYPE::REGISTRANT); $Contact->SetFieldList($this->contact_fields); $this->Registry->CreateContact($Contact); $Domain = $this->Registry->NewDomainInstance(); $Domain->UserID = 39; $Domain->Name = 'testeppart'; $Domain->Period = 1; $Domain->SetContact($Contact, CONTACT_TYPE::REGISTRANT); $Domain->SetContact($Contact, CONTACT_TYPE::ADMIN); $Domain->SetContact($Contact, CONTACT_TYPE::TECH); $Domain->SetContact($Contact, CONTACT_TYPE::BILLING); $this->Registry->CreateDomain($Domain, $Domain->Period); $NS1 = new NameserverHost('ns1.testeppart.kz', '212.110.212.110'); $this->Registry->CreateNameserver($NS1); $NS2 = new NameserverHost('ns2.testeppart.kz', '212.110.111.111'); $this->Registry->CreateNameserver($NS2); $Changelist = $Domain->GetNameserverChangelist(); $Changelist->Add($NS1); $Changelist->Add($NS2); $this->Registry->UpdateDomainNameservers($Domain, $Changelist); $this->AssertTrue(date('Ymd', $Domain->ExpireDate) == date('Ymd', strtotime('+1 year')) && count($Domain->GetNameserverList()) == 2, 'Create domain'); // Reload domain from Db for correct operations $Domain = $DbDomain->LoadByName('testeppart', 'kz'); $DbNameserverHost->LoadList($Domain->ID); // // 2. Update nameserver host // $nslist = $Domain->GetNameserverList(); $NS2 = $nslist[1]; $NS2->IPAddr = '212.111.110.110'; $this->Registry->UpdateNameserverHost($NS2); $this->assertTrue(true, 'Update nameserver host'); // // 3. Create nameserver host // $Domain4Host = $this->Registry->NewDomainInstance(); $Domain->UserID = 39; $Domain->Name = 'newtesteppart'; $Domain->Period = 1; $Domain->SetContact($Contact, CONTACT_TYPE::REGISTRANT); $this->Registry->CreateDomain($Domain, $Domain->Period); $NS3 = new NameserverHost('ns.newtesteppart.kz', '211.211.211.211'); $this->Registry->CreateNameserverHost($NS3); $this->assertTrue(true, 'Create nameserver host'); // // 4. Add nameserver to domain // $Changelist = $Domain->GetNameserverChangelist(); $Changelist->Add($NS3); $this->Registry->UpdateDomainNameservers($Domain, $Changelist); $this->assertTrue(count($Domain->GetNameserverList()) == 3, 'Add nameserver to domain'); // // 5. Remove nameserver from domain // $nslist = $Domain->GetNameserverList(); $NS1 = $nslist[0]; $Changelist = $Domain->GetNameserverChangelist(); $Changelist->Remove($NS1); $this->Registry->UpdateDomainNameservers($Domain, $Changelist); $this->assertTrue(count($Domain->GetNameserverList()) == 2, 'Remove nameserver from domain'); // // 6. Delete nameserver host // try { $this->Registry->DeleteNameserverHost($NS1); $this->assertTrue(true, 'Delete nameserver host'); } catch (Exception $e) { $this->assertTrue(true, 'Delete nameserver host failed. Don\'t forget to cheat response code'); } // // 7. Update contact // $contact_fields = $Contact->GetFieldList(); $contact_fields['voice'] = '+380-555-7654321'; $this->Registry->UpdateContact($Contact); $this->assertTrue(true, 'Update contact'); // // 8. Start ingoing transfer // $TrnDomain = $this->Registry->NewDomainInstance(); $TrnDomain->Name = 'xyz1'; $TrnDomain->UserID = 39; $this->Registry->TransferRequest($TrnDomain, array('pw' => '123456')); $this->Registry->DeleteDomain($Domain); $this->Registry->DeleteContact($Contact); }