class Fog::DNS::DNSimple::Mock
Public Class Methods
data()
click to toggle source
# File lib/fog/dnsimple/dns.rb, line 30 def self.data @data ||= Hash.new do |hash, key| hash[key] = { :domains => [], :records => {} } end end
new(options={})
click to toggle source
# File lib/fog/dnsimple/dns.rb, line 43 def initialize(options={}) @dnsimple_email = options[:dnsimple_email] @dnsimple_password = options[:dnsimple_password] end
reset()
click to toggle source
# File lib/fog/dnsimple/dns.rb, line 39 def self.reset @data = nil end
Public Instance Methods
create_domain(name)
click to toggle source
# File lib/fog/dnsimple/requests/dns/create_domain.rb, line 28 def create_domain(name) response = Excon::Response.new response.status = 201 body = { "domain" => { "auto_renew" => nil, "created_at" => Time.now.iso8601, "expires_on" => Date.today + 365, "id" => Fog::Mock.random_numbers(1).to_i, "language" => nil, "lockable" => true, "name" => name, "name_server_status" => "unknown", "registrant_id" => nil, "state" => "registered", "token" => "4fIFYWYiJayvL2tkf_mkBkqC4L+4RtYqDA", "unicode_name" => name, "updated_at" => Time.now.iso8601, "user_id" => 1, "record_count" => 0, "service_count" => 0, "private_whois?" => false } } self.data[:domains] << body response.body = body response end
create_record(domain, name, type, content, options = {})
click to toggle source
# File lib/fog/dnsimple/requests/dns/create_record.rb, line 49 def create_record(domain, name, type, content, options = {}) response = Excon::Response.new response.status = 201 body = { "record" => { "name" => name, "record_type" => type, "content" => content, "created_at" => Time.now.iso8601, "updated_at" => Time.now.iso8601, "id" => Fog::Mock.random_numbers(1).to_i, "domain_id" => domain }.merge(options) } self.data[:records][domain] ||= [] self.data[:records][domain] << body response.body = body response end
data()
click to toggle source
# File lib/fog/dnsimple/dns.rb, line 48 def data self.class.data[@dnsimple_email] end
delete_domain(name)
click to toggle source
# File lib/fog/dnsimple/requests/dns/delete_domain.rb, line 27 def delete_domain(name) self.data[:records].delete name self.data[:domains].reject! { |domain| domain["domain"]["name"] == name } response = Excon::Response.new response.status = 200 response end
delete_record(domain, record_id)
click to toggle source
# File lib/fog/dnsimple/requests/dns/delete_record.rb, line 22 def delete_record(domain, record_id) self.data[:records][domain].reject! { |record| record["record"]["id"] == record_id } response = Excon::Response.new response.status = 200 response end
get_domain(id)
click to toggle source
# File lib/fog/dnsimple/requests/dns/get_domain.rb, line 38 def get_domain(id) domain = self.data[:domains].detect { |domain| domain["domain"]["id"] == id } response = Excon::Response.new response.status = 200 response.body = domain response end
get_record(domain, record_id)
click to toggle source
# File lib/fog/dnsimple/requests/dns/get_record.rb, line 35 def get_record(domain, record_id) response = Excon::Response.new if self.data[:records].has_key? domain response.status = 200 response.body = self.data[:records][domain].detect { |record| record["record"]["id"] == record_id } if response.body.nil? response.status = 404 response.body = { "error" => "Couldn't find Record with id = #{record_id}" } end else response.status = 404 response.body = { "error" => "Couldn't find Domain with name = #{domain}" } end response end
list_domains()
click to toggle source
# File lib/fog/dnsimple/requests/dns/list_domains.rb, line 36 def list_domains response = Excon::Response.new response.status = 200 response.body = self.data[:domains] response end
list_records(domain)
click to toggle source
# File lib/fog/dnsimple/requests/dns/list_records.rb, line 33 def list_records(domain) response = Excon::Response.new response.status = 200 response.body = self.data[:records][domain] || [] response end
reset_data()
click to toggle source
# File lib/fog/dnsimple/dns.rb, line 52 def reset_data self.class.data.delete(@dnsimple_email) end
update_record(domain, record_id, options)
click to toggle source
# File lib/fog/dnsimple/requests/dns/update_record.rb, line 43 def update_record(domain, record_id, options) record = self.data[:records][domain].detect { |record| record["record"]["id"] == record_id } response = Excon::Response.new if record.nil? response.status = 400 else response.status = 200 record["record"].merge!(options) record["record"]["updated_at"] = Time.now.iso8601 response.body = record end response end