public void Parse_CombinedCode_ConvertsToMatchingFlagEnum()
        {
            var expectedPermission = QueueSharedAccessPermissions.Add | QueueSharedAccessPermissions.Read | QueueSharedAccessPermissions.Update | QueueSharedAccessPermissions.Write;

            var result = SharedAccessPermissionParse.ParseQueue("rwau");

            Assert.AreEqual(expectedPermission, result);
        }
コード例 #2
0
        public async Task ParseResponseBodyAsync(System.IO.Stream responseStream)
        {
            using (StreamReader sr = new StreamReader(responseStream))
            {
                var content = await sr.ReadToEndAsync();

                if (content.Length > 0)
                {
                    var xDoc = XDocument.Parse(content);
                    var signedIdentifiers = new List <QueueSignedIdentifier>();

                    foreach (var identifierResponse in xDoc.Root.Elements().Where(e => e.Name.LocalName.Equals("SignedIdentifier")))
                    {
                        var identifier = new QueueSignedIdentifier();
                        identifier.AccessPolicy = new QueueAccessPolicy();

                        foreach (var element in identifierResponse.Elements())
                        {
                            switch (element.Name.LocalName)
                            {
                            case "Id":
                                identifier.Id = element.Value;
                                break;

                            case "AccessPolicy":
                                foreach (var apElement in element.Elements())
                                {
                                    switch (apElement.Name.LocalName)
                                    {
                                    case "Permission":
                                        identifier.AccessPolicy.Permission = SharedAccessPermissionParse.ParseQueue(apElement.Value);
                                        break;

                                    case "Start":
                                        identifier.AccessPolicy.StartTime = Parsers.ParseUTCDate(apElement.Value);
                                        break;

                                    case "Expiry":
                                        identifier.AccessPolicy.Expiry = Parsers.ParseUTCDate(apElement.Value);
                                        break;
                                    }
                                }
                                break;
                            }
                        }

                        signedIdentifiers.Add(identifier);
                    }

                    SignedIdentifiers = new ReadOnlyCollection <QueueSignedIdentifier>(signedIdentifiers);
                }
            }
        }
        public void Parse_IndividualCode_ConvertsToMatchingEnum(string code, QueueSharedAccessPermissions expectedPermission)
        {
            var result = SharedAccessPermissionParse.ParseQueue(code);

            Assert.AreEqual(expectedPermission, result);
        }