test/models/storage/test_directories.rb in fog-azure-rm-0.1.0 vs test/models/storage/test_directories.rb in fog-azure-rm-0.1.1

- old
+ new

@@ -1,106 +1,61 @@ require File.expand_path '../../test_helper', __dir__ # Test class for Container Collection class TestDirectories < Minitest::Test def setup - Fog.mock! - @mock_service = Fog::Storage::AzureRM.new(storage_account_credentials) - @mock_directories = Fog::Storage::AzureRM::Directories.new(service: @mock_service) - Fog.unmock! @service = Fog::Storage::AzureRM.new(storage_account_credentials) - @blob_client = @service.instance_variable_get(:@blob_client) @directories = Fog::Storage::AzureRM::Directories.new(service: @service) - @get_metadata_result = ApiStub::Models::Storage::Directory.test_get_container_metadata - @list_results = ApiStub::Models::Storage::Directory.list_containers - @acl_results = ApiStub::Models::Storage::Directory.get_container_access_control_list - @mocked_response = mocked_storage_http_error + + @container_list = ApiStub::Models::Storage::Directory.container_list + @container = ApiStub::Models::Storage::Directory.container + @blob_list = ApiStub::Models::Storage::Directory.blob_list end def test_collection_methods methods = [ - :get_metadata, - :set_metadata, :all, :get ] methods.each do |method| assert_respond_to @directories, method end end - def test_all_method_http_exception - http_exception = -> (_option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) } - @blob_client.stub :list_containers, http_exception do - assert_raises(RuntimeError) do - @directories.all + def test_all_method_success + @service.stub :list_containers, @container_list do + dirs = @directories.all + assert_instance_of Fog::Storage::AzureRM::Directories, dirs + assert_equal @container_list.size, dirs.size + dirs.each do |directory| + assert_instance_of Fog::Storage::AzureRM::Directory, directory + assert_equal 'unknown', directory.attributes[:acl] end end end - def test_all_method_mock - assert_instance_of Fog::Storage::AzureRM::Directories, @mock_directories.all - assert @mock_directories.all.size >= 1 - @mock_directories.all.each do |directory| - assert_instance_of Fog::Storage::AzureRM::Directory, directory - end - end - - def test_get_container_metadata - @service.stub :get_container_metadata, @get_metadata_result do - assert_equal @get_metadata_result, @directories.get_metadata('Test-container') - end - end - - def test_get_container_metadata_http_exception - http_exception = -> (_container_name, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) } - @blob_client.stub :get_container_metadata, http_exception do - assert_raises(RuntimeError) do - @directories.get_metadata 'Test-container' + def test_get_method_success + @service.stub :get_container_properties, @container do + @service.stub :list_blobs, @blob_list do + directory = @directories.get('test_container') + assert_instance_of Fog::Storage::AzureRM::Directory, directory + assert_equal 'unknown', directory.attributes[:acl] end end end - def test_get_container_metadata_mock - directory = @mock_directories.get_metadata 'Test-container' - assert_instance_of Hash, directory - end - - def test_set_container_metadata - @service.stub :set_container_metadata, true do - assert @directories.set_metadata('Test-container', @get_metadata_result) + def test_get_method_container_not_found + exception = ->(*) { raise 'NotFound' } + @service.stub :get_container_properties, exception do + assert @directories.get('test_container').nil? end end - def test_set_container_metadata_http_exception - http_exception = -> (_container_name, _metadata, _option) { raise Azure::Core::Http::HTTPError.new(@mocked_response) } - @blob_client.stub :set_container_metadata, http_exception do + def test_get_method_exception + exception = ->(*) { raise 'Error' } + @service.stub :get_container_properties, exception do assert_raises(RuntimeError) do - @directories.set_metadata 'Test-container', @get_metadata_result - end - end - end - - def test_set_container_metadata_mock - assert @mock_directories.set_metadata('Test-container', @get_metadata_result) - end - - def test_all_method - directories = Fog::Storage::AzureRM::Directories.new(service: @service) - @service.stub :list_containers, @list_results do - assert_instance_of Fog::Storage::AzureRM::Directories, directories.all - assert directories.all.size >= 1 - directories.all.each do |directory| - assert_instance_of Fog::Storage::AzureRM::Directory, directory - end - end - end - - def test_get_method - @service.stub :list_containers, @list_results do - @service.stub :get_container_access_control_list, @acl_results do - assert_instance_of Fog::Storage::AzureRM::Directory, @directories.get('testcontainer1') - assert @directories.get('wrong-name').nil?, true + @directories.get('test_container') end end end end