public void ImageGetDocumentInfoWithExtractTextTest()
        {
            var file = TestFiles.OnePageDocx;

            var request = new ImageGetDocumentInfoRequest
            {
                FileName          = file.FileName,
                Password          = null,
                ExtractText       = true,
                RenderComments    = null,
                RenderHiddenPages = null,
                Folder            = file.Folder,
                Storage           = null
            };

            var response = ViewerApi.ImageGetDocumentInfo(request);

            Assert.AreEqual("one-page.docx", response.FileName);
            Assert.AreEqual(".docx", response.Extension);
            Assert.AreEqual(1, response.Pages.Count);

            Assert.IsTrue(response.Pages[0].Rows.Count > 0);
            foreach (var row in response.Pages[0].Rows)
            {
                Assert.IsNotEmpty(row.Text);
                Assert.IsTrue(row.RowHeight > 0);
                Assert.IsTrue(row.RowWidth > 0);
                Assert.IsTrue(row.RowLeft > 0);
                Assert.IsTrue(row.RowTop > 0);
                Assert.IsTrue(row.TextCoordinates.Count > 0);
                Assert.IsTrue(row.CharacterCoordinates.Count > 0);
            }
        }
        public void ImageGetDocumentInfoReturnsFileNotFoundTest()
        {
            var request = new ImageGetDocumentInfoRequest
            {
                FileName          = "file-not-found.docx",
                Password          = null,
                RenderComments    = null,
                RenderHiddenPages = null,
                Folder            = null,
                Storage           = null,
            };

            var ex = Assert.Throws <ApiException>(() =>
            {
                ViewerApi.ImageGetDocumentInfo(request);
            });

            Assert.AreEqual("Can't find file with given name 'file-not-found.docx' and folder ''.", ex.Message);
        }
        public void ImageGetDocumentInfoWithRenderHiddenPagesTest()
        {
            var file = TestFiles.TwoHiddenPagesVsd;

            var request = new ImageGetDocumentInfoRequest
            {
                FileName          = file.FileName,
                Password          = null,
                RenderComments    = null,
                RenderHiddenPages = true,
                Folder            = file.Folder,
                Storage           = null,
            };

            var response = ViewerApi.ImageGetDocumentInfo(request);

            Assert.AreEqual("two-hidden-pages.vsd", response.FileName);
            Assert.AreEqual(".vsd", response.Extension);
            Assert.AreEqual(3, response.Pages.Count);
        }
        public void ImageGetDocumentInfoReturnsFailedToReadFileTest()
        {
            var file = TestFiles.CorruptedPdf;

            var request = new ImageGetDocumentInfoRequest
            {
                FileName          = file.FileName,
                Password          = null,
                RenderComments    = null,
                RenderHiddenPages = null,
                Folder            = file.Folder,
                Storage           = null,
            };

            var ex = Assert.Throws <ApiException>(() =>
            {
                ViewerApi.ImageGetDocumentInfo(request);
            });

            Assert.AreEqual("Failed to read specified file 'corrupted.pdf'. File can be corrupted or damaged.", ex.Message);
        }
        public void ImageGetDocumentInfoReturnsInvalidPasswordTest()
        {
            var file = TestFiles.PasswordProtectedDocx;

            var request = new ImageGetDocumentInfoRequest
            {
                FileName          = file.FileName,
                Password          = "******",
                RenderComments    = null,
                RenderHiddenPages = null,
                Folder            = file.Folder,
                Storage           = null,
            };

            var ex = Assert.Throws <ApiException>(() =>
            {
                ViewerApi.ImageGetDocumentInfo(request);
            });

            Assert.AreEqual("Password provided for file with name 'password-protected.docx' is incorrect.", ex.Message);
        }
        public void ImageGetDocumentInfoTest()
        {
            var file = TestFiles.FourPagesDocx;

            var request = new ImageGetDocumentInfoRequest
            {
                FileName          = file.FileName,
                Password          = null,
                ExtractText       = null,
                RenderComments    = null,
                RenderHiddenPages = null,
                Folder            = file.Folder,
                Storage           = null
            };

            var response = ViewerApi.ImageGetDocumentInfo(request);

            Assert.AreEqual("four-pages.docx", response.FileName);
            Assert.AreEqual(".docx", response.Extension);
            Assert.AreEqual(4, response.Pages.Count);
        }
        public void ImageGetDocumentInfoReturnsPasswordNotProvidedTest()
        {
            var file = TestFiles.PasswordProtectedDocx;

            var request = new ImageGetDocumentInfoRequest
            {
                FileName          = file.FileName,
                Password          = null,
                RenderComments    = null,
                RenderHiddenPages = null,
                Folder            = file.Folder,
                Storage           = null,
            };

            var ex = Assert.Throws <ApiException>(() =>
            {
                ViewerApi.ImageGetDocumentInfo(request);
            });

            Assert.AreEqual("The password was not provided. The specified file 'password-protected.docx' is password-protected.", ex.Message);
        }