public void FileContinuationTokenVerifySerializer() { XmlSerializer serializer = new XmlSerializer(typeof(FileContinuationToken)); XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; StringReader reader; string tokenxml; FileContinuationToken writeToken = new FileContinuationToken { NextMarker = Guid.NewGuid().ToString(), TargetLocation = StorageLocation.Primary }; FileContinuationToken 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 = (FileContinuationToken)serializer.Deserialize(reader); Assert.AreEqual(writeToken.NextMarker, readToken.NextMarker); // Read with token.ReadXml() using (XmlReader xmlReader = XmlReader.Create(new StringReader(tokenxml))) { readToken = new FileContinuationToken(); readToken.ReadXml(xmlReader); } Assert.AreEqual(writeToken.NextMarker, readToken.NextMarker); // 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 = (FileContinuationToken)serializer.Deserialize(reader); Assert.AreEqual(writeToken.NextMarker, readToken.NextMarker); // Read with token.ReadXml() using (XmlReader xmlReader = XmlReader.Create(new StringReader(sb.ToString()))) { readToken = new FileContinuationToken(); readToken.ReadXml(xmlReader); } Assert.AreEqual(writeToken.NextMarker, readToken.NextMarker); }
public void FileContinuationTokenVerifyXmlWithinXml() { CloudFileShare share = GetRandomShareReference(); try { share.Create(); List <string> fileNames = CreateFiles(share, 3); CloudFileDirectory rootDirectory = share.GetRootDirectoryReference(); FileContinuationToken token = null; do { FileResultSegment results = rootDirectory.ListFilesAndDirectoriesSegmented(1, token, null, null); int count = 0; foreach (IListFileItem fileItem in results.Results) { Assert.IsInstanceOfType(fileItem, typeof(CloudFile)); Assert.IsTrue(fileNames.Remove(((CloudFile)fileItem).Name)); count++; } Assert.IsTrue(count <= 1); token = results.ContinuationToken; 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)) { writer.WriteStartElement("test1"); writer.WriteStartElement("test2"); token.WriteXml(writer); writer.WriteEndElement(); writer.WriteEndElement(); } using (XmlReader reader = XmlReader.Create(new StringReader(sb.ToString()))) { token = new FileContinuationToken(); reader.ReadStartElement(); reader.ReadStartElement(); token.ReadXml(reader); reader.ReadEndElement(); reader.ReadEndElement(); } } }while (token != null); Assert.AreEqual(0, fileNames.Count); } finally { share.DeleteIfExists(); } }
public void FileContinuationTokenVerifyXmlWithinXml() { CloudFileShare share = GetRandomShareReference(); try { share.Create(); List<string> fileNames = CreateFiles(share, 3); CloudFileDirectory rootDirectory = share.GetRootDirectoryReference(); FileContinuationToken token = null; do { FileResultSegment results = rootDirectory.ListFilesAndDirectoriesSegmented(1, token, null, null); int count = 0; foreach (IListFileItem fileItem in results.Results) { Assert.IsInstanceOfType(fileItem, typeof(CloudFile)); Assert.IsTrue(fileNames.Remove(((CloudFile)fileItem).Name)); count++; } Assert.IsTrue(count <= 1); token = results.ContinuationToken; 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)) { writer.WriteStartElement("test1"); writer.WriteStartElement("test2"); token.WriteXml(writer); writer.WriteEndElement(); writer.WriteEndElement(); } using (XmlReader reader = XmlReader.Create(new StringReader(sb.ToString()))) { token = new FileContinuationToken(); reader.ReadStartElement(); reader.ReadStartElement(); token.ReadXml(reader); reader.ReadEndElement(); reader.ReadEndElement(); } } } while (token != null); Assert.AreEqual(0, fileNames.Count); } finally { share.DeleteIfExists(); } }
public void FileContinuationTokenVerifyEmptyTargetDeserializer() { FileContinuationToken fileContinuationToken = new FileContinuationToken { TargetLocation = null }; StringBuilder stringBuilder = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(stringBuilder)) { fileContinuationToken.WriteXml(writer); } string stringToken = stringBuilder.ToString(); FileContinuationToken parsedToken = new FileContinuationToken(); parsedToken.ReadXml(XmlReader.Create(new System.IO.StringReader(stringToken))); Assert.AreEqual(parsedToken.TargetLocation, null); }