1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[rackspace|dns] Fixed request tests that need unique domain name

This commit is contained in:
Brian Hartsock 2011-11-10 19:34:04 -05:00
parent 36691a946b
commit ef9fae38d6
2 changed files with 29 additions and 23 deletions

View file

@ -1,9 +1,10 @@
Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
pending if Fog.mocking? pending if Fog.mocking?
domain_name = uniq_id + '.com'
tests('success on simple domain') do tests('success on simple domain') do
domain_tests(Fog::DNS[:rackspace], {:name => 'basictestdomain.com', :email => 'hostmaster@basictestdomain.com', :records => [{:ttl => 300, :name => 'basictestdomain.com', :type => 'A', :data => '192.168.1.1'}]}) do domain_tests(Fog::DNS[:rackspace], {:name => domain_name, :email => 'hostmaster@' + domain_name, :records => [{:ttl => 300, :name => domain_name, :type => 'A', :data => '192.168.1.1'}]}) do
tests('list_domains').formats(LIST_DOMAIN_FORMAT.reject {|key,value| key == 'links'}) do tests('list_domains').formats(LIST_DOMAIN_FORMAT.reject {|key,value| key == 'links'}) do
Fog::DNS[:rackspace].list_domains.body Fog::DNS[:rackspace].list_domains.body
@ -27,21 +28,21 @@ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
tests('success for domain with multiple records') do tests('success for domain with multiple records') do
domain_tests(Fog::DNS[:rackspace], domain_tests(Fog::DNS[:rackspace],
{ {
:name => 'testdomainwithmultiplerecords.com', :name => domain_name,
:email => 'hostmaster@testdomainwithmultiplerecords.com', :email => 'hostmaster@' + domain_name,
:records => :records =>
[ [
{ {
:ttl => 300, :ttl => 300,
:name => 'testdomainwithmultiplerecords.com', :name => domain_name,
:type => 'A', :type => 'A',
:data => '192.168.1.1' :data => '192.168.1.1'
}, },
{ {
:ttl => 3600, :ttl => 3600,
:name => 'testdomainwithmultiplerecords.com', :name => domain_name,
:type => 'MX', :type => 'MX',
:data => 'mx.testdomainwithmultiplerecords.com', :data => 'mx.' + domain_name,
:priority => 10 :priority => 10
} }
] ]
@ -49,21 +50,24 @@ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
end end
tests('success for multiple domains') do tests('success for multiple domains') do
domain1_name = uniq_id + '-1.com'
domain2_name = uniq_id + '-2.com'
domains_tests(Fog::DNS[:rackspace], domains_tests(Fog::DNS[:rackspace],
[ [
{:name => 'basictestdomain1.com', :email => 'hostmaster@basictestdomain1.com', :records => [{:ttl => 300, :name =>'basictestdomain1.com', :type => 'A', :data => '192.168.1.1'}]}, {:name => domain1_name, :email => 'hostmaster@' + domain1_name, :records => [{:ttl => 300, :name => domain1_name, :type => 'A', :data => '192.168.1.1'}]},
{:name => 'basictestdomain2.com', :email => 'hostmaster@basictestdomain2.com', :records => [{:ttl => 300, :name =>'basictestdomain2.com', :type => 'A', :data => '192.168.1.1'}]} {:name => domain2_name, :email => 'hostmaster@' + domain2_name, :records => [{:ttl => 300, :name => domain2_name, :type => 'A', :data => '192.168.1.1'}]}
]) ])
end end
tests('success for domain with subdomain') do tests('success for domain with subdomain') do
domains_tests(Fog::DNS[:rackspace], domains_tests(Fog::DNS[:rackspace],
[ [
{:name => 'basictestdomain.com', :email => 'hostmaster@basictestdomain.com', :records => [{:ttl => 300, :name =>'basictestdomain.com', :type => 'A', :data => '192.168.1.1'}]}, {:name => domain_name, :email => 'hostmaster@' + domain_name, :records => [{:ttl => 300, :name => domain_name, :type => 'A', :data => '192.168.1.1'}]},
{:name => 'subdomain.basictestdomain.com', :email => 'hostmaster@subdomain.basictestdomain.com', :records => [{:ttl => 300, :name =>'subdomain.basictestdomain.com', :type => 'A', :data => '192.168.1.1'}]} {:name => 'subdomain.' + domain_name, :email => 'hostmaster@subdomain.' + domain_name, :records => [{:ttl => 300, :name =>'subdomain.' + domain_name, :type => 'A', :data => '192.168.1.1'}]}
], true) do ], true) do
@root_domain_id = @domain_details.find { |domain| domain['name'] == 'basictestdomain.com' }['id'] @root_domain_id = @domain_details.find { |domain| domain['name'] == domain_name }['id']
tests("list_domain_details('#{@root_domain_id}', :show_records => false, :show_subdomains => false)") do tests("list_domain_details('#{@root_domain_id}', :show_records => false, :show_subdomains => false)") do
response = Fog::DNS[:rackspace].list_domain_details(@root_domain_id, :show_records => false, :show_subdomains => false) response = Fog::DNS[:rackspace].list_domain_details(@root_domain_id, :show_records => false, :show_subdomains => false)
@ -89,7 +93,7 @@ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].remove_domain(@root_domain_id, :delete_subdomains => true) wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].remove_domain(@root_domain_id, :delete_subdomains => true)
test('domain and subdomains were really deleted') do test('domain and subdomains were really deleted') do
(Fog::DNS[:rackspace].list_domains.body['domains'].collect { |domain| domain['name'] } & ['basictestdomain.com', 'subdomain.basictestdomain.com']).empty? (Fog::DNS[:rackspace].list_domains.body['domains'].collect { |domain| domain['name'] } & [domain_name, 'subdomain.' + domain_name]).empty?
end end
end end
end end

View file

@ -2,7 +2,9 @@ Shindo.tests('Fog::DNS[:rackspace] | dns records requests', ['rackspace', 'dns']
pending if Fog.mocking? pending if Fog.mocking?
domain_tests(Fog::DNS[:rackspace], {:name => 'basictestdomain.com', :email => 'hostmaster@basictestdomain.com', :records => [{:ttl => 300, :name => 'basictestdomain.com', :type => 'A', :data => '192.168.1.1'}]}) do domain_name = uniq_id + '.com'
domain_tests(Fog::DNS[:rackspace], {:name => domain_name, :email => 'hostmaster@' + domain_name, :records => [{:ttl => 300, :name => domain_name, :type => 'A', :data => '192.168.1.1'}]}) do
tests('success on single record') do tests('success on single record') do
@ -10,18 +12,18 @@ Shindo.tests('Fog::DNS[:rackspace] | dns records requests', ['rackspace', 'dns']
Fog::DNS[:rackspace].list_records(@domain_id).body Fog::DNS[:rackspace].list_records(@domain_id).body
end end
tests("add_records(#{@domain_id}, [{ :name => 'test1.basictestdomain.com', :type => 'A', :data => '192.168.2.1'}])").formats(RECORD_LIST_FORMAT) do tests("add_records(#{@domain_id}, [{ :name => 'test1.#{domain_name}', :type => 'A', :data => '192.168.2.1'}])").formats(RECORD_LIST_FORMAT) do
response = wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].add_records(@domain_id, [{ :name => 'test1.basictestdomain.com', :type => 'A', :data => '192.168.2.1'}]) response = wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].add_records(@domain_id, [{ :name => 'test1.' + domain_name, :type => 'A', :data => '192.168.2.1'}])
@record_id = response.body['records'].first['id'] @record_id = response.body['response']['records'].first['id']
response.body response.body['response']
end end
tests("list_record_details(#{@domain_id}, #{@record_id})").formats(RECORD_FORMAT) do tests("list_record_details(#{@domain_id}, #{@record_id})").formats(RECORD_FORMAT) do
Fog::DNS[:rackspace].list_record_details(@domain_id, @record_id).body Fog::DNS[:rackspace].list_record_details(@domain_id, @record_id).body
end end
tests("modify_record(#{@domain_id}, #{@record_id}, { :ttl => 500, :name => 'test2.basictestdomain.com', :data => '192.168.3.1' })").succeeds do tests("modify_record(#{@domain_id}, #{@record_id}, { :ttl => 500, :name => 'test2.#{domain_name}', :data => '192.168.3.1' })").succeeds do
wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].modify_record(@domain_id, @record_id, { :ttl => 500, :name => 'test2.basictestdomain.com', :data => '192.168.3.1' }) wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].modify_record(@domain_id, @record_id, { :ttl => 500, :name => 'test2.' + domain_name, :data => '192.168.3.1' })
end end
tests("remove_record(#{@domain_id}, #{@record_id})").succeeds do tests("remove_record(#{@domain_id}, #{@record_id})").succeeds do
@ -33,14 +35,14 @@ Shindo.tests('Fog::DNS[:rackspace] | dns records requests', ['rackspace', 'dns']
records_attributes = records_attributes =
[ [
{ :name => 'test1.basictestdomain.com', :type => 'A', :data => '192.168.2.1'}, { :name => 'test1.' + domain_name, :type => 'A', :data => '192.168.2.1'},
{ :name => 'basictestdomain.com', :type => 'MX', :priority => 10, :data => 'mx.basictestdomain.com'} { :name => domain_name, :type => 'MX', :priority => 10, :data => 'mx.' + domain_name}
] ]
tests("add_records(#{@domain_id}, #{records_attributes})").formats(RECORD_LIST_FORMAT) do tests("add_records(#{@domain_id}, #{records_attributes})").formats(RECORD_LIST_FORMAT) do
response = wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].add_records(@domain_id, records_attributes) response = wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].add_records(@domain_id, records_attributes)
@record_ids = response.body['records'].collect { |record| record['id'] } @record_ids = response.body['response']['records'].collect { |record| record['id'] }
response.body response.body['response']
end end
tests("remove_records(#{@domain_id}, #{@record_ids})").succeeds do tests("remove_records(#{@domain_id}, #{@record_ids})").succeeds do