diff --git a/lib/fog/aws/parsers/dns/list_resource_record_sets.rb b/lib/fog/aws/parsers/dns/list_resource_record_sets.rb index da93e97ca..93251472e 100644 --- a/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +++ b/lib/fog/aws/parsers/dns/list_resource_record_sets.rb @@ -38,8 +38,10 @@ module Fog case name when 'MaxItems' @response[name] = value.to_i - when 'IsTruncated', 'NextRecordName', 'NextRecordType' + when 'NextRecordName', 'NextRecordType' @response[name] = value + when 'IsTruncated' + @response[name] = value == 'true' end end end diff --git a/tests/aws/requests/dns/dns_tests.rb b/tests/aws/requests/dns/dns_tests.rb index 65983d912..224a4cd4a 100644 --- a/tests/aws/requests/dns/dns_tests.rb +++ b/tests/aws/requests/dns/dns_tests.rb @@ -224,17 +224,11 @@ Shindo.tests('Fog::DNS[:aws] | DNS requests', ['aws', 'dns']) do response.status == 200 } - test("list resource records") { + tests("list resource records").formats(AWS::DNS::Formats::LIST_RESOURCE_RECORD_SETS) { pending if Fog.mocking? # get resource records for zone - response = @r53_connection.list_resource_record_sets( @zone_id) - if response.status == 200 - record_sets= response.body['ResourceRecordSets'] - num_records= record_sets.count - end - - response.status == 200 + @r53_connection.list_resource_record_sets(@zone_id).body } test("delete #{@new_records.count} resource records") { diff --git a/tests/aws/requests/dns/helper.rb b/tests/aws/requests/dns/helper.rb new file mode 100644 index 000000000..96a5b33b5 --- /dev/null +++ b/tests/aws/requests/dns/helper.rb @@ -0,0 +1,21 @@ +class AWS + module DNS + module Formats + RESOURCE_RECORD_SET = { + "ResourceRecords" => Array, + "Name" => String, + "Type" => String, + "AliasTarget"=> Fog::Nullable::Hash, + "TTL" => Fog::Nullable::String + } + + LIST_RESOURCE_RECORD_SETS = { + "ResourceRecordSets" => [RESOURCE_RECORD_SET], + "IsTruncated" => Fog::Boolean, + "MaxItems" => Integer, + "NextRecordName" => Fog::Nullable::String, + "NextRecordType" => Fog::Nullable::String + } + end + end +end