From 4f14fe38069aceee66b1470b93196ce324a73861 Mon Sep 17 00:00:00 2001 From: Rupak Ganguly Date: Thu, 5 Apr 2012 19:04:26 -0400 Subject: [PATCH] Update mocking support for security groups. --- .../requests/compute/create_security_group.rb | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/lib/fog/hp/requests/compute/create_security_group.rb b/lib/fog/hp/requests/compute/create_security_group.rb index f4aa24ba2..cd1e6d7a6 100644 --- a/lib/fog/hp/requests/compute/create_security_group.rb +++ b/lib/fog/hp/requests/compute/create_security_group.rb @@ -51,18 +51,24 @@ module Fog def create_security_group(name, description) response = Excon::Response.new - response.status = 200 + if self.data[:security_groups].detect {|_,v| v['name'] == name} + response.status = 400 + response.body = { "badRequest" => {"message" => "Security group #{name} already exists", "code" => 400}} + raise(Excon::Errors.status_error({:expects => 200}, response)) + else + response.status = 200 + data = { + 'rules' => [], + 'id' => Fog::Mock.random_numbers(3).to_i, + 'tenant_id' => Fog::HP::Mock.user_id.to_s, + 'name' => name, + 'description' => description + } + self.data[:last_modified][:security_groups][data['id']] = Time.now + self.data[:security_groups][data['id']] = data - data = { - 'id' => Fog::Mock.random_numbers(3).to_s, - 'name' => name, - 'description' => description, - 'tenant_id' => Fog::HP::Mock.user_id.to_s - } - self.data[:last_modified][:security_groups][data['id']] = Time.now - self.data[:security_groups][data['id']] = data - - response.body = { 'security_group' => data } + response.body = { 'security_group' => data } + end response end