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:
parent
dd556d0a29
commit
95c8958caa
6 changed files with 23 additions and 16 deletions
|
@ -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={})
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 = {
|
|
@ -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 = {
|
|
@ -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" }
|
||||
|
|
Loading…
Add table
Reference in a new issue