Class: Fog::DNS::Google::Mock
- Inherits:
-
Object
- Object
- Fog::DNS::Google::Mock
show all
- Includes:
- Google::Shared
- Defined in:
- lib/fog/google/dns.rb,
lib/fog/google/requests/dns/get_managed_zone.rb,
lib/fog/google/requests/dns/list_managed_zones.rb,
lib/fog/google/requests/dns/create_managed_zone.rb,
lib/fog/google/requests/dns/delete_managed_zone.rb
Instance Attribute Summary
#api_url, #api_version, #project
Class Method Summary
collapse
Instance Method Summary
collapse
#build_excon_response, #initialize_google_client, #new_pk12_google_client, #request, #shared_initialize
Constructor Details
#initialize(options) ⇒ Mock
Returns a new instance of Mock.
Class Method Details
.data(api_version) ⇒ Object
26
27
28
|
# File 'lib/fog/google/dns.rb', line 26
def self.data(api_version)
@data ||= {}
end
|
.reset ⇒ Object
30
31
32
|
# File 'lib/fog/google/dns.rb', line 30
def self.reset
@data = nil
end
|
Instance Method Details
#create_managed_zone(zone_name, dns_name, descr = '') ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/fog/google/requests/dns/create_managed_zone.rb', line 7
def create_managed_zone(zone_name, dns_name, descr='')
id = Fog::Mock.random_numbers(19).to_s
object = {
"kind" => "dns#managedZone",
"id" => id,
"creationTime" => DateTime.now.strftime('%FT%T.%LZ'),
"name" => zone_name,
"dnsName" => dns_name,
"description" => descr,
"nameServers" => [
"ns-cloud-e1.googledomains.com.",
"ns-cloud-e2.googledomains.com.",
"ns-cloud-e3.googledomains.com.",
"ns-cloud-e4.googledomains.com.",
],
}
self.data[:managed_zones][:by_name][zone_name] = object
self.data[:managed_zones][:by_id][id] = object
build_excon_response(object)
end
|
#data(project = @project) ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/fog/google/dns.rb', line 34
def data(project=@project)
self.class.data(api_version)[project] ||= {
:managed_zones => {
:by_id => {},
:by_name => {},
},
}
end
|
#delete_managed_zone(zone_name_or_id) ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/fog/google/requests/dns/delete_managed_zone.rb', line 6
def delete_managed_zone(zone_name_or_id)
if self.data[:managed_zones][:by_name].has_key?(zone_name_or_id)
zone_name = zone_name_or_id
zone = self.data[:managed_zones][:by_name][zone_name]
zone_id = zone['id']
elsif self.data[:managed_zones][:by_id].has_key?(zone_name_or_id)
zone_id = zone_name_or_id
zone = self.data[:managed_zones][:by_name][zone_id]
zone_name = zone['name']
else
raise Fog::Errors::NotFound, "The 'parameters.managedZone' resource named '#{zone_name_or_id}' does not exist."
end
self.data[:managed_zones][:by_name].delete(zone_name)
self.data[:managed_zones][:by_id].delete(zone_id)
build_excon_response(nil)
end
|
#get_managed_zone(zone_name_or_id) ⇒ Object
6
7
8
9
10
11
12
13
14
|
# File 'lib/fog/google/requests/dns/get_managed_zone.rb', line 6
def get_managed_zone(zone_name_or_id)
if self.data[:managed_zones][:by_name].has_key?(zone_name_or_id)
build_excon_response(self.data[:managed_zones][:by_name][zone_name_or_id])
elsif self.data[:managed_zones][:by_id].has_key?(zone_name_or_id)
build_excon_response(self.data[:managed_zones][:by_id][zone_name_or_id])
else
raise Fog::Errors::NotFound, "The 'parameters.managedZone' resource named '#{zone_name_or_id}' does not exist."
end
end
|
#list_managed_zones ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/fog/google/requests/dns/list_managed_zones.rb', line 5
def list_managed_zones()
zones = self.data[:managed_zones][:by_id].values
build_excon_response({
"kind" => "dns#managedZonesListResponse",
"managedZones" => zones,
})
end
|
#reset_data ⇒ Object
43
44
45
|
# File 'lib/fog/google/dns.rb', line 43
def reset_data
self.class.data(api_version).delete(@project)
end
|