Ejemplo n.º 1
0
        public void CreateMockedDocument([Values(null, "content")]string content) {
            var parent = Mock.Of<IFolder>();
            var name = "name";
            var id = "id";

            var underTest = new MockedDocument(name, content, id, parent).Object;

            Assert.That(underTest.Name, Is.EqualTo(name));
            Assert.That(underTest.Id, Is.EqualTo(id));
            Assert.That(underTest.Parents, Is.All.EqualTo(parent));
            Assert.That(underTest.CreatedBy, Is.Null.Or.Not.Null);
            Assert.That(underTest.LastModificationDate, Is.Null.Or.Not.Null);
            Assert.That(underTest.ContentStreamId, Is.Null);
            var contentStream = underTest.GetContentStream();
            if (content == null) {
                Assert.That(underTest.ContentStreamLength, Is.Null.Or.EqualTo(0));
                Assert.That(contentStream, Is.Null);
            } else {
                Assert.That(underTest.ContentStreamLength, Is.EqualTo(content.Length));
                Assert.That(contentStream, Is.Not.Null);
                Assert.That(contentStream.FileName, Is.EqualTo(name));
                Assert.That(contentStream.MimeType, Is.Not.Null);
                Assert.That(contentStream.Length, Is.EqualTo(underTest.ContentStreamLength));
                using (var stream = contentStream.Stream) {
                    Assert.That(stream.Length, Is.EqualTo(underTest.ContentStreamLength));
                }
            }
        }
Ejemplo n.º 2
0
        public void CreateMockedDocument([Values(null, "content")] string content)
        {
            var parent = Mock.Of <IFolder>();
            var name   = "name";
            var id     = "id";

            var underTest = new MockedDocument(name, content, id, parent).Object;

            Assert.That(underTest.Name, Is.EqualTo(name));
            Assert.That(underTest.Id, Is.EqualTo(id));
            Assert.That(underTest.Parents, Is.All.EqualTo(parent));
            Assert.That(underTest.CreatedBy, Is.Null.Or.Not.Null);
            Assert.That(underTest.LastModificationDate, Is.Null.Or.Not.Null);
            Assert.That(underTest.ContentStreamId, Is.Null);
            var contentStream = underTest.GetContentStream();

            if (content == null)
            {
                Assert.That(underTest.ContentStreamLength, Is.Null.Or.EqualTo(0));
                Assert.That(contentStream, Is.Null);
            }
            else
            {
                Assert.That(underTest.ContentStreamLength, Is.EqualTo(content.Length));
                Assert.That(contentStream, Is.Not.Null);
                Assert.That(contentStream.FileName, Is.EqualTo(name));
                Assert.That(contentStream.MimeType, Is.Not.Null);
                Assert.That(contentStream.Length, Is.EqualTo(underTest.ContentStreamLength));
                using (var stream = contentStream.Stream) {
                    Assert.That(stream.Length, Is.EqualTo(underTest.ContentStreamLength));
                }
            }
        }
Ejemplo n.º 3
0
        public void DeleteContentStream([Values(true, false, null)] bool?refresh, [Values("content", null)] string content)
        {
            var contentChangeHandler = new Mock <ContentChangeEventHandler>();
            var underTest            = new MockedDocument("name", content);
            var oldChangeToken       = underTest.Object.ChangeToken;

            underTest.ContentChanged += contentChangeHandler.Object;

            if (refresh == null)
            {
                Assert.That(underTest.Object.DeleteContentStream().Id, Is.EqualTo(underTest.Id));
            }
            else
            {
                Assert.That(underTest.Object.DeleteContentStream((bool)refresh).Id, Is.EqualTo(underTest.Id));
            }

            Assert.That(underTest.Object.ContentStreamLength, Is.Null.Or.EqualTo(0));
            Assert.That(underTest.Object.GetContentStream(), Is.Null);
            if (content != null)
            {
                Assert.That(underTest.Object.ChangeToken, Is.Not.EqualTo(oldChangeToken));
            }
            else
            {
                Assert.That(underTest.Object.ChangeToken, Is.EqualTo(oldChangeToken));
            }

            contentChangeHandler.Verify(h => h(underTest, It.Is <IChangeEvent>(e => e.ChangeType == ChangeType.Updated && e.ObjectId == underTest.Object.Id)), content == null ? Times.Never() : Times.Once());
        }
