コード例 #1
0
        public void Should_return_not_found_when_the_container_does_not_exist()
        {
            var getContainerInformation = new GetContainerInformation(storageUrl, "Idonthasacontainer");

            new GenerateRequestByType().Submit(getContainerInformation, authToken);
            Assert.Fail("Expecting a 404 error when trying to retrieve data about a non-existent container");
        }
コード例 #2
0
        public void Should_return_no_content_when_the_container_exists_and_the_name_contains_spaces()
        {
            const string containerName = "I am making a funky container";
            using(var testHelper = new TestHelper(authToken, storageUrl, containerName))
            {

                testHelper.PutItemInContainer(Constants.StorageItemName, Constants.StorageItemName);
                var getContainerInformation = new GetContainerInformation(storageUrl, containerName);

                var informationResponse = new GenerateRequestByType().Submit(getContainerInformation, authToken);
                Assert.That(informationResponse.Status, Is.EqualTo(HttpStatusCode.NoContent));
                Assert.That(informationResponse.Headers[Constants.XContainerObjectCount], Is.EqualTo("1"));
                Assert.That(informationResponse.Headers[Constants.XContainerBytesUsed], (Is.Not.Null));
                testHelper.DeleteItemFromContainer(Constants.StorageItemName);
            }
        }
コード例 #3
0
        public void Should_throw_an_exception_when_the_container_name_exceeds_the_maximum_allowed_length()
        {
            var getContainerInformation = new GetContainerInformation(storageUrl, new string('a', Constants.MaximumContainerNameLength + 1));

            new GenerateRequestByType().Submit(getContainerInformation, authToken);
            Assert.Fail("Expecting a ContainerNameException");
        }
コード例 #4
0
        private Container getContainerInformation(string containerName)
        {
            var getContainerInformation = new GetContainerInformation(StorageUrl, containerName);
            var getContainerInformationResponse = _requestfactory.Submit(getContainerInformation, AuthToken, _usercreds.ProxyCredentials);
            var container = new Container(containerName)
            {
                ByteCount =
                    long.Parse(
                    getContainerInformationResponse.Headers[Constants.X_CONTAINER_BYTES_USED]),
                ObjectCount =
                    long.Parse(
                    getContainerInformationResponse.Headers[
                        Constants.X_CONTAINER_STORAGE_OBJECT_COUNT])
            };

            foreach (var key in getContainerInformationResponse.Headers.AllKeys)
            {
                if (!String.IsNullOrEmpty(key))
                {
                    if ((key.StartsWith(Constants.X_CONTAINTER_META_DATA_HEADER)) &&
                        (key.Length > Constants.X_CONTAINTER_META_DATA_HEADER.Length))
                    {
                        string value = getContainerInformationResponse.Headers[key];
                        if (!String.IsNullOrEmpty(value))
                        {
                            // if the specified key already exists, it will be overwritten
                            // also note: we strip out the "X-Container-Meta-" prefix
                            container.Metadata[key.Substring(Constants.X_CONTAINTER_META_DATA_HEADER.Length)] = value;
                        }
                    }
                }
            }

            var url = GetContainerCdnUri(container);
            if (!string.IsNullOrEmpty(url)) url += "/";
            container.CdnUri = url;
            return container;
        }
コード例 #5
0
 private Container getContainerInformation(string containerName)
 {
     var getContainerInformation = new GetContainerInformation(StorageUrl, containerName);
     var getContainerInformationResponse = _requestfactory.Submit(getContainerInformation, AuthToken, _usercreds.ProxyCredentials);
     var container = new Container(containerName)
     {
         ByteCount =
             long.Parse(
             getContainerInformationResponse.Headers[Constants.X_CONTAINER_BYTES_USED]),
         ObjectCount =
             long.Parse(
             getContainerInformationResponse.Headers[
                 Constants.X_CONTAINER_STORAGE_OBJECT_COUNT])
     };
     var url = GetContainerCdnUri(container);
     if (!string.IsNullOrEmpty(url)) url += "/";
     container.CdnUri = url;
     return container;
 }
コード例 #6
0
 public void setup()
 {
     getContainerInformation = new GetContainerInformation("http://storageurl", "containername");
 }