From 206d5827b7e00fd684e3c5de76295d84ebc9058d Mon Sep 17 00:00:00 2001 From: Robert Clark <rbclark@mitre.org> Date: Fri, 16 Aug 2013 11:05:46 -0400 Subject: [PATCH] Added delete_route_table mock. --- lib/fog/aws/requests/compute/delete_route.rb | 4 ++-- .../aws/requests/compute/delete_route_table.rb | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/lib/fog/aws/requests/compute/delete_route.rb b/lib/fog/aws/requests/compute/delete_route.rb index c80cb9a7b..736af5c63 100755 --- a/lib/fog/aws/requests/compute/delete_route.rb +++ b/lib/fog/aws/requests/compute/delete_route.rb @@ -40,8 +40,8 @@ module Fog response = Excon::Response.new response.status = 200 response.body = { - 'requestId'=> Fog::AWS::Mock.request_id, - 'return' => true + 'requestId'=> Fog::AWS::Mock.request_id, + 'return' => true } response elsif route['gatewayId'] == "local" diff --git a/lib/fog/aws/requests/compute/delete_route_table.rb b/lib/fog/aws/requests/compute/delete_route_table.rb index 500b61165..5515939b5 100755 --- a/lib/fog/aws/requests/compute/delete_route_table.rb +++ b/lib/fog/aws/requests/compute/delete_route_table.rb @@ -28,7 +28,23 @@ module Fog end class Mock - + def delete_route_table(route_table_id) + route_table = self.data[:route_tables].find { |routetable| routetable["routeTableId"].eql? route_table_id } + if !route_table.nil? && route_table['associationSet'].empty? + self.data[:route_tables].delete(route_table) + response = Excon::Response.new + response.status = 200 + response.body = { + 'requestId'=> Fog::AWS::Mock.request_id, + 'return' => true + } + response + elsif !route_table['associationSet'].empty? + raise Fog::Compute::AWS::Error, "DependencyViolation => The routeTable '#{route_table_id}' has dependencies and cannot be deleted." + elsif route_table.nil? + raise Fog::Compute::AWS::NotFound.new("The routeTable ID '#{route_table_id}' does not exist") + end + end end end end