Ejemplo n.º 4
0
        public void MockedDocumentRaisesEventOnUpdateProperties()
        {
            var contentChangeHandler = new Mock <ContentChangeEventHandler>();
            var newDate        = DateTime.UtcNow.AddHours(1);
            var underTest      = new MockedDocument("name");
            var oldChangeToken = underTest.Object.ChangeToken;

            underTest.ContentChanged += contentChangeHandler.Object;

            underTest.Object.UpdateLastWriteTimeUtc(newDate);

            Assert.That(underTest.Object.LastModificationDate, Is.EqualTo(newDate).Within(1).Seconds);
            Assert.That(underTest.Object.ChangeToken, Is.Not.EqualTo(oldChangeToken));
            contentChangeHandler.Verify(h => h(underTest, It.Is <IChangeEvent>(e => e.ChangeType == ChangeType.Updated && e.ObjectId == underTest.Object.Id)), Times.Once());
        }
Ejemplo n.º 5
0
        public void DeleteObject([Values(true, false)] bool allVersions, [Values(true, false)] bool withSession)
        {
            var session = new MockedSession(new MockedRepository().Object.Id);
            var contentChangeHandler = new Mock <ContentChangeEventHandler>();
            var underTest            = new MockedDocument("name", "content")
            {
                MockedSession = withSession ? session : null
            };

            session.Objects.Add(underTest.Object.Id, underTest.Object);
            underTest.ContentChanged += contentChangeHandler.Object;

            underTest.Object.Delete(allVersions);

            Assert.That(session.Objects, withSession ? Is.Empty : Is.Not.Empty);
            contentChangeHandler.Verify(h => h(underTest, It.Is <IChangeEvent>(e => e.ChangeType == ChangeType.Deleted && e.ObjectId == underTest.Object.Id)), Times.Once());
        }
Ejemplo n.º 6
0
 public void ContentStreamRegion() {
     var content = "AB";
     var underTest = new MockedDocument("name", content, "id").Object;
     var firstPart = underTest.GetContentStream(null, 0, 1);
     var secondPart = underTest.GetContentStream(null, 1, 1);
     var fullContent = underTest.GetContentStream();
     Assert.That(firstPart.Length, Is.EqualTo(1));
     Assert.That(firstPart.FileName, Is.EqualTo(underTest.Name));
     Assert.That(secondPart.Length, Is.EqualTo(1));
     Assert.That(secondPart.FileName, Is.EqualTo(underTest.Name));
     Assert.That(fullContent.Length, Is.EqualTo(content.Length));
     using (var concatStream = new MemoryStream())
     using (var firstStream = firstPart.Stream)
     using (var secondStream = secondPart.Stream) {
         firstStream.CopyTo(concatStream);
         secondStream.CopyTo(concatStream);
         Assert.That(concatStream.ToArray(), Is.EqualTo(Encoding.UTF8.GetBytes(content)));
     }
 }
Ejemplo n.º 7
0
        public void ContentStreamRegion()
        {
            var content     = "AB";
            var underTest   = new MockedDocument("name", content, "id").Object;
            var firstPart   = underTest.GetContentStream(null, 0, 1);
            var secondPart  = underTest.GetContentStream(null, 1, 1);
            var fullContent = underTest.GetContentStream();

            Assert.That(firstPart.Length, Is.EqualTo(1));
            Assert.That(firstPart.FileName, Is.EqualTo(underTest.Name));
            Assert.That(secondPart.Length, Is.EqualTo(1));
            Assert.That(secondPart.FileName, Is.EqualTo(underTest.Name));
            Assert.That(fullContent.Length, Is.EqualTo(content.Length));
            using (var concatStream = new MemoryStream())
                using (var firstStream = firstPart.Stream)
                    using (var secondStream = secondPart.Stream) {
                        firstStream.CopyTo(concatStream);
                        secondStream.CopyTo(concatStream);
                        Assert.That(concatStream.ToArray(), Is.EqualTo(Encoding.UTF8.GetBytes(content)));
                    }
        }
Ejemplo n.º 8
0
        public void RenamingDocumentRaisesEvent([Values(true, false, null)] bool?refresh)
        {
            var contentChangeHandler = new Mock <ContentChangeEventHandler>();
            var newName        = "new name";
            var underTest      = new MockedDocument("name");
            var oldChangeToken = underTest.Object.ChangeToken;

            underTest.ContentChanged += contentChangeHandler.Object;

            if (refresh == null)
            {
                underTest.Object.Rename(newName);
            }
            else
            {
                underTest.Object.Rename(newName, (bool)refresh);
            }

            Assert.That(underTest.Name, Is.EqualTo(newName));
            Assert.That(underTest.Object.ChangeToken, Is.Not.EqualTo(oldChangeToken));
            contentChangeHandler.Verify(h => h(underTest, It.Is <IChangeEvent>(e => e.ChangeType == ChangeType.Updated && e.ObjectId == underTest.Object.Id)), Times.Once());
        }
Ejemplo n.º 9
0
        public void MockedDocumentRaisesEventOnUpdateProperties() {
            var contentChangeHandler = new Mock<ContentChangeEventHandler>();
            var newDate = DateTime.UtcNow.AddHours(1);
            var underTest = new MockedDocument("name");
            var oldChangeToken = underTest.Object.ChangeToken;
            underTest.ContentChanged += contentChangeHandler.Object;

            underTest.Object.UpdateLastWriteTimeUtc(newDate);

            Assert.That(underTest.Object.LastModificationDate, Is.EqualTo(newDate).Within(1).Seconds);
            Assert.That(underTest.Object.ChangeToken, Is.Not.EqualTo(oldChangeToken));
            contentChangeHandler.Verify(h => h(underTest, It.Is<IChangeEvent>(e => e.ChangeType == ChangeType.Updated && e.ObjectId == underTest.Object.Id)), Times.Once());
        }
Ejemplo n.º 10
0
        public void DeleteObject([Values(true, false)]bool allVersions, [Values(true, false)]bool withSession) {
            var session = new MockedSession(new MockedRepository().Object.Id);
            var contentChangeHandler = new Mock<ContentChangeEventHandler>();
            var underTest = new MockedDocument("name", "content") { MockedSession = withSession ? session : null };
            session.Objects.Add(underTest.Object.Id, underTest.Object);
            underTest.ContentChanged += contentChangeHandler.Object;

            underTest.Object.Delete(allVersions);

            Assert.That(session.Objects, withSession ? Is.Empty : Is.Not.Empty);
            contentChangeHandler.Verify(h => h(underTest, It.Is<IChangeEvent>(e => e.ChangeType == ChangeType.Deleted && e.ObjectId == underTest.Object.Id)), Times.Once());
        }
Ejemplo n.º 11
0
        public void DeleteContentStream([Values(true, false, null)]bool? refresh, [Values("content", null)]string content) {
            var contentChangeHandler = new Mock<ContentChangeEventHandler>();
            var underTest = new MockedDocument("name", content);
            var oldChangeToken = underTest.Object.ChangeToken;
            underTest.ContentChanged += contentChangeHandler.Object;

            if (refresh == null) {
                Assert.That(underTest.Object.DeleteContentStream().Id, Is.EqualTo(underTest.Id));
            } else {
                Assert.That(underTest.Object.DeleteContentStream((bool)refresh).Id, Is.EqualTo(underTest.Id));
            }

            Assert.That(underTest.Object.ContentStreamLength, Is.Null.Or.EqualTo(0));
            Assert.That(underTest.Object.GetContentStream(), Is.Null);
            if (content != null) {
                Assert.That(underTest.Object.ChangeToken, Is.Not.EqualTo(oldChangeToken));
            } else {
                Assert.That(underTest.Object.ChangeToken, Is.EqualTo(oldChangeToken));
            }

            contentChangeHandler.Verify(h => h(underTest, It.Is<IChangeEvent>(e => e.ChangeType == ChangeType.Updated && e.ObjectId == underTest.Object.Id)), content == null ? Times.Never() : Times.Once());
        }
Ejemplo n.º 12
0
        public void RenamingDocumentRaisesEvent([Values(true, false, null)]bool? refresh) {
            var contentChangeHandler = new Mock<ContentChangeEventHandler>();
            var newName = "new name";
            var underTest = new MockedDocument("name");
            var oldChangeToken = underTest.Object.ChangeToken;
            underTest.ContentChanged += contentChangeHandler.Object;

            if (refresh == null) {
                underTest.Object.Rename(newName);
            } else {
                underTest.Object.Rename(newName, (bool)refresh);
            }

            Assert.That(underTest.Name, Is.EqualTo(newName));
            Assert.That(underTest.Object.ChangeToken, Is.Not.EqualTo(oldChangeToken));
            contentChangeHandler.Verify(h => h(underTest, It.Is<IChangeEvent>(e => e.ChangeType == ChangeType.Updated && e.ObjectId == underTest.Object.Id)), Times.Once());
        }