diff --git a/lib/fog/rackspace/cdn.rb b/lib/fog/rackspace/cdn.rb index 3fb2e3fc7..901a3d2fc 100644 --- a/lib/fog/rackspace/cdn.rb +++ b/lib/fog/rackspace/cdn.rb @@ -35,6 +35,12 @@ module Fog "X-Trans-Id" end + # Returns true if CDN service is enabled + # @return [Boolean] + def enabled? + @enabled + end + def endpoint_uri(service_endpoint_url=nil) @uri = super(@rackspace_cdn_url || service_endpoint_url, :rackspace_cdn_url) end @@ -98,6 +104,7 @@ module Fog def initialize(options={}) @rackspace_username = options[:rackspace_username] + @enabled = false end def data @@ -137,12 +144,6 @@ module Fog end end - # Returns true if CDN service is enabled - # @return [Boolean] - def enabled? - @enabled - end - # Resets CDN connection def reload @cdn_connection.reset diff --git a/lib/fog/rackspace/models/storage/directory.rb b/lib/fog/rackspace/models/storage/directory.rb index a4e860290..05546dd74 100644 --- a/lib/fog/rackspace/models/storage/directory.rb +++ b/lib/fog/rackspace/models/storage/directory.rb @@ -166,8 +166,11 @@ module Fog def save requires :key create_or_update_container - raise Fog::Storage::Rackspace::Error.new("Directory can not be set as :public without a CDN provided") if public? && !cdn_enabled? - @urls = service.cdn.publish_container(self, public?) + if cdn_enabled? + @urls = service.cdn.publish_container(self, public?) + else + raise Fog::Storage::Rackspace::Error.new("Directory can not be set as :public without a CDN provided") if public? + end true end diff --git a/tests/rackspace/requests/storage/object_tests.rb b/tests/rackspace/requests/storage/object_tests.rb index 252c61ea0..1aee6d4db 100644 --- a/tests/rackspace/requests/storage/object_tests.rb +++ b/tests/rackspace/requests/storage/object_tests.rb @@ -1,8 +1,6 @@ Shindo.tests('Fog::Storage[:rackspace] | object requests', ["rackspace"]) do - unless Fog.mocking? - @directory = Fog::Storage[:rackspace].directories.create(:key => 'fogobjecttests') - end + @directory = Fog::Storage[:rackspace].directories.create(:key => 'fogobjecttests') module RackspaceStorageHelpers def override_path(path)