summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriwakeh <iwakeh@torproject.org>2016-10-20 15:29:40 +0200
committeriwakeh <iwakeh@torproject.org>2016-10-20 15:29:40 +0200
commit7302996e85275e06501ddeda0662ee773095a8e8 (patch)
tree8c2ecca2046e66d0a79c1e37eefdb5331ea127d5
parentddbea64df23d6b1262fdf1acf36be0839ad5fb5d (diff)
Verify all the filenames created in 'out'.task-18910-5
-rw-r--r--src/test/java/org/torproject/collector/sync/SyncPersistenceTest.java113
1 files changed, 92 insertions, 21 deletions
diff --git a/src/test/java/org/torproject/collector/sync/SyncPersistenceTest.java b/src/test/java/org/torproject/collector/sync/SyncPersistenceTest.java
index 04572ae..1c3307d 100644
--- a/src/test/java/org/torproject/collector/sync/SyncPersistenceTest.java
+++ b/src/test/java/org/torproject/collector/sync/SyncPersistenceTest.java
@@ -24,6 +24,7 @@ import java.io.File;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -38,29 +39,47 @@ public class SyncPersistenceTest {
return Arrays.asList(new Object[][] {
{"exit-lists/2016-09-20-13-02-00", // expected recent path
- "exit-lists/2016/09/20/2016-09-20-13-02-00", // expected out path
+ new String[]{"exit-lists/2016/09/20/2016-09-20-13-02-00"}, // expected out path
"2016-09-20-13-02-00", // test-filename in src/test/resources
Integer.valueOf(1), // expected recent count of descs files
Integer.valueOf(1)}, // expected output count of descs files
{"relay-descriptors/server-descriptors/"
+ "2016-10-05-19-06-17-server-descriptors",
- "relay-descriptors/server-descriptor/2016/10/e/3/"
+ new String[]{"relay-descriptors/server-descriptor/2016/10/e/3/"
+ "e381ce74a1a592f6d375706665aba6d4d22923f1",
+ "relay-descriptors/server-descriptor/2016/10/e/1/"
+ + "e1142337dee5b890393a0891acbde51577c2b743",
+ "relay-descriptors/server-descriptor/2016/10/5/b/"
+ + "5b202650802a916f1ec3a1ef36b98706e3747701",
+ "relay-descriptors/server-descriptor/2016/10/5/a/"
+ + "5a536243bf056cd7177ddfd8eb363fec978f3343",
+ "relay-descriptors/server-descriptor/2016/10/4/1/"
+ + "4179c50d3c764bc85c9d719e14e55a6cc232a10d",
+ "relay-descriptors/server-descriptor/2016/10/2/0/"
+ + "2091f76a8256e479cbe4f57be85f87909af07236",
+ "relay-descriptors/server-descriptor/2016/10/c/8/"
+ + "c8c3588019f7c896eb4185cfc1074cfe5eb405ea",
+ "relay-descriptors/server-descriptor/2016/10/b/b/"
+ + "bbca7ed70ba6ea88f995b067a004f5a4d0903d6e",
+ "relay-descriptors/server-descriptor/2016/10/d/a/"
+ + "dae8966ca600b46bc75ed5efb97286481e9a6876",
+ "relay-descriptors/server-descriptor/2016/10/a/0/"
+ + "a0ed9227a9413f140445002ce412f8828591e7ec"},
"relay-2016-10-02-16-05-00-server-descriptors",
Integer.valueOf(1),
Integer.valueOf(10)},
{"relay-descriptors/consensuses/2016-09-20-13-00-00-consensus",
- "relay-descriptors/consensus/2016/09/20/2016-09-20-13-00-00-consensus",
+ new String[]{"relay-descriptors/consensus/2016/09/20/2016-09-20-13-00-00-consensus"},
"2016-09-20-13-00-00-consensus",
Integer.valueOf(1),
Integer.valueOf(1)},
{"relay-descriptors/microdescs/consensus-microdesc/"
+ "2016-10-02-17-00-00-consensus-microdesc",
- "relay-descriptors/microdesc/2016/10/consensus-microdesc/"
- + "02/2016-10-02-17-00-00-consensus-microdesc",
+ new String[]{"relay-descriptors/microdesc/2016/10/consensus-microdesc/"
+ + "02/2016-10-02-17-00-00-consensus-microdesc"},
"2016-10-02-17-00-00-consensus-microdesc",
Integer.valueOf(1),
Integer.valueOf(1)},
@@ -68,9 +87,9 @@ public class SyncPersistenceTest {
{"relay-descriptors/votes/2016-10-01-16-00-00-vote"
+ "-0232AF901C31A04EE9848595AF9BB7620D4C5B2E"
+ "-FEE63B4AB7CE5A6BDD09E9A5C4F01BD61EB7E4F1",
- "relay-descriptors/vote/2016/10/01/2016-10-01-16-00-00-vote"
+ new String[]{"relay-descriptors/vote/2016/10/01/2016-10-01-16-00-00-vote"
+ "-0232AF901C31A04EE9848595AF9BB7620D4C5B2E"
- + "-FEE63B4AB7CE5A6BDD09E9A5C4F01BD61EB7E4F1",
+ + "-FEE63B4AB7CE5A6BDD09E9A5C4F01BD61EB7E4F1"},
"2016-10-01-16-00-00-vote-0232AF901C31A04EE9848595AF9BB7620D4C5B2E-"
+ "FEE63B4AB7CE5A6BDD09E9A5C4F01BD61EB7E4F1",
Integer.valueOf(1),
@@ -79,40 +98,88 @@ public class SyncPersistenceTest {
{"relay-descriptors/votes/2016-09-20-13-00-00-vote-"
+ "49015F787433103580E3B66A1707A00E60F2D15B"
+ "-60ADC6BEC262AE921A1037D54C8A3976367DBE87",
- "relay-descriptors/vote/2016/09/20/2016-09-20-13-00-00-vote-"
+ new String[]{"relay-descriptors/vote/2016/09/20/2016-09-20-13-00-00-vote-"
+ "49015F787433103580E3B66A1707A00E60F2D15B"
- + "-60ADC6BEC262AE921A1037D54C8A3976367DBE87",
+ + "-60ADC6BEC262AE921A1037D54C8A3976367DBE87"},
"2016-09-20-13-00-00-vote-49015F787433103580E3B66A1707A00E60F2D15B"
+ "-60ADC6BEC262AE921A1037D54C8A3976367DBE87",
Integer.valueOf(1),
Integer.valueOf(1)},
{"relay-descriptors/extra-infos/2016-10-05-19-06-17-extra-infos",
- "relay-descriptors/extra-info/2016/10/9/a/"
+ new String[]{"relay-descriptors/extra-info/2016/10/9/a/"
+ "9a4b819baeeeb6952ba737b752471b8637e75a5c",
+ "relay-descriptors/extra-info/2016/10/6/a/"
+ + "6a36d4ac36447e645c91ed63633a09197b7ad97e",
+ "relay-descriptors/extra-info/2016/10/e/b/"
+ + "eb73b59951bc1b0403be81220fb75be464954c31",
+ "relay-descriptors/extra-info/2016/10/4/e/"
+ + "4ef90738e54a403b265120dcbab7b494e0c68d3b",
+ "relay-descriptors/extra-info/2016/10/c/a/"
+ + "ca86eb96d22d188bb574b6b329ab21e0d9243516",
+ "relay-descriptors/extra-info/2016/10/8/2/"
+ + "82471deac7b251089a0878d29a228d4e323b823f",
+ "relay-descriptors/extra-info/2016/10/3/6/"
+ + "36691feb7cec6a9630b9ecd11a9b5dc61c147c5d",
+ "relay-descriptors/extra-info/2016/10/3/1/"
+ + "317586098443ed19b200417556a08ebc42133521",
+ "relay-descriptors/extra-info/2016/10/0/4/"
+ + "04219ada0be922fa7518d36b0d8e66afc55e8603"},
"relay-2016-10-02-08-05-00-extra-infos",
Integer.valueOf(1),
Integer.valueOf(9)},
{"bridge-descriptors/extra-infos/2016-10-05-19-06-17-extra-infos",
- "bridge-descriptors/2016/10/extra-infos/9/f/"
+ new String[]{"bridge-descriptors/2016/10/extra-infos/9/f/"
+ "9f88a7c2abe6665d204137ba8c2661d42e7c2829",
+ "bridge-descriptors/2016/10/extra-infos/e/e/"
+ + "eee0dc51b9a0a71ba73610123b13cea212b5cf83",
+ "bridge-descriptors/2016/10/extra-infos/e/1/"
+ + "e11c5239494bad2f6f3759f1104a2f6182beab4d",
+ "bridge-descriptors/2016/10/extra-infos/c/a/"
+ + "cab78ea0ffe9a7bc00527fef19f546c47d59f01a",
+ "bridge-descriptors/2016/10/extra-infos/3/4/"
+ + "3412a1dccd183a1c0bd1b748f34d88594be6ea52",
+ "bridge-descriptors/2016/10/extra-infos/3/1/"
+ + "31bcea576e77ba66150f7903b588c919adad849c",
+ "bridge-descriptors/2016/10/extra-infos/b/c/"
+ + "bcfcbb38b15e9b500b1a6e9b0bcbbce858660f17",
+ "bridge-descriptors/2016/10/extra-infos/7/a/"
+ + "7a93ca1edc543e747f1157bc3a557890335311a4",
+ "bridge-descriptors/2016/10/extra-infos/1/6/"
+ + "16d2b79fbd0a8567c6afd7585c775ac7745561e3",
+ "bridge-descriptors/2016/10/extra-infos/f/a/"
+ + "fabd8f614633ec2d2d405f2554e14381bc33d9cb"},
"bridge-2016-10-02-08-09-00-extra-infos",
Integer.valueOf(1),
Integer.valueOf(10) },
{"bridge-descriptors/server-descriptors/"
+ "2016-10-05-19-06-17-server-descriptors",
- "bridge-descriptors/2016/10/server-descriptors/"
- + "a/8/a8a5509ad1393c8f36abd2d8f0de1bb751926872",
+ new String[]{"bridge-descriptors/2016/10/server-descriptors"
+ + "/6/1/614414898ee133ee9bf6b10a9898cab518c5453e",
+ "bridge-descriptors/2016/10/server-descriptors/e/5/"
+ + "e5d46e88cb52d4fc0524398cfb7a6754394bc5e9",
+ "bridge-descriptors/2016/10/server-descriptors/5/b/"
+ + "5b20316b03afc98a165a219044b6fa6ca34c58ab",
+ "bridge-descriptors/2016/10/server-descriptors/c/3/"
+ + "c32acc52826b37e5319f1bac2f8812b33a772540",
+ "bridge-descriptors/2016/10/server-descriptors/7/8/"
+ + "784d6f9e82426072fbfc7a42f8f7133ba6ec1453",
+ "bridge-descriptors/2016/10/server-descriptors/a/8/"
+ + "a8a5509ad1393c8f36abd2d8f0de1bb751926872",
+ "bridge-descriptors/2016/10/server-descriptors/0/7/"
+ + "07d952e9020cb68a63d9156653a2e41af4af4d44",
+ "bridge-descriptors/2016/10/server-descriptors/0/a/"
+ + "0a65c636a20631bd5deb2f10dc664d2032303c46"},
"bridge-2016-10-02-16-09-00-server-descriptors",
Integer.valueOf(1),
Integer.valueOf(8)},
{"bridge-descriptors/statuses/"
+ "20160920-063816-1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1",
- "bridge-descriptors/2016/09/statuses/20/"
- + "20160920-063816-1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1",
+ new String[]{"bridge-descriptors/2016/09/statuses/20/"
+ + "20160920-063816-1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1"},
"20160920-063816-1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1",
Integer.valueOf(1),
Integer.valueOf(1)}
@@ -120,7 +187,7 @@ public class SyncPersistenceTest {
}
private String expectedRecentDir;
- private String expectedOutputDir;
+ private String[] expectedOutputDir;
private int outCount;
private int recentCount;
private String filename;
@@ -131,7 +198,7 @@ public class SyncPersistenceTest {
private Configuration conf = new Configuration();
/** This constructor receives the above defined data for each run. */
- public SyncPersistenceTest(String subRecent, String subOutput, String fn,
+ public SyncPersistenceTest(String subRecent, String[] subOutput, String fn,
int recentCount, int outCount) {
this.expectedRecentDir = subRecent;
this.expectedOutputDir = subOutput;
@@ -173,12 +240,16 @@ public class SyncPersistenceTest {
List<File> recentList = new ArrayList<>();
List<File> outputList = new ArrayList<>();
Files.walkFileTree(output.toPath(), new FileCollector(outputList));
- String dataUsed = "data used: " + expectedOutputDir + ", " + filename
+ String dataUsed = "data used: " + expectedOutputDir[0] + ", " + filename
+ ", resulting list: ";
assertEquals(dataUsed + outputList, outCount, outputList.size());
- assertEquals(dataUsed + outputList,
- output.toString() + "/" + expectedOutputDir,
- outputList.get(0).toString());
+ for (String exp : expectedOutputDir) {
+ File expFile = new File(output.toString(), exp);
+ assertTrue(dataUsed + outputList + "\nfollowing file missing:" + expFile,
+ outputList.remove(expFile));
+ }
+ assertTrue("output list should be empty now, but " + outputList,
+ outputList.isEmpty());
}
@Test()