1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
require File.expand_path '../../test_helper', __dir__
# Test class for Container Collection
class TestDirectories < Minitest::Test
def setup
@service = Fog::AzureRM::Storage.new(storage_account_credentials)
@directories = Fog::AzureRM::Storage::Directories.new(service: @service)
@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 = [
:all,
:get,
:check_container_exists
]
methods.each do |method|
assert_respond_to @directories, method
end
end
def test_all_method_success
@service.stub :list_containers, @container_list do
dirs = @directories.all
assert_instance_of Fog::AzureRM::Storage::Directories, dirs
assert_equal @container_list.size, dirs.size
dirs.each do |directory|
assert_instance_of Fog::AzureRM::Storage::Directory, directory
assert_equal 'unknown', directory.attributes[:acl]
end
end
end
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::AzureRM::Storage::Directory, directory
assert_equal 'unknown', directory.attributes[:acl]
end
end
end
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_get_method_exception
exception = ->(*) { raise 'Error' }
@service.stub :get_container_properties, exception do
assert_raises(RuntimeError) do
@directories.get('test_container')
end
end
end
def test_check_container_exists_true_response
@service.stub :check_container_exists, true do
assert @directories.check_container_exists('test_container')
end
end
def test_check_container_exists_false_response
@service.stub :check_container_exists, false do
assert !@directories.check_container_exists('test_container')
end
end
end
|