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