From 2f5d0efc65647281bfdb8d04d69d1b833fc594b3 Mon Sep 17 00:00:00 2001 From: Kyle Rames Date: Tue, 1 Apr 2014 11:01:48 -0500 Subject: [PATCH] [openstack|network] updated create_router and update_router use symbol based keys instead of string; removed dead code; this should address #2799 --- .../requests/network/create_router.rb | 14 +++++++------- .../requests/network/delete_router.rb | 2 +- .../requests/network/update_router.rb | 17 ++++++++--------- .../openstack/requests/network/router_tests.rb | 18 ++++++++---------- 4 files changed, 24 insertions(+), 27 deletions(-) diff --git a/lib/fog/openstack/requests/network/create_router.rb b/lib/fog/openstack/requests/network/create_router.rb index 38696abab..60ebe71b1 100644 --- a/lib/fog/openstack/requests/network/create_router.rb +++ b/lib/fog/openstack/requests/network/create_router.rb @@ -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 diff --git a/lib/fog/openstack/requests/network/delete_router.rb b/lib/fog/openstack/requests/network/delete_router.rb index 5f957aab3..5d8eabf15 100644 --- a/lib/fog/openstack/requests/network/delete_router.rb +++ b/lib/fog/openstack/requests/network/delete_router.rb @@ -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 diff --git a/lib/fog/openstack/requests/network/update_router.rb b/lib/fog/openstack/requests/network/update_router.rb index 9045df751..efdb538df 100644 --- a/lib/fog/openstack/requests/network/update_router.rb +++ b/lib/fog/openstack/requests/network/update_router.rb @@ -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 diff --git a/tests/openstack/requests/network/router_tests.rb b/tests/openstack/requests/network/router_tests.rb index a0df1a6e2..51bcb4b86 100644 --- a/tests/openstack/requests/network/router_tests.rb +++ b/tests/openstack/requests/network/router_tests.rb @@ -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',