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

hook up zones model

This commit is contained in:
Michael Hale 2011-06-17 03:51:37 -07:00 committed by geemus
parent dd556d0a29
commit 95c8958caa
6 changed files with 23 additions and 16 deletions

View file

@ -14,8 +14,8 @@ module Fog
request_path 'fog/dns/requests/dynect'
request :session
request :zones
request :zone
request :list_zones
request :get_zone
class Real
def initialize(options={})

View file

@ -7,24 +7,25 @@ module Fog
class Zone < Fog::Model
identity :id
attribute :domain, :aliases => 'name'
attribute :created_at
attribute :updated_at
identity :zone
attribute :serial
attribute :zone_type
attribute :serial_style
def destroy
raise 'Not Implemented'
end
def records
@records ||= Fog::Dynect::DNS::Records.new(:zone => self, :connection => connection)
raise 'Not Implemented'
end
def nameservers
[]
raise 'Not Implemented'
end
def save
raise 'Not Implemented'
end
end

View file

@ -10,6 +10,12 @@ module Fog
model Fog::Dynect::DNS::Zone
def all
zone_names = connection.list_zones.body["zones"]
load(zone_names.map {|name|
{
"zone" => name
}
})
end
def get(zone_id)

View file

@ -17,7 +17,7 @@ module Fog
# * 'serial'<~Integer>
# * 'zone'<~String>
def zone(zone_name)
def get_zone(zone_name)
request(
:parser => Fog::Parsers::Dynect::DNS::Zone.new,
:expects => 200,
@ -29,7 +29,7 @@ module Fog
class Mock
def zone(zone_name)
def get_zone(zone_name)
response = Excon::Response.new
response.status = 200
response.body = {

View file

@ -5,7 +5,7 @@ module Fog
require 'fog/dns/parsers/dynect/zones'
def zones
def list_zones
request(
:parser => Fog::Parsers::Dynect::DNS::Zones.new,
:expects => 200,
@ -17,7 +17,7 @@ module Fog
class Mock
def zones
def list_zones
response = Excon::Response.new
response.status = 200
response.body = {

View file

@ -8,14 +8,14 @@ Shindo.tests('Dynect::dns | DNS requests', ['dynect', 'dns']) do
end
tests "list zones" do
response = Dynect[:dns].zones
response = Dynect[:dns].list_zones
returns(true) { response.body['zones'].first =~ /\.com/ && true }
returns(true) { response.status == 200 }
end
tests "get zone" do
first_zone_name = Dynect[:dns].zones.body['zones'].first
response = Dynect[:dns].zone(first_zone_name)
first_zone_name = Dynect[:dns].list_zones.body['zones'].first
response = Dynect[:dns].get_zone(first_zone_name)
returns(true) { response.body['zone'] == first_zone_name }
returns(true) { response.body['serial'] > 0 }
returns(true) { response.body['zone_type'] == "Primary" }