public void DownloadPublicFile()
    {
        MakePublicSample         makePublicSample         = new MakePublicSample();
        UploadFileSample         uploadFileSample         = new UploadFileSample();
        DownloadPublicFileSample downloadPublicFileSample = new DownloadPublicFileSample();

        uploadFileSample.UploadFile(_fixture.BucketNameGeneric, _fixture.FilePath, _fixture.Collect("HelloDownloadPublic.txt"));

        // Make it public
        makePublicSample.MakePublic(_fixture.BucketNameGeneric, "HelloDownloadPublic.txt");

        // Try downloading without creds
        try
        {
            downloadPublicFileSample.DownloadPublicFile(_fixture.BucketNameGeneric, "HelloDownloadPublic.txt", "HelloDownloadPublic.txt");
            Assert.Equal(File.ReadAllText(_fixture.FilePath), File.ReadAllText("HelloDownloadPublic.txt"));
        }
        finally
        {
            File.Delete("HelloDownloadPublic.txt");
        }
    }
Exemplo n.º 2
0
    public void MakePublic()
    {
        MakePublicSample  makePublicSample  = new MakePublicSample();
        UploadFileSample  uploadFileSample  = new UploadFileSample();
        GetMetadataSample getMetadataSample = new GetMetadataSample();

        uploadFileSample.UploadFile(_bucketFixture.BucketNameGeneric, _bucketFixture.FilePath, _bucketFixture.Collect("HelloMakePublic.txt"));

        var metadata = getMetadataSample.GetMetadata(_bucketFixture.BucketNameGeneric, "HelloMakePublic.txt");

        Assert.NotNull(metadata.MediaLink);

        // Before making the file public, fetching the medialink should throw an exception.
        WebClient webClient = new WebClient();

        Assert.Throws <WebException>(() => webClient.DownloadString(metadata.MediaLink));

        // Make it public and try fetching again.
        var medialink = makePublicSample.MakePublic(_bucketFixture.BucketNameGeneric, "HelloMakePublic.txt");
        var text      = webClient.DownloadString(medialink);

        Assert.Equal(File.ReadAllText(_bucketFixture.FilePath), text);
    }