@Override
    public DescriptiveUrlBag toUrl(final Path file) {
        final DescriptiveUrlBag list = new DescriptiveUrlBag();
        // In one hour
        list.add(this.toSignedUrl(file, (int) TimeUnit.HOURS.toSeconds(1)));
        // Default signed URL expiring in 24 hours.
        list.add(this.toSignedUrl(file, (int) TimeUnit.SECONDS.toSeconds(
                new HostPreferences(session.getHost()).getInteger("s3.url.expire.seconds"))));
        // 1 Week
        list.add(this.toSignedUrl(file, (int) TimeUnit.DAYS.toSeconds(7)));
        // 1 Month
        list.add(this.toSignedUrl(file, (int) TimeUnit.DAYS.toSeconds(30)));
        // 1 Year
        list.add(this.toSignedUrl(file, (int) TimeUnit.DAYS.toSeconds(365)));
        return list;
    }
@Test
    public void testDisconnected() throws Exception {
        final Host host = new Host(new AzureProtocol(), "kahy9boj3eib.blob.core.windows.net", new Credentials(
                PROPERTIES.get("azure.user"), PROPERTIES.get("azure.key")
        ));
        final AzureSession session = new AzureSession(host);
        final AzureUrlProvider provider = new AzureUrlProvider(session);
        final Path container = new Path("test.cyberduck.ch", EnumSet.of(Path.Type.directory, Path.Type.volume));
        final Path file = new Path(container, new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.file));
        assertEquals(DescriptiveUrl.EMPTY.getUrl(), provider.toUrl(file).find(DescriptiveUrl.Type.signed).getUrl());
    }