1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/tests/dreamhost/requests/dns/dns_tests.rb
Sergio Rubio 94e44d44e5 [dreamhost|dns] added test helpers
Also, use a helper instead of hardcoding the test domain in the tests
2013-01-21 19:52:35 +01:00

120 lines
2.8 KiB
Ruby

Shindo.tests('Fog::DNS[:dreamhost] | DNS requests', ['dreamhost', 'dns']) do
# Create some domains for testing
%w{one two three}.each do |dom|
name = "#{dom}.#{test_domain}"
type = "A"
value = "1.2.3.4"
comment = "test"
response = Fog::DNS[:dreamhost].create_record(name, type, value, comment)
end
tests("success") do
test("list records") do
pending if Fog.mocking?
response = Fog::DNS[:dreamhost].list_records
if response.status == 200
@records = response.body["data"]
end
(response.status == 200) and (response.body.size == 2)
end
test("list all the records") do
pending if Fog.mocking?
Fog::DNS[:dreamhost].records.all.size > 0
end
test("list records from existing zone") do
pending if Fog.mocking?
Fog::DNS[:dreamhost].records.all(:zone => "#{test_domain}").size > 0
end
test("list records from nonexistent zone") do
pending if Fog.mocking?
Fog::DNS[:dreamhost].records.all(:zone => 'foozoone.local').size == 0
end
test("create an A resource record without comment") do
pending if Fog.mocking?
name = "foo.testing.#{test_domain}"
type = "A"
value = "1.2.3.4"
response = Fog::DNS[:dreamhost].create_record(name, type, value)
response.body['result'] == 'success'
end
test("create an A resource record with comment") do
pending if Fog.mocking?
name = "foo2.testing.#{test_domain}"
type = "A"
value = "1.2.3.4"
comment = "test"
response = Fog::DNS[:dreamhost].create_record(name, type, value, comment)
response.body['result'] == 'success'
end
test("create TXT record") do
pending if Fog.mocking?
name = "txt.testing.#{test_domain}"
type = "txt"
value = "foobar"
comment = "test"
response = Fog::DNS[:dreamhost].create_record(name, type, value, comment)
response.body['result'] == 'success'
end
test("TXT record found") do
pending if Fog.mocking?
rec = Fog::DNS[:dreamhost].records.get "txt.testing.#{test_domain}"
rec != nil
end
test("delete testing records") do
pending if Fog.mocking?
sleep 5
success = true
r = %w(
foo.testing.#{test_domain}
foo2.testing.#{test_domain}
txt.testing.#{test_domain}
)
r.each do |rec|
name = rec
@records.each do |record|
if record['record'] == name
response = Fog::DNS[:dreamhost].delete_record(name, record["type"], record["value"])
success = false if (response.body['result'] != 'success')
end
end
end
success
end
end
tests( 'failure') do
end
# helper
cleanup_records
end