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

[openstack|network] updated create_router and update_router use symbol based keys instead of string; removed dead code; this should address #2799

This commit is contained in:
Kyle Rames 2014-04-01 11:01:48 -05:00
parent 7537f588df
commit 2f5d0efc65
4 changed files with 24 additions and 27 deletions

View file

@ -38,15 +38,15 @@ module Fog
response.status = 201
data = {
'router' => {
'id' => Fog::Mock.random_numbers(6).to_s,
'status' => options[:status] || 'ACTIVE',
'external_gateway_info' => options[:external_gateway_info],
'name' => name,
'admin_state_up' => options[:admin_state_up],
'tenant_id' => '6b96ff0cb17a4b859e1e575d221683d3'
:id => Fog::Mock.random_numbers(6).to_s,
:status => options[:status] || 'ACTIVE',
:external_gateway_info => options[:external_gateway_info],
:name => name,
:admin_state_up => options[:admin_state_up],
:tenant_id => '6b96ff0cb17a4b859e1e575d221683d3'
}
}
self.data[:routers][data['router']['id']] = data['router']
self.data[:routers][data['router'][:id]] = data['router']
response.body = data
response
end

View file

@ -15,7 +15,7 @@ module Fog
class Mock
def delete_router(router_id)
response = Excon::Response.new
if list_routers.body['routers'].map { |r| r['id'] }.include? router_id
if list_routers.body['routers'].find { |r| r[:id] == router_id }
self.data[:routers].delete(router_id)
response.status = 204
response

View file

@ -30,9 +30,9 @@ module Fog
egi = options[:external_gateway_info]
if egi
if egi.is_a?(Fog::Network::OpenStack::Network)
data['router']['external_gateway_info'] = { 'network_id' => egi.id }
elsif egi.is_a?(Hash) and egi['network_id']
data['router']['external_gateway_info'] = egi
data['router'][:external_gateway_info] = { :network_id => egi.id }
elsif egi.is_a?(Hash) and egi[:network_id]
data['router'][:external_gateway_info] = egi
else
raise ArgumentError.new('Invalid external_gateway_info attribute')
end
@ -54,16 +54,15 @@ module Fog
class Mock
def update_router(router_id, options = {})
response = Excon::Response.new
router = list_routers.body['routers'].detect do |_|
_['id'] == router_id
end
router = list_routers.body['routers'].find {|r| r[:id] == router_id}
if router
egi = options[:external_gateway_info]
if egi
if egi.is_a?(Fog::Network::OpenStack::Network)
router['external_gateway_info'] = { 'network_id' => egi.id }
elsif egi.is_a?(Hash) and egi['network_id']
router['external_gateway_info'] = egi
router[:external_gateway_info] = { :network_id => egi.id }
elsif egi.is_a?(Hash) and egi[:network_id]
router[:external_gateway_info] = egi
else
raise ArgumentError.new('Invalid external_gateway_info attribute')
end

View file

@ -1,12 +1,12 @@
Shindo.tests('Fog::Network[:openstack] | router requests', ['openstack']) do
@router_format = {
'id' => String,
'name' => String,
'status' => String,
'admin_state_up' => Fog::Boolean,
'tenant_id' => String,
'external_gateway_info' => Fog::Nullable::Hash,
:id => String,
:name => String,
:status => String,
:admin_state_up => Fog::Boolean,
:tenant_id => String,
:external_gateway_info => Fog::Nullable::Hash,
}
tests('success') do
@ -29,8 +29,7 @@ Shindo.tests('Fog::Network[:openstack] | router requests', ['openstack']) do
tests('#update_router').formats({'router' => @router_format}) do
router_id = Fog::Network[:openstack].routers.all.first.id
attributes = {}
{
attributes = {
:name => 'net_name',
:external_gateway_info => { :network_id => 'net_id' },
:status => 'ACTIVE',
@ -42,8 +41,7 @@ Shindo.tests('Fog::Network[:openstack] | router requests', ['openstack']) do
tests('#update_router_with_network').formats({'router' => @router_format}) do
router_id = Fog::Network[:openstack].routers.all.first.id
net = Fog::Network[:openstack].networks.first
attributes = {}
{
attributes = {
:name => 'net_name',
:external_gateway_info => net,
:status => 'ACTIVE',