Exemplo n.º 1
0
        public void GetPolicyFromRoot()
        {
            CloudBlobContainer container = blobUtil.CreateContainer("$root");

            Utility.ClearStoredAccessPolicy <CloudBlobContainer>(container);
            Utility.RawStoredAccessPolicy samplePolicy = Utility.SetUpStoredAccessPolicyData <SharedAccessBlobPolicy>()[0];

            try
            {
                CreateStoredAccessPolicy(samplePolicy.PolicyName, samplePolicy.Permission, samplePolicy.StartTime, samplePolicy.ExpiryTime, container);

                Test.Assert(CommandAgent.GetAzureStorageContainerStoredAccessPolicy(container.Name, samplePolicy.PolicyName),
                            "Get stored access policy in container should succeed");
                Test.Info("Get stored access policy:{0}", samplePolicy.PolicyName);

                SharedAccessBlobPolicy policy = Utility.SetupSharedAccessPolicy <SharedAccessBlobPolicy>(samplePolicy.StartTime, samplePolicy.ExpiryTime, samplePolicy.Permission);
                Collection <Dictionary <string, object> > comp = new Collection <Dictionary <string, object> >();
                comp.Add(Utility.ConstructGetPolicyOutput <SharedAccessBlobPolicy>(policy, samplePolicy.PolicyName));
                CommandAgent.OutputValidation(comp);
            }
            finally
            {
                Utility.ClearStoredAccessPolicy <CloudBlobContainer>(container);
            }
        }
Exemplo n.º 2
0
        public void GetPolicyVariations()
        {
            CloudBlobContainer container = blobUtil.CreateContainer();

            Utility.ClearStoredAccessPolicy <CloudBlobContainer>(container);

            try
            {
                //empty policies
                Test.Assert(CommandAgent.GetAzureStorageContainerStoredAccessPolicy(container.Name, null),
                            "Get stored access policy in container should succeed");
                Test.Info("Get stored access policy");
                if (lang == Language.PowerShell)
                {
                    Assert.IsTrue(CommandAgent.Output.Count == 0);
                }
                else
                {
                    Assert.IsTrue(CommandAgent.Output[0].Count == 0);
                }


                //get all policies
                List <Utility.RawStoredAccessPolicy>      samplePolicies = Utility.SetUpStoredAccessPolicyData <SharedAccessBlobPolicy>();
                Collection <Dictionary <string, object> > comp           = new Collection <Dictionary <string, object> >();
                foreach (Utility.RawStoredAccessPolicy samplePolicy in samplePolicies)
                {
                    CreateStoredAccessPolicy(samplePolicy.PolicyName, samplePolicy.Permission, samplePolicy.StartTime, samplePolicy.ExpiryTime, container, false);
                    SharedAccessBlobPolicy policy = Utility.SetupSharedAccessPolicy <SharedAccessBlobPolicy>(samplePolicy.StartTime, samplePolicy.ExpiryTime, samplePolicy.Permission);
                    comp.Add(Utility.ConstructGetPolicyOutput <SharedAccessBlobPolicy>(policy, samplePolicy.PolicyName));
                }

                Test.Assert(CommandAgent.GetAzureStorageContainerStoredAccessPolicy(container.Name, null),
                            "Get stored access policy in container should succeed");
                Test.Info("Get stored access policy");

                if (lang == Language.PowerShell)
                {
                    CommandAgent.OutputValidation(comp);
                }
                else
                {
                    Test.Assert(comp.Count == CommandAgent.Output[0].Count, "Comparison size: {0} = {1} Output size", comp.Count, CommandAgent.Output[0].Count);
                }
            }
            finally
            {
                blobUtil.RemoveContainer(container);
            }
        }
Exemplo n.º 3
0
        public void GetPolicyInvalid()
        {
            CloudBlobContainer container = blobUtil.CreateContainer();

            Utility.ClearStoredAccessPolicy <CloudBlobContainer>(container);

            try
            {
                string policyName = "policy";
                Test.Assert(!CommandAgent.GetAzureStorageContainerStoredAccessPolicy(container.Name, policyName),
                            "Get non-existing stored access policy should fail");
                if (lang == Language.PowerShell)
                {
                    ExpectedContainErrorMessage("Can not find policy");
                }
                else
                {
                    ExpectedContainErrorMessage(string.Format("The policy {0} doesn't exist", policyName));
                }

                string invalidName = FileNamingGenerator.GenerateValidASCIIOptionValue(65);
                Test.Assert(!CommandAgent.GetAzureStorageContainerStoredAccessPolicy(container.Name, invalidName),
                            "Get stored access policy with name length larger than 64 should fail");
                if (lang == Language.PowerShell)
                {
                    ExpectedContainErrorMessage("Can not find policy");
                }
                else
                {
                    ExpectedContainErrorMessage(string.Format("The policy {0} doesn't exist", invalidName));
                }

                Test.Assert(!CommandAgent.GetAzureStorageContainerStoredAccessPolicy("CONTAINER", policyName),
                            "Get stored access policy from invalid container name should fail");
                if (lang == Language.PowerShell)
                {
                    ExpectedContainErrorMessage("The specifed resource name contains invalid characters");
                }
                else
                {
                    ExpectedContainErrorMessage("Container name format is incorrect");
                }

                Test.Assert(!CommandAgent.GetAzureStorageContainerStoredAccessPolicy("$logs", policyName),
                            "Get stored access policy from invalid container name should fail");
                if (lang == Language.PowerShell)
                {
                    ExpectedContainErrorMessage("Can not find policy");
                }
                else
                {
                    ExpectedContainErrorMessage(string.Format("The policy {0} doesn't exist", policyName));
                }

                blobUtil.RemoveContainer(container);
                Test.Assert(!CommandAgent.GetAzureStorageContainerStoredAccessPolicy(container.Name, policyName),
                            "Get stored access policy from invalid container name should fail");
                ExpectedContainErrorMessage("The specified container does not exist.");
            }
            finally
            {
                blobUtil.RemoveContainer(container);
            }
        }