public void QueueContinuationTokenVerifyXmlFunctions() { CloudQueueClient client = GenerateCloudQueueClient(); string prefix = "dotnetqueuetest" + Guid.NewGuid().ToString("N"); List <string> queueNames = new List <string>(); int count = 30; for (int i = 0; i < count; i++) { queueNames.Add(prefix + i); client.GetQueueReference(prefix + i).Create(); } QueueContinuationToken token = null; List <CloudQueue> results = new List <CloudQueue>(); do { QueueResultSegment segment = client.ListQueuesSegmented(prefix, QueueListingDetails.None, 5, token, null, null); token = segment.ContinuationToken; results.AddRange(segment.Results); if (token != null) { Assert.AreEqual(null, token.GetSchema()); XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; StringBuilder sb = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(sb, settings)) { token.WriteXml(writer); } using (XmlReader reader = XmlReader.Create(new StringReader(sb.ToString()))) { token = new QueueContinuationToken(); token.ReadXml(reader); } } }while (token != null); foreach (CloudQueue queue in results) { if (queueNames.Remove(queue.Name)) { queue.Delete(); } else { Assert.Fail(); } } Assert.AreEqual <int>(0, queueNames.Count); }
public void QueueContinuationTokenVerifyEmptyTargetDeserializer() { QueueContinuationToken queueContinuationToken = new QueueContinuationToken { TargetLocation = null }; StringBuilder stringBuilder = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(stringBuilder)) { queueContinuationToken.WriteXml(writer); } string stringToken = stringBuilder.ToString(); QueueContinuationToken parsedToken = new QueueContinuationToken(); parsedToken.ReadXml(XmlReader.Create(new System.IO.StringReader(stringToken))); Assert.AreEqual(parsedToken.TargetLocation, null); }
public void QueueContinuationTokenVerifySerializer() { XmlSerializer serializer = new XmlSerializer(typeof(QueueContinuationToken)); XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; StringReader reader; string tokenxml; QueueContinuationToken writeToken = new QueueContinuationToken { NextMarker = Guid.NewGuid().ToString(), TargetLocation = StorageLocation.Primary }; QueueContinuationToken readToken = null; // Write with XmlSerializer using (StringWriter writer = new StringWriter()) { serializer.Serialize(writer, writeToken); tokenxml = writer.ToString(); } // Read with XmlSerializer reader = new StringReader(tokenxml); readToken = (QueueContinuationToken)serializer.Deserialize(reader); Assert.AreEqual(writeToken.NextMarker, readToken.NextMarker); // Read with token.ReadXml() using (XmlReader xmlReader = XmlReader.Create(new StringReader(tokenxml))) { readToken = new QueueContinuationToken(); readToken.ReadXml(xmlReader); } Assert.AreEqual(writeToken.NextMarker, readToken.NextMarker); // Read with token.ReadXml() using (XmlReader xmlReader = XmlReader.Create(new StringReader(tokenxml))) { readToken = new QueueContinuationToken(); readToken.ReadXml(xmlReader); } // Write with token.WriteXml StringBuilder sb = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(sb, settings)) { writeToken.WriteXml(writer); } // Read with XmlSerializer reader = new StringReader(sb.ToString()); readToken = (QueueContinuationToken)serializer.Deserialize(reader); Assert.AreEqual(writeToken.NextMarker, readToken.NextMarker); // Read with token.ReadXml() using (XmlReader xmlReader = XmlReader.Create(new StringReader(sb.ToString()))) { readToken = new QueueContinuationToken(); readToken.ReadXml(xmlReader); } Assert.AreEqual(writeToken.NextMarker, readToken.NextMarker); }