public void Should_Copy_Object_When_Not_Passing_Content_Length()
        {
            var provider     = new CloudFilesProvider();
            var copyResponse = provider.CopyObject(sourceContainerName, sourceObjectName, destinationContainerName, destinationObjectName, identity: _testIdentity);

            Assert.AreEqual(ObjectStore.ObjectCreated, copyResponse);
        }
Example #2
0
        public void Should_Not_Get_CDN_Headers_For_Container()
        {
            var provider = new CloudFilesProvider();
            var objectHeadersResponse = provider.GetContainerCDNHeader(containerName, identity: _testIdentity);

            Assert.Fail("Expected exception was not thrown.");
        }
Example #3
0
        public static IObjectStorageProvider CreateObjectStorageProvider()
        {
            var provider = new CloudFilesProvider(Bootstrapper.Settings.TestIdentity, Bootstrapper.Settings.DefaultRegion, CreateIdentityProvider(), null);

            SetUserAgent(provider);
            return(provider);
        }
Example #4
0
        public bool DownloadFromRackSpaceCloudFiles()
        {
            bool syncSucceeded = true;

            try
            {
                var cloudIdentity = new CloudIdentity()
                {
                    APIKey = this.apiKey, Username = this.username
                };
                var cloudFilesProvider = new CloudFilesProvider(cloudIdentity);
                IEnumerable <ContainerObject> containerObjectList = cloudFilesProvider.ListObjects(container);

                foreach (ContainerObject containerObject in containerObjectList)
                {
                    cloudFilesProvider.GetObjectSaveToFile(container, localSource, containerObject.Name, containerObject.Name);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception in downloading from rackspace: " + e);
                syncSucceeded = false;
            }
            return(syncSucceeded);
        }
Example #5
0
        public bool UploadToRackSpaceCloudFiles()
        {
            bool syncSucceeded = true;

            try
            {
                var cloudIdentity = new CloudIdentity()
                {
                    APIKey = this.apiKey, Username = this.username
                };
                var cloudFilesProvider = new CloudFilesProvider(cloudIdentity);

                List <string> fileList = AmazonS3Helper.ListFiles(localSource);

                foreach (string file in fileList)
                {
                    cloudFilesProvider.CreateObjectFromFile(container, file, Path.GetFileName(file));
                    // assuming this overwrites file if it exists.
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception in uploading to rackspace: " + e);
                syncSucceeded = false;
            }

            return(syncSucceeded);
        }
Example #6
0
        public RackspaceCloudFilesSynchronizer(RemoteInfo ri, string container, SynchronizeDirection syncDirection)
        {
            this.disposed      = false;
            this.username      = ri.accountName;
            this.apiKey        = ri.accountKey;
            this.syncDirection = syncDirection;
            this.container     = container;
            try
            {
                var cloudIdentity = new CloudIdentity()
                {
                    APIKey = this.apiKey, Username = this.username
                };
                var         cloudFilesProvider      = new CloudFilesProvider(cloudIdentity);
                ObjectStore createContainerResponse = cloudFilesProvider.CreateContainer(container);// assume default region for now

                if (!createContainerResponse.Equals(ObjectStore.ContainerCreated) && !createContainerResponse.Equals(ObjectStore.ContainerExists))
                {
                    Console.WriteLine("Container creation failed! Response: " + createContainerResponse.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception in creating container: " + e);
            }
        }
Example #7
0
        public void Should_Throw_An_Exception_When_Calling_Get_Objects_From_Container_And_Objects_Does_Not_Exist()
        {
            var provider = new CloudFilesProvider();

            provider.ListObjects(containerName, identity: _testIdentity);
            Assert.Fail("Expected exception was not thrown.");
        }
        public static void Main()
        {
            // Authenticate
            const string region = "DFW";
            var          user   = new CloudIdentity
            {
                Username = "******",
                APIKey   = "apikey"
            };
            var cloudfiles = new CloudFilesProvider(user);

            // Create a container
            cloudfiles.CreateContainer("images", region: region);
            // Make the container publically accessible
            long ttl = (long)TimeSpan.FromMinutes(15).TotalSeconds;

            cloudfiles.EnableCDNOnContainer("images", ttl, region);
            var    cdnInfo         = cloudfiles.GetContainerCDNHeader("images", region);
            string containerPrefix = cdnInfo.CDNUri;

            // Upload a file to a "subdirectory" in the container
            cloudfiles.CreateObjectFromFile("images", @"C:\tiny-logo.png", "thumbnails/logo.png", region: region);
            // Print out the URL of the file
            Console.WriteLine($"Uploaded to {containerPrefix}/thumbnails/logo.png");
            // Uploaded to http://abc123.r27.cf1.rackcdn.com/thumbnails/logo.png
        }
Example #9
0
        public void Should_Delete_Object_On_Destination_Container()
        {
            var headers  = new Dictionary <string, string>();
            var provider = new CloudFilesProvider();

            provider.DeleteObject(destinationContainerName, destinationObjectName, headers, identity: _testIdentity);
        }
Example #10
0
        static void Main(string[] args)
        {
            var identityUrl = new Uri("{identity-url}");
            var identity    = new CloudIdentityWithProject
            {
                Username    = "******",
                ProjectName = "{project-name}",
                Password    = "******"
            };
            const string region           = "RegionOne";
            var          identityProvider = new OpenStackIdentityProvider(identityUrl, identity);
            var          filesProvider    = new CloudFilesProvider(null, identityProvider);
            // Create versions container
            const string versionContainerName = "mycontainer-versions";

            filesProvider.CreateContainer(versionContainerName, region: region);
            // Create main container
            const string containerName = "mycontainer";
            var          headers       = new Dictionary <string, string>
            {
                { "X-Versions-Location", versionContainerName }
            };

            filesProvider.CreateContainer(containerName, headers, region);
            // Upload the initial file
            filesProvider.CreateObjectFromFile(containerName, @"C:\thing-v1.txt", "thing.txt", region: region);
            // Upload the same file again, this should not create a new version
            filesProvider.CreateObjectFromFile(containerName, @"C:\thing-v1.txt", "thing.txt", region: region);
            // Upload a new version of the file
            filesProvider.CreateObjectFromFile(containerName, @"C:\thing-v2.txt", "thing.txt", region: region);
        }
Example #11
0
        public void Should_Get_Headers_For_Object()
        {
            var provider = new CloudFilesProvider();
            var objectHeadersResponse = provider.GetObjectHeaders(containerName, objectName, identity: _testIdentity);

            Assert.IsNotNull(objectHeadersResponse);
        }
        public void Should_Purge_CDN_Enabled_Object_Multiple_Email_Notification()
        {
            var provider             = new CloudFilesProvider();
            var objectDeleteResponse = provider.PurgeObjectFromCDN(containerName, objectName, emailToList, identity: _testIdentity);

            Assert.AreEqual(ObjectStore.ObjectPurged, objectDeleteResponse);
        }
Example #13
0
        public void Should_Get_Objects_From_Container()
        {
            var provider = new CloudFilesProvider();
            var containerGetObjectsResponse = provider.ListObjects(containerName, identity: _testIdentity);

            Assert.IsNotNull(containerGetObjectsResponse);
        }
Example #14
0
        public void Should_Not_Create_Container_Already_Exists()
        {
            var provider = new CloudFilesProvider();
            var containerCreatedResponse = provider.CreateContainer(containerName, identity: _testIdentity);

            Assert.AreEqual(ObjectStore.ContainerExists, containerCreatedResponse);
        }
Example #15
0
        public void Should_Create_Destination_Container()
        {
            var provider = new CloudFilesProvider();
            var containerCreatedResponse = provider.CreateContainer(destinationContainerName, identity: _testIdentity);

            Assert.AreEqual(ObjectStore.ContainerCreated, containerCreatedResponse);
        }
Example #16
0
        public void Should_Return_Container_List()
        {
            var provider      = new CloudFilesProvider();
            var containerList = provider.ListContainers(identity: _testIdentity);

            Assert.IsNotNull(containerList);
            Assert.IsTrue(containerList.Any());
        }
Example #17
0
        public void Should_Get_MetaData_For_Object_After_Single_Delete_And_Include__Key4()
        {
            var provider = new CloudFilesProvider(_testIdentity);
            var metaData = provider.GetObjectMetaData(containerName, objectName);

            Assert.IsNotNull(metaData);
            Assert.AreEqual("value4", metaData.Where(x => x.Key.Equals("key4", StringComparison.OrdinalIgnoreCase)).FirstOrDefault().Value);
        }
Example #18
0
        public void Should_Delete_Object()
        {
            string fileName = objectName;
            var    headers  = new Dictionary <string, string>();
            var    provider = new CloudFilesProvider();

            provider.DeleteObject(containerName, fileName, headers, identity: _testIdentity);
        }
Example #19
0
        public void Should_Throw_Exception_When_Calling_Get_Headers_For_Object_And_Object_Name_Is_Empty()
        {
            string objectNameLocal       = string.Empty;
            var    provider              = new CloudFilesProvider();
            var    objectHeadersResponse = provider.GetObjectHeaders(containerName, objectNameLocal, identity: _testIdentity);

            Assert.Fail("Expected exception was not thrown.");
        }
Example #20
0
        public void Should_Get_CDN_Enabled_Containers()
        {
            var provider         = new CloudFilesProvider();
            var cdnContainerList = provider.ListCDNContainers(null, null, null, true, identity: _testIdentity);

            Assert.IsNotNull(cdnContainerList);
            Assert.IsTrue(cdnContainerList.All(x => x.CDNEnabled == true));
        }
Example #21
0
        public void Should_Return_Container_List_With_Internal_Url()
        {
            var provider      = new CloudFilesProvider();
            var containerList = provider.ListContainers(useInternalUrl: true, identity: _testIdentity);

            Assert.IsNotNull(containerList);
            Assert.IsTrue(containerList.Any());
        }
Example #22
0
        public void Should_Get_Headers_For_Account()
        {
            var provider = new CloudFilesProvider();
            var accountHeadersResponse = provider.GetAccountHeaders(identity: _testIdentity);

            Assert.IsNotNull(accountHeadersResponse);
            Assert.IsTrue(accountHeadersResponse.ContainsKey("x-account-object-count"));
        }
Example #23
0
        public void Should_Return_Container_List_With_End_Marker_Lower_Case()
        {
            var provider      = new CloudFilesProvider();
            var containerList = provider.ListContainers(null, null, "l", identity: _testIdentity);

            Assert.IsNotNull(containerList);
            Assert.IsTrue(containerList.Any());
        }
Example #24
0
        public void Should_Return_Container_List_With_Limit()
        {
            var provider      = new CloudFilesProvider();
            var containerList = provider.ListContainers(1, identity: _testIdentity);

            Assert.IsNotNull(containerList);
            Assert.AreEqual(1, containerList.Count());
        }
Example #25
0
        public void Should_Get_MetaData_For_Account()
        {
            var provider = new CloudFilesProvider();
            var accountHeadersResponse = provider.GetAccountMetaData(identity: _testIdentity);

            Assert.IsNotNull(accountHeadersResponse);
            Assert.IsTrue(accountHeadersResponse.ContainsKey("Temp-Url-Key"));
        }
Example #26
0
        public void Should_Get_Headers_For_Container()
        {
            var provider = new CloudFilesProvider();
            var objectHeadersResponse = provider.GetContainerHeader(containerName, identity: _testIdentity);

            Assert.IsNotNull(objectHeadersResponse);
            Assert.IsTrue(objectHeadersResponse.Any());
        }
        public void Should_Delete_Object_On_Destination_Container()
        {
            var headers        = new Dictionary <string, string>();
            var provider       = new CloudFilesProvider();
            var deleteResponse = provider.DeleteObject(destinationContainerName, destinationObjectName, headers, identity: _testIdentity);

            Assert.AreEqual(ObjectStore.ObjectDeleted, deleteResponse);
        }
Example #28
0
        public void Should_Add_CDN_Headers_For_Container()
        {
            var provider = new CloudFilesProvider();
            Dictionary <string, string> headers = new Dictionary <string, string>();

            headers.Add("X-Log-Retention", "false");
            provider.UpdateContainerCdnHeaders(containerName, headers, identity: _testIdentity);
        }
        public void Should_Get_MetaData_For_Container()
        {
            var provider = new CloudFilesProvider();
            var objectHeadersResponse = provider.GetContainerMetaData(containerName, identity: _testIdentity);

            Assert.IsNotNull(objectHeadersResponse);
            Assert.AreEqual("Action", objectHeadersResponse.Where(x => x.Key.Equals("Genre", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault().Value);
        }
        public void Should_Get_MetaData_For_Object1()
        {
            var provider = new CloudFilesProvider();
            var objectHeadersResponse = provider.GetObjectMetaData(containerName, objectName, identity: _testIdentity);

            Assert.IsNotNull(objectHeadersResponse);
            //Assert.AreEqual("Christian Bale", objectHeadersResponse.Where(x => x.Key.Equals("X-Object-Meta-Actor", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault().Value);
        }