From 75f2741f2c44cd7c8f2e9cd0f2d3012764343c8c Mon Sep 17 00:00:00 2001 From: David Pilato Date: Fri, 16 Sep 2016 17:22:39 +0200 Subject: [PATCH] Test password protected files Closes #229. --- .../FsCrawlerImplAllDocumentsIT.java | 8 ++++++++ .../resources/documents/test-protected.docx | Bin 0 -> 22016 bytes 2 files changed, 8 insertions(+) create mode 100644 src/test/resources/documents/test-protected.docx diff --git a/src/test/java/fr/pilato/elasticsearch/crawler/fs/test/integration/FsCrawlerImplAllDocumentsIT.java b/src/test/java/fr/pilato/elasticsearch/crawler/fs/test/integration/FsCrawlerImplAllDocumentsIT.java index fe427759f..5f9fd6702 100644 --- a/src/test/java/fr/pilato/elasticsearch/crawler/fs/test/integration/FsCrawlerImplAllDocumentsIT.java +++ b/src/test/java/fr/pilato/elasticsearch/crawler/fs/test/integration/FsCrawlerImplAllDocumentsIT.java @@ -165,6 +165,14 @@ public void testExtractFromWav() throws IOException { runSearch("test.wav"); } + /** + * Test case for https://github.com/dadoonet/fscrawler/issues/229 + */ + @Test + public void testProtectedDocument229() throws IOException { + runSearch("test-protected.docx"); + } + private SearchResponse runSearch(String filename) throws IOException { return runSearch(filename, null); } diff --git a/src/test/resources/documents/test-protected.docx b/src/test/resources/documents/test-protected.docx new file mode 100644 index 0000000000000000000000000000000000000000..6bb6907a1e1e4a60b9a13ec9c2b7db65058e32a6 GIT binary patch literal 22016 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 literal 0 HcmV?d00001