
commit 5b89d7c3157d494a6c3d5220bad35a7cec9dce38 Author: Damian Johnson <atagar@torproject.org> Date: Sun Jul 7 09:29:13 2019 -0700 Separate CollecTor index into its own file There's no reason our EXAMPLE_INDEX constant needs to reside in our unit test. It actually makes more sense if it lives alongside the json file it represents. --- test/unit/descriptor/__init__.py | 1 + test/unit/descriptor/collector.py | 492 +-------------------------- test/unit/descriptor/data/__init__.py | 7 + test/unit/descriptor/data/collector_index.py | 492 +++++++++++++++++++++++++++ 4 files changed, 501 insertions(+), 491 deletions(-) diff --git a/test/unit/descriptor/__init__.py b/test/unit/descriptor/__init__.py index c5cf01e1..867ed0a4 100644 --- a/test/unit/descriptor/__init__.py +++ b/test/unit/descriptor/__init__.py @@ -7,6 +7,7 @@ import os __all__ = [ 'bandwidth_file', 'collector', + 'data', 'export', 'extrainfo_descriptor', 'microdescriptor', diff --git a/test/unit/descriptor/collector.py b/test/unit/descriptor/collector.py index 267a31a9..56ab19c1 100644 --- a/test/unit/descriptor/collector.py +++ b/test/unit/descriptor/collector.py @@ -10,6 +10,7 @@ import stem.prereq from stem.descriptor import Compression from stem.descriptor.collector import CollecTor from test.unit.descriptor import get_resource +from test.unit.descriptor.data.collector_index import EXAMPLE_INDEX try: # added in python 3.3 @@ -27,497 +28,6 @@ MINIMAL_INDEX = { MINIMAL_INDEX_JSON = b'{"index_created":"2017-12-25 21:06","build_revision":"56a303e","path":"https://collector.torproject.org"}' -EXAMPLE_INDEX = { - 'index_created': '2019-07-06 01:54', - 'build_revision': 'df98ac79', - 'path': 'https://collector.torproject.org', - 'directories': { - 'archive': { - 'directories': { - 'bridge-descriptors': { - 'directories': { - 'extra-infos': { - 'files': { - 'bridge-extra-infos-2008-05.tar.xz': { - 'size': 377644, - 'last_modified': '2016-09-04 09:21' - }, - 'bridge-extra-infos-2008-06.tar.xz': { - 'size': 600484, - 'last_modified': '2016-09-04 09:21' - }, - 'bridge-extra-infos-2008-07.tar.xz': { - 'size': 716320, - 'last_modified': '2016-09-04 09:21' - } - } - }, - 'server-descriptors': { - 'files': { - 'bridge-server-descriptors-2008-05.tar.xz': { - 'size': 205348, - 'last_modified': '2016-09-09 14:13' - }, - 'bridge-server-descriptors-2008-06.tar.xz': { - 'size': 342828, - 'last_modified': '2016-09-09 14:13' - }, - 'bridge-server-descriptors-2008-07.tar.xz': { - 'size': 374848, - 'last_modified': '2016-09-09 14:13' - } - } - }, - 'statuses': { - 'files': { - 'bridge-statuses-2008-05.tar.xz': { - 'size': 74792, - 'last_modified': '2016-09-14 21:11' - }, - 'bridge-statuses-2008-06.tar.xz': { - 'size': 123488, - 'last_modified': '2016-09-14 21:11' - }, - 'bridge-statuses-2008-07.tar.xz': { - 'size': 143836, - 'last_modified': '2016-09-14 21:11' - } - } - } - } - }, - 'bridge-pool-assignments': { - 'files': { - 'bridge-pool-assignments-2010-09.tar.xz': { - 'size': 32804, - 'last_modified': '2012-05-31 10:21' - }, - 'bridge-pool-assignments-2010-10.tar.xz': { - 'size': 304684, - 'last_modified': '2012-05-31 10:21' - }, - 'bridge-pool-assignments-2010-11.tar.xz': { - 'size': 292228, - 'last_modified': '2012-05-31 10:21' - } - } - }, - 'exit-lists': { - 'files': { - 'exit-list-2010-02.tar.xz': { - 'size': 272008, - 'last_modified': '2012-05-31 18:57' - }, - 'exit-list-2010-03.tar.xz': { - 'size': 1247484, - 'last_modified': '2012-05-31 18:57' - }, - 'exit-list-2010-04.tar.xz': { - 'size': 1139896, - 'last_modified': '2012-05-31 18:57' - } - } - }, - 'relay-descriptors': { - 'files': { - 'certs.tar.xz': { - 'size': 144696, - 'last_modified': '2019-07-03 03:29' - } - }, - 'directories': { - 'bandwidths': { - 'files': { - 'bandwidths-2019-05.tar.xz': { - 'size': 50385816, - 'last_modified': '2019-06-07 08:05' - }, - 'bandwidths-2019-06.tar.xz': { - 'size': 105881156, - 'last_modified': '2019-07-03 07:30' - }, - 'bandwidths-2019-07.tar.xz': { - 'size': 11374436, - 'last_modified': '2019-07-03 07:12' - } - } - }, - 'consensuses': { - 'files': { - 'consensuses-2007-10.tar.xz': { - 'size': 1061648, - 'last_modified': '2012-05-15 14:35' - }, - 'consensuses-2007-11.tar.xz': { - 'size': 6810308, - 'last_modified': '2012-05-15 14:35' - }, - 'consensuses-2007-12.tar.xz': { - 'size': 8106968, - 'last_modified': '2012-05-15 14:35' - } - } - }, - 'extra-infos': { - 'files': { - 'extra-infos-2007-08.tar.xz': { - 'size': 3016916, - 'last_modified': '2016-06-23 09:53' - }, - 'extra-infos-2007-09.tar.xz': { - 'size': 6459884, - 'last_modified': '2016-06-23 09:54' - }, - 'extra-infos-2007-10.tar.xz': { - 'size': 7326564, - 'last_modified': '2016-06-23 09:54' - } - } - }, - 'microdescs': { - 'files': { - 'microdescs-2014-01.tar.xz': { - 'size': 7515396, - 'last_modified': '2014-02-07 03:59' - }, - 'microdescs-2014-02.tar.xz': { - 'size': 21822944, - 'last_modified': '2014-03-07 04:54' - }, - 'microdescs-2014-03.tar.xz': { - 'size': 24201436, - 'last_modified': '2014-04-07 03:54' - } - } - }, - 'server-descriptors': { - 'files': { - 'server-descriptors-2005-12.tar.xz': { - 'size': 1348620, - 'last_modified': '2016-06-24 08:12' - }, - 'server-descriptors-2006-02.tar.xz': { - 'size': 28625408, - 'last_modified': '2016-06-24 08:14' - }, - 'server-descriptors-2006-03.tar.xz': { - 'size': 49548736, - 'last_modified': '2016-06-24 08:17' - } - } - }, - 'statuses': { - 'files': { - 'statuses-2005-12.tar.xz': { - 'size': 1468844, - 'last_modified': '2016-06-25 11:50' - }, - 'statuses-2006-01.tar.xz': { - 'size': 3344280, - 'last_modified': '2016-06-25 11:52' - }, - 'statuses-2006-02.tar.xz': { - 'size': 4006336, - 'last_modified': '2016-06-25 11:54' - } - } - }, - 'tor': { - 'files': { - 'tor-2004-05.tar.xz': { - 'size': 386672, - 'last_modified': '2012-05-18 14:26' - }, - 'tor-2004-06.tar.xz': { - 'size': 1087980, - 'last_modified': '2012-05-18 14:26' - }, - 'tor-2004-07.tar.xz': { - 'size': 1366568, - 'last_modified': '2012-05-18 14:26' - } - } - }, - 'votes': { - 'files': { - 'votes-2007-10.tar.xz': { - 'size': 1356504, - 'last_modified': '2012-05-15 14:51' - }, - 'votes-2007-11.tar.xz': { - 'size': 10641492, - 'last_modified': '2012-05-15 14:51' - }, - 'votes-2007-12.tar.xz': { - 'size': 14712136, - 'last_modified': '2012-05-15 14:52' - } - } - } - } - }, - 'torperf': { - 'files': { - 'torperf-2009-07.tar.xz': { - 'size': 182712, - 'last_modified': '2012-05-30 07:23' - }, - 'torperf-2009-08.tar.xz': { - 'size': 203236, - 'last_modified': '2012-05-30 07:23' - }, - 'torperf-2009-09.tar.xz': { - 'size': 193832, - 'last_modified': '2012-05-30 07:23' - } - } - }, - 'webstats': { - 'files': { - 'webstats-2015-01.tar': { - 'size': 30720, - 'last_modified': '2018-03-19 16:07' - }, - 'webstats-2015-02.tar': { - 'size': 20480, - 'last_modified': '2018-03-19 16:07' - }, - 'webstats-2015-03.tar': { - 'size': 20480, - 'last_modified': '2018-03-19 16:07' - } - } - } - } - }, - 'contrib': {}, - 'recent': { - 'directories': { - 'bridge-descriptors': { - 'directories': { - 'extra-infos': { - 'files': { - '2019-07-03-02-09-00-extra-infos': { - 'size': 507816, - 'last_modified': '2019-07-03 02:09' - }, - '2019-07-03-03-09-00-extra-infos': { - 'size': 558790, - 'last_modified': '2019-07-03 03:09' - }, - '2019-07-03-04-09-05-extra-infos': { - 'size': 592279, - 'last_modified': '2019-07-03 04:09' - } - } - }, - 'server-descriptors': { - 'files': { - '2019-07-03-02-09-00-server-descriptors': { - 'size': 274355, - 'last_modified': '2019-07-03 02:09' - }, - '2019-07-03-03-09-00-server-descriptors': { - 'size': 295671, - 'last_modified': '2019-07-03 03:09' - }, - '2019-07-03-04-09-05-server-descriptors': { - 'size': 312822, - 'last_modified': '2019-07-03 04:09' - } - } - }, - 'statuses': { - 'files': { - '20190703-011231-BA44A889E64B93FAA2B114E02C2A279A8555C533': { - 'size': 238340, - 'last_modified': '2019-07-03 02:09' - }, - '20190703-014231-BA44A889E64B93FAA2B114E02C2A279A8555C533': { - 'size': 238147, - 'last_modified': '2019-07-03 02:09' - }, - '20190703-021231-BA44A889E64B93FAA2B114E02C2A279A8555C533': { - 'size': 238231, - 'last_modified': '2019-07-03 03:09' - } - } - } - } - }, - 'exit-lists': { - 'files': { - '2019-07-03-02-02-00': { - 'size': 158516, - 'last_modified': '2019-07-03 02:02' - }, - '2019-07-03-03-02-00': { - 'size': 158830, - 'last_modified': '2019-07-03 03:02' - }, - '2019-07-03-04-02-00': { - 'size': 158831, - 'last_modified': '2019-07-03 04:02' - } - } - }, - 'relay-descriptors': { - 'directories': { - 'bandwidths': { - 'files': { - '2019-07-03-00-30-57-bandwidth-616DF2278EE2C90F475E4EA2562E2C00EB9F10E517FB901229F331AEB70B8AD7': { - 'size': 2580044, - 'last_modified': '2019-07-03 02:35' - }, - '2019-07-03-01-35-02-bandwidth-2A5B679E9AA2D5C903CD16C00E16FEFA3E21E38AB3DE338941AE4AC13FD505DE': { - 'size': 4210146, - 'last_modified': '2019-07-03 02:35' - }, - '2019-07-03-01-35-03-bandwidth-3B06DAD9EDE8E1D08CC494E856AFD9D49256ECC2D68456799DD1EC7ED3436875': { - 'size': 4249699, - 'last_modified': '2019-07-03 02:35' - } - } - }, - 'consensuses': { - 'files': { - '2019-07-03-02-00-00-consensus': { - 'size': 2211265, - 'last_modified': '2019-07-03 02:05' - }, - '2019-07-03-03-00-00-consensus': { - 'size': 2204478, - 'last_modified': '2019-07-03 03:05' - }, - '2019-07-03-04-00-00-consensus': { - 'size': 2202554, - 'last_modified': '2019-07-03 04:05' - } - } - }, - 'extra-infos': { - 'files': { - '2019-07-03-02-05-00-extra-infos': { - 'size': 1162899, - 'last_modified': '2019-07-03 02:05' - }, - '2019-07-03-03-05-00-extra-infos': { - 'size': 1133425, - 'last_modified': '2019-07-03 03:05' - }, - '2019-07-03-04-05-00-extra-infos': { - 'size': 1153793, - 'last_modified': '2019-07-03 04:05' - } - } - }, - 'microdescs': { - 'directories': { - 'consensus-microdesc': { - 'files': { - '2019-07-03-02-00-00-consensus-microdesc': { - 'size': 2028994, - 'last_modified': '2019-07-03 02:05' - }, - '2019-07-03-03-00-00-consensus-microdesc': { - 'size': 2022808, - 'last_modified': '2019-07-03 03:05' - }, - '2019-07-03-04-00-00-consensus-microdesc': { - 'size': 2020751, - 'last_modified': '2019-07-03 04:05' - } - } - }, - 'micro': { - 'files': { - '2019-07-02-23-05-00-micro': { - 'size': 19934, - 'last_modified': '2019-07-02 23:05' - }, - '2019-07-03-00-05-00-micro': { - 'size': 12030, - 'last_modified': '2019-07-03 00:05' - }, - '2019-07-03-01-05-00-micro': { - 'size': 14850, - 'last_modified': '2019-07-03 01:05' - } - } - } - } - }, - 'server-descriptors': { - 'files': { - '2019-07-03-02-05-00-server-descriptors': { - 'size': 1374587, - 'last_modified': '2019-07-03 02:05' - }, - '2019-07-03-03-05-00-server-descriptors': { - 'size': 1353286, - 'last_modified': '2019-07-03 03:05' - }, - '2019-07-03-04-05-00-server-descriptors': { - 'size': 1336125, - 'last_modified': '2019-07-03 04:05' - } - } - }, - 'votes': { - 'files': { - '2019-07-03-02-00-00-vote-0232AF901C31A04EE9848595AF9BB7620D4C5B2E-D9B6923A3AF9FB5DB3CD30191BCBD29A7A936D86': { - 'size': 3449707, - 'last_modified': '2019-07-03 02:05' - }, - '2019-07-03-02-00-00-vote-14C131DFC5C6F93646BE72FA1401C02A8DF2E8B4-39429F0789A9EC07A2A8754C4C449CCABAB787CC': { - 'size': 3435482, - 'last_modified': '2019-07-03 02:05' - }, - '2019-07-03-02-00-00-vote-23D15D965BC35114467363C165C4F724B64B4F66-4337842B697467123B5351E1E8EB64ED497C0EDA': { - 'size': 3571106, - 'last_modified': '2019-07-03 02:05' - } - } - } - } - }, - 'torperf': { - 'files': { - 'op-ab-1048576-2019-07-03.tpf': { - 'size': 39152, - 'last_modified': '2019-07-04 00:01' - }, - 'op-ab-51200-2019-07-03.tpf': { - 'size': 248173, - 'last_modified': '2019-07-04 00:01' - }, - 'op-ab-5242880-2019-07-03.tpf': { - 'size': 15900, - 'last_modified': '2019-07-04 00:01' - } - } - }, - 'webstats': { - 'files': { - '2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190620.xz': { - 'size': 8872, - 'last_modified': '2019-07-03 04:21' - }, - '2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190621.xz': { - 'size': 9312, - 'last_modified': '2019-07-04 04:21' - }, - '2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190622.xz': { - 'size': 9836, - 'last_modified': '2019-07-05 04:21' - } - } - } - } - } - } -} - class TestCollector(unittest.TestCase): @patch(URL_OPEN) diff --git a/test/unit/descriptor/data/__init__.py b/test/unit/descriptor/data/__init__.py new file mode 100644 index 00000000..376864fd --- /dev/null +++ b/test/unit/descriptor/data/__init__.py @@ -0,0 +1,7 @@ +""" +Test data for test.unit.descriptor tests. +""" + +__all__ = [ + 'collector_index', +] diff --git a/test/unit/descriptor/data/collector_index.py b/test/unit/descriptor/data/collector_index.py new file mode 100644 index 00000000..b44417af --- /dev/null +++ b/test/unit/descriptor/data/collector_index.py @@ -0,0 +1,492 @@ +# far more readable python hash of collector_index.json + +EXAMPLE_INDEX = { + 'index_created': '2019-07-06 01:54', + 'build_revision': 'df98ac79', + 'path': 'https://collector.torproject.org', + 'directories': { + 'archive': { + 'directories': { + 'bridge-descriptors': { + 'directories': { + 'extra-infos': { + 'files': { + 'bridge-extra-infos-2008-05.tar.xz': { + 'size': 377644, + 'last_modified': '2016-09-04 09:21' + }, + 'bridge-extra-infos-2008-06.tar.xz': { + 'size': 600484, + 'last_modified': '2016-09-04 09:21' + }, + 'bridge-extra-infos-2008-07.tar.xz': { + 'size': 716320, + 'last_modified': '2016-09-04 09:21' + } + } + }, + 'server-descriptors': { + 'files': { + 'bridge-server-descriptors-2008-05.tar.xz': { + 'size': 205348, + 'last_modified': '2016-09-09 14:13' + }, + 'bridge-server-descriptors-2008-06.tar.xz': { + 'size': 342828, + 'last_modified': '2016-09-09 14:13' + }, + 'bridge-server-descriptors-2008-07.tar.xz': { + 'size': 374848, + 'last_modified': '2016-09-09 14:13' + } + } + }, + 'statuses': { + 'files': { + 'bridge-statuses-2008-05.tar.xz': { + 'size': 74792, + 'last_modified': '2016-09-14 21:11' + }, + 'bridge-statuses-2008-06.tar.xz': { + 'size': 123488, + 'last_modified': '2016-09-14 21:11' + }, + 'bridge-statuses-2008-07.tar.xz': { + 'size': 143836, + 'last_modified': '2016-09-14 21:11' + } + } + } + } + }, + 'bridge-pool-assignments': { + 'files': { + 'bridge-pool-assignments-2010-09.tar.xz': { + 'size': 32804, + 'last_modified': '2012-05-31 10:21' + }, + 'bridge-pool-assignments-2010-10.tar.xz': { + 'size': 304684, + 'last_modified': '2012-05-31 10:21' + }, + 'bridge-pool-assignments-2010-11.tar.xz': { + 'size': 292228, + 'last_modified': '2012-05-31 10:21' + } + } + }, + 'exit-lists': { + 'files': { + 'exit-list-2010-02.tar.xz': { + 'size': 272008, + 'last_modified': '2012-05-31 18:57' + }, + 'exit-list-2010-03.tar.xz': { + 'size': 1247484, + 'last_modified': '2012-05-31 18:57' + }, + 'exit-list-2010-04.tar.xz': { + 'size': 1139896, + 'last_modified': '2012-05-31 18:57' + } + } + }, + 'relay-descriptors': { + 'files': { + 'certs.tar.xz': { + 'size': 144696, + 'last_modified': '2019-07-03 03:29' + } + }, + 'directories': { + 'bandwidths': { + 'files': { + 'bandwidths-2019-05.tar.xz': { + 'size': 50385816, + 'last_modified': '2019-06-07 08:05' + }, + 'bandwidths-2019-06.tar.xz': { + 'size': 105881156, + 'last_modified': '2019-07-03 07:30' + }, + 'bandwidths-2019-07.tar.xz': { + 'size': 11374436, + 'last_modified': '2019-07-03 07:12' + } + } + }, + 'consensuses': { + 'files': { + 'consensuses-2007-10.tar.xz': { + 'size': 1061648, + 'last_modified': '2012-05-15 14:35' + }, + 'consensuses-2007-11.tar.xz': { + 'size': 6810308, + 'last_modified': '2012-05-15 14:35' + }, + 'consensuses-2007-12.tar.xz': { + 'size': 8106968, + 'last_modified': '2012-05-15 14:35' + } + } + }, + 'extra-infos': { + 'files': { + 'extra-infos-2007-08.tar.xz': { + 'size': 3016916, + 'last_modified': '2016-06-23 09:53' + }, + 'extra-infos-2007-09.tar.xz': { + 'size': 6459884, + 'last_modified': '2016-06-23 09:54' + }, + 'extra-infos-2007-10.tar.xz': { + 'size': 7326564, + 'last_modified': '2016-06-23 09:54' + } + } + }, + 'microdescs': { + 'files': { + 'microdescs-2014-01.tar.xz': { + 'size': 7515396, + 'last_modified': '2014-02-07 03:59' + }, + 'microdescs-2014-02.tar.xz': { + 'size': 21822944, + 'last_modified': '2014-03-07 04:54' + }, + 'microdescs-2014-03.tar.xz': { + 'size': 24201436, + 'last_modified': '2014-04-07 03:54' + } + } + }, + 'server-descriptors': { + 'files': { + 'server-descriptors-2005-12.tar.xz': { + 'size': 1348620, + 'last_modified': '2016-06-24 08:12' + }, + 'server-descriptors-2006-02.tar.xz': { + 'size': 28625408, + 'last_modified': '2016-06-24 08:14' + }, + 'server-descriptors-2006-03.tar.xz': { + 'size': 49548736, + 'last_modified': '2016-06-24 08:17' + } + } + }, + 'statuses': { + 'files': { + 'statuses-2005-12.tar.xz': { + 'size': 1468844, + 'last_modified': '2016-06-25 11:50' + }, + 'statuses-2006-01.tar.xz': { + 'size': 3344280, + 'last_modified': '2016-06-25 11:52' + }, + 'statuses-2006-02.tar.xz': { + 'size': 4006336, + 'last_modified': '2016-06-25 11:54' + } + } + }, + 'tor': { + 'files': { + 'tor-2004-05.tar.xz': { + 'size': 386672, + 'last_modified': '2012-05-18 14:26' + }, + 'tor-2004-06.tar.xz': { + 'size': 1087980, + 'last_modified': '2012-05-18 14:26' + }, + 'tor-2004-07.tar.xz': { + 'size': 1366568, + 'last_modified': '2012-05-18 14:26' + } + } + }, + 'votes': { + 'files': { + 'votes-2007-10.tar.xz': { + 'size': 1356504, + 'last_modified': '2012-05-15 14:51' + }, + 'votes-2007-11.tar.xz': { + 'size': 10641492, + 'last_modified': '2012-05-15 14:51' + }, + 'votes-2007-12.tar.xz': { + 'size': 14712136, + 'last_modified': '2012-05-15 14:52' + } + } + } + } + }, + 'torperf': { + 'files': { + 'torperf-2009-07.tar.xz': { + 'size': 182712, + 'last_modified': '2012-05-30 07:23' + }, + 'torperf-2009-08.tar.xz': { + 'size': 203236, + 'last_modified': '2012-05-30 07:23' + }, + 'torperf-2009-09.tar.xz': { + 'size': 193832, + 'last_modified': '2012-05-30 07:23' + } + } + }, + 'webstats': { + 'files': { + 'webstats-2015-01.tar': { + 'size': 30720, + 'last_modified': '2018-03-19 16:07' + }, + 'webstats-2015-02.tar': { + 'size': 20480, + 'last_modified': '2018-03-19 16:07' + }, + 'webstats-2015-03.tar': { + 'size': 20480, + 'last_modified': '2018-03-19 16:07' + } + } + } + } + }, + 'contrib': {}, + 'recent': { + 'directories': { + 'bridge-descriptors': { + 'directories': { + 'extra-infos': { + 'files': { + '2019-07-03-02-09-00-extra-infos': { + 'size': 507816, + 'last_modified': '2019-07-03 02:09' + }, + '2019-07-03-03-09-00-extra-infos': { + 'size': 558790, + 'last_modified': '2019-07-03 03:09' + }, + '2019-07-03-04-09-05-extra-infos': { + 'size': 592279, + 'last_modified': '2019-07-03 04:09' + } + } + }, + 'server-descriptors': { + 'files': { + '2019-07-03-02-09-00-server-descriptors': { + 'size': 274355, + 'last_modified': '2019-07-03 02:09' + }, + '2019-07-03-03-09-00-server-descriptors': { + 'size': 295671, + 'last_modified': '2019-07-03 03:09' + }, + '2019-07-03-04-09-05-server-descriptors': { + 'size': 312822, + 'last_modified': '2019-07-03 04:09' + } + } + }, + 'statuses': { + 'files': { + '20190703-011231-BA44A889E64B93FAA2B114E02C2A279A8555C533': { + 'size': 238340, + 'last_modified': '2019-07-03 02:09' + }, + '20190703-014231-BA44A889E64B93FAA2B114E02C2A279A8555C533': { + 'size': 238147, + 'last_modified': '2019-07-03 02:09' + }, + '20190703-021231-BA44A889E64B93FAA2B114E02C2A279A8555C533': { + 'size': 238231, + 'last_modified': '2019-07-03 03:09' + } + } + } + } + }, + 'exit-lists': { + 'files': { + '2019-07-03-02-02-00': { + 'size': 158516, + 'last_modified': '2019-07-03 02:02' + }, + '2019-07-03-03-02-00': { + 'size': 158830, + 'last_modified': '2019-07-03 03:02' + }, + '2019-07-03-04-02-00': { + 'size': 158831, + 'last_modified': '2019-07-03 04:02' + } + } + }, + 'relay-descriptors': { + 'directories': { + 'bandwidths': { + 'files': { + '2019-07-03-00-30-57-bandwidth-616DF2278EE2C90F475E4EA2562E2C00EB9F10E517FB901229F331AEB70B8AD7': { + 'size': 2580044, + 'last_modified': '2019-07-03 02:35' + }, + '2019-07-03-01-35-02-bandwidth-2A5B679E9AA2D5C903CD16C00E16FEFA3E21E38AB3DE338941AE4AC13FD505DE': { + 'size': 4210146, + 'last_modified': '2019-07-03 02:35' + }, + '2019-07-03-01-35-03-bandwidth-3B06DAD9EDE8E1D08CC494E856AFD9D49256ECC2D68456799DD1EC7ED3436875': { + 'size': 4249699, + 'last_modified': '2019-07-03 02:35' + } + } + }, + 'consensuses': { + 'files': { + '2019-07-03-02-00-00-consensus': { + 'size': 2211265, + 'last_modified': '2019-07-03 02:05' + }, + '2019-07-03-03-00-00-consensus': { + 'size': 2204478, + 'last_modified': '2019-07-03 03:05' + }, + '2019-07-03-04-00-00-consensus': { + 'size': 2202554, + 'last_modified': '2019-07-03 04:05' + } + } + }, + 'extra-infos': { + 'files': { + '2019-07-03-02-05-00-extra-infos': { + 'size': 1162899, + 'last_modified': '2019-07-03 02:05' + }, + '2019-07-03-03-05-00-extra-infos': { + 'size': 1133425, + 'last_modified': '2019-07-03 03:05' + }, + '2019-07-03-04-05-00-extra-infos': { + 'size': 1153793, + 'last_modified': '2019-07-03 04:05' + } + } + }, + 'microdescs': { + 'directories': { + 'consensus-microdesc': { + 'files': { + '2019-07-03-02-00-00-consensus-microdesc': { + 'size': 2028994, + 'last_modified': '2019-07-03 02:05' + }, + '2019-07-03-03-00-00-consensus-microdesc': { + 'size': 2022808, + 'last_modified': '2019-07-03 03:05' + }, + '2019-07-03-04-00-00-consensus-microdesc': { + 'size': 2020751, + 'last_modified': '2019-07-03 04:05' + } + } + }, + 'micro': { + 'files': { + '2019-07-02-23-05-00-micro': { + 'size': 19934, + 'last_modified': '2019-07-02 23:05' + }, + '2019-07-03-00-05-00-micro': { + 'size': 12030, + 'last_modified': '2019-07-03 00:05' + }, + '2019-07-03-01-05-00-micro': { + 'size': 14850, + 'last_modified': '2019-07-03 01:05' + } + } + } + } + }, + 'server-descriptors': { + 'files': { + '2019-07-03-02-05-00-server-descriptors': { + 'size': 1374587, + 'last_modified': '2019-07-03 02:05' + }, + '2019-07-03-03-05-00-server-descriptors': { + 'size': 1353286, + 'last_modified': '2019-07-03 03:05' + }, + '2019-07-03-04-05-00-server-descriptors': { + 'size': 1336125, + 'last_modified': '2019-07-03 04:05' + } + } + }, + 'votes': { + 'files': { + '2019-07-03-02-00-00-vote-0232AF901C31A04EE9848595AF9BB7620D4C5B2E-D9B6923A3AF9FB5DB3CD30191BCBD29A7A936D86': { + 'size': 3449707, + 'last_modified': '2019-07-03 02:05' + }, + '2019-07-03-02-00-00-vote-14C131DFC5C6F93646BE72FA1401C02A8DF2E8B4-39429F0789A9EC07A2A8754C4C449CCABAB787CC': { + 'size': 3435482, + 'last_modified': '2019-07-03 02:05' + }, + '2019-07-03-02-00-00-vote-23D15D965BC35114467363C165C4F724B64B4F66-4337842B697467123B5351E1E8EB64ED497C0EDA': { + 'size': 3571106, + 'last_modified': '2019-07-03 02:05' + } + } + } + } + }, + 'torperf': { + 'files': { + 'op-ab-1048576-2019-07-03.tpf': { + 'size': 39152, + 'last_modified': '2019-07-04 00:01' + }, + 'op-ab-51200-2019-07-03.tpf': { + 'size': 248173, + 'last_modified': '2019-07-04 00:01' + }, + 'op-ab-5242880-2019-07-03.tpf': { + 'size': 15900, + 'last_modified': '2019-07-04 00:01' + } + } + }, + 'webstats': { + 'files': { + '2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190620.xz': { + 'size': 8872, + 'last_modified': '2019-07-03 04:21' + }, + '2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190621.xz': { + 'size': 9312, + 'last_modified': '2019-07-04 04:21' + }, + '2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190622.xz': { + 'size': 9836, + 'last_modified': '2019-07-05 04:21' + } + } + } + } + } + } +}