def test_list_artifacts(mock_client, root_path): repo = AzureBlobArtifactRepository( posixpath.join(TEST_BLOB_CONTAINER_ROOT, root_path), mock_client ) # Create some files to return dir_prefix = BlobPrefix() dir_prefix.name = posixpath.join(TEST_ROOT_PATH, "dir") blob_props = BlobProperties() blob_props.size = 42 blob_props.name = posixpath.join(TEST_ROOT_PATH, "file") mock_client.get_container_client().walk_blobs.return_value = MockBlobList( [dir_prefix, blob_props] ) artifacts = repo.list_artifacts() mock_client.get_container_client().walk_blobs.assert_called_with(name_starts_with="some/path/") assert artifacts[0].path == "dir" assert artifacts[0].is_dir is True assert artifacts[0].file_size is None assert artifacts[1].path == "file" assert artifacts[1].is_dir is False assert artifacts[1].file_size == 42
def test_list_artifacts_single_file(mock_client): repo = AzureBlobArtifactRepository(TEST_URI, mock_client) # Evaluate single file blob_props = BlobProperties() blob_props.name = posixpath.join(TEST_ROOT_PATH, "file") mock_client.get_container_client().walk_blobs.return_value = MockBlobList([blob_props]) assert repo.list_artifacts("file") == []
def test_list_artifacts(mock_client): repo = AzureBlobArtifactRepository(TEST_URI, mock_client) # Create some files to return dir_prefix = BlobPrefix() dir_prefix.name = TEST_ROOT_PATH + "/dir" blob_props = BlobProperties() blob_props.content_length = 42 blob = Blob(TEST_ROOT_PATH + "/file", props=blob_props) mock_client.list_blobs.return_value = MockBlobList([dir_prefix, blob]) artifacts = repo.list_artifacts() assert artifacts[0].path == "dir" assert artifacts[0].is_dir is True assert artifacts[0].file_size is None assert artifacts[1].path == "file" assert artifacts[1].is_dir is False assert artifacts[1].file_size == 42
def test_list_artifacts_empty(mock_client): repo = AzureBlobArtifactRepository(TEST_URI, mock_client) mock_client.get_container_client().walk_blobs.return_value = MockBlobList( []) assert repo.list_artifacts() == []