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

[rackspace|dns] consistency fixes and tests and mark pending in mocked

This commit is contained in:
geemus 2011-09-23 10:42:46 -05:00
parent ce9a26e344
commit ba130055f3
2 changed files with 36 additions and 36 deletions

View file

@ -1,31 +1,31 @@
Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
@service = Fog::DNS[:rackspace]
pending if Fog.mocking?
tests('success on simple domain') do
domain_tests(@service, {: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 => 'basictestdomain.com', :email => 'hostmaster@basictestdomain.com', :records => [{:ttl => 300, :name => 'basictestdomain.com', :type => 'A', :data => '192.168.1.1'}]}) do
tests('list_domains').formats(LIST_DOMAIN_FORMAT) do
@service.list_domains.body
Fog::DNS[:rackspace].list_domains.body
end
tests("list_domains :limit => 5, :offset => 10, :domain => #{@domain_details.first['name']} --> All possible attributes").formats(LIST_DOMAIN_FORMAT) do
@service.list_domains(:limit => 5, :offset => 10, :domain => @domain_details.first['name']).body
Fog::DNS[:rackspace].list_domains(:limit => 5, :offset => 10, :domain => @domain_details.first['name']).body
end
tests("list_domain_details('#{@domain_id}')").formats(LIST_DOMAIN_DETAILS_WITH_RECORDS) do
@service.list_domain_details(@domain_id).body
Fog::DNS[:rackspace].list_domain_details(@domain_id).body
end
tests("modify_domain('#{@domain_id}', :ttl => 500, :comment => 'woot', :email => 'randomemail@randomhost.com')").succeeds do
response = @service.modify_domain @domain_id, :ttl => 500, :comment => 'woot', :email => 'randomemail@randomhost.com'
wait_for @service, response
response = Fog::DNS[:rackspace].modify_domain @domain_id, :ttl => 500, :comment => 'woot', :email => 'randomemail@randomhost.com'
wait_for Fog::DNS[:rackspace], response
end
end
end
tests('success for domain with multiple records') do
domain_tests(@service,
domain_tests(Fog::DNS[:rackspace],
{
:name => 'testdomainwithmultiplerecords.com',
:email => 'hostmaster@testdomainwithmultiplerecords.com',
@ -49,7 +49,7 @@ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
end
tests('success for multiple domains') do
domains_tests(@service,
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 => 'basictestdomain2.com', :email => 'hostmaster@basictestdomain2.com', :records => [{:ttl => 300, :name =>'basictestdomain2.com', :type => 'A', :data => '192.168.1.1'}]}
@ -57,7 +57,7 @@ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
end
tests('success for domain with subdomain') do
domains_tests(@service,
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 => 'subdomain.basictestdomain.com', :email => 'hostmaster@subdomain.basictestdomain.com', :records => [{:ttl => 300, :name =>'subdomain.basictestdomain.com', :type => 'A', :data => '192.168.1.1'}]}
@ -66,7 +66,7 @@ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
@root_domain_id = @domain_details.find { |domain| domain['name'] == 'basictestdomain.com' }['id']
tests("list_domain_details('#{@root_domain_id}', :show_records => false, :show_subdomains => false)") do
response = @service.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)
formats(LIST_DOMAIN_DETAILS_WITHOUT_RECORDS_AND_SUBDOMAINS_FORMAT) { response.body }
returns(nil) { response.body['recordsList'] }
@ -74,7 +74,7 @@ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
end
tests("list_domain_details('#{@root_domain_id}', :show_records => true, :show_subdomains => true)") do
response = @service.list_domain_details(@root_domain_id, :show_records => true, :show_subdomains => true)
response = Fog::DNS[:rackspace].list_domain_details(@root_domain_id, :show_records => true, :show_subdomains => true)
formats(LIST_DOMAIN_DETAILS_WITH_RECORDS_AND_SUBDOMAINS_FORMAT) { response.body }
returns(false) { response.body['recordsList'].nil? }
@ -82,14 +82,14 @@ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
end
tests("list_subdomains('#{@root_domain_id}')").formats(LIST_SUBDOMAINS_FORMAT) do
@service.list_subdomains(@root_domain_id).body
Fog::DNS[:rackspace].list_subdomains(@root_domain_id).body
end
tests("remove_domain('#{@root_domain_id}', :delete_subdomains => true)") do
wait_for @service, @service.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
(@service.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'] } & ['basictestdomain.com', 'subdomain.basictestdomain.com']).empty?
end
end
end
@ -98,22 +98,22 @@ Shindo.tests('Fog::DNS[:rackspace] | DNS requests', ['rackspace', 'dns']) do
tests( 'failure') do
tests('create_domain(invalid)').raises(Fog::Rackspace::Errors::BadRequest) do
wait_for @service, @service.create_domains([{:name => 'badtestdomain.com', :email => '', :records => [{:ttl => 300, :name => 'badtestdomain.com', :type => 'A', :data => '192.168.1.1'}]}])
wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].create_domains([{:name => 'badtestdomain.com', :email => '', :records => [{:ttl => 300, :name => 'badtestdomain.com', :type => 'A', :data => '192.168.1.1'}]}])
end
tests('list_domains :limit => 5, :offset => 8').raises(Fog::Rackspace::Errors::BadRequest) do
@service.list_domains :limit => 5, :offset => 8
Fog::DNS[:rackspace].list_domains :limit => 5, :offset => 8
end
tests('list_domain_details 34335353').raises(Fog::Rackspace::Errors::NotFound) do
@service.list_domain_details 34335353
Fog::DNS[:rackspace].list_domain_details 34335353
end
#tests('create_domains(#{domains})').raises(Fog::Rackspace::Errors::Conflict) do
# wait_for @service.create_domains(domains)
# wait_for Fog::DNS[:rackspace].create_domains(domains)
#end
#tests('remove_domain(34343435)').raises(Fog::DNS::Rackspace::DeleteFault) do
# @service.remove_domain 34343435
# Fog::DNS[:rackspace].remove_domain 34343435
#end
end
end

View file

@ -1,31 +1,31 @@
Shindo.tests('Fog::DNS[:rackspace] | dns records requests', ['rackspace', 'dns']) do
@service = Fog::DNS[:rackspace]
pending if Fog.mocking?
domain_tests(@service, {: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 => 'basictestdomain.com', :email => 'hostmaster@basictestdomain.com', :records => [{:ttl => 300, :name => 'basictestdomain.com', :type => 'A', :data => '192.168.1.1'}]}) do
tests('success on single record') do
tests("list_records(#{@domain_id})").formats(RECORD_LIST_FORMAT) do
@service.list_records(@domain_id).body
Fog::DNS[:rackspace].list_records(@domain_id).body
end
tests("add_records(#{@domain_id}, [{ :name => 'test1.basictestdomain.com', :type => 'A', :data => '192.168.2.1'}])").formats(RECORD_LIST_FORMAT) do
response = wait_for @service, @service.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.basictestdomain.com', :type => 'A', :data => '192.168.2.1'}])
@record_id = response.body['records'].first['id']
response.body
end
tests("list_record_details(#{@domain_id}, #{@record_id})").formats(RECORD_FORMAT) do
@service.list_record_details(@domain_id, @record_id).body
Fog::DNS[:rackspace].list_record_details(@domain_id, @record_id).body
end
tests("modify_record(#{@domain_id}, #{@record_id}, { :ttl => 500, :name => 'test2.basictestdomain.com', :data => '192.168.3.1' })").succeeds do
wait_for @service, @service.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.basictestdomain.com', :data => '192.168.3.1' })
end
tests("remove_record(#{@domain_id}, #{@record_id})").succeeds do
wait_for @service, @service.remove_record(@domain_id, @record_id)
wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].remove_record(@domain_id, @record_id)
end
end
@ -38,43 +38,43 @@ Shindo.tests('Fog::DNS[:rackspace] | dns records requests', ['rackspace', 'dns']
]
tests("add_records(#{@domain_id}, #{records_attributes})").formats(RECORD_LIST_FORMAT) do
response = wait_for @service, @service.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'] }
response.body
end
tests("remove_records(#{@domain_id}, #{@record_ids})").succeeds do
wait_for @service, @service.remove_records(@domain_id, @record_ids)
wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].remove_records(@domain_id, @record_ids)
end
end
tests( 'failure') do
tests("list_records('')").raises(ArgumentError) do
@service.list_records('')
Fog::DNS[:rackspace].list_records('')
end
tests("list_records('abc')").raises(Fog::Rackspace::Errors::NotFound) do
@service.list_records('abc')
Fog::DNS[:rackspace].list_records('abc')
end
tests("list_record_details(#{@domain_id}, '')").raises(ArgumentError) do
@service.list_record_details(@domain_id, '')
Fog::DNS[:rackspace].list_record_details(@domain_id, '')
end
tests("list_record_details(#{@domain_id}, 'abc')").raises(Fog::Rackspace::Errors::NotFound) do
@service.list_record_details(@domain_id, 'abc')
Fog::DNS[:rackspace].list_record_details(@domain_id, 'abc')
end
tests("remove_record(#{@domain_id}, '')").raises(ArgumentError) do
@service.remove_record(@domain_id, '')
Fog::DNS[:rackspace].remove_record(@domain_id, '')
end
tests("remove_record(#{@domain_id}, 'abc')").raises(Fog::Rackspace::Errors::NotFound) do
@service.remove_record(@domain_id, 'abc')
Fog::DNS[:rackspace].remove_record(@domain_id, 'abc')
end
tests("add_record(#{@domain_id}, [{ :name => '', :type => '', :data => ''}])").raises(Fog::Rackspace::Errors::BadRequest) do
@service.add_records(@domain_id, [{ :name => '', :type => '', :data => ''}])
Fog::DNS[:rackspace].add_records(@domain_id, [{ :name => '', :type => '', :data => ''}])
end
end
end