[tor-commits] [stem/master] Test for descriptor with non-ascii content
atagar at torproject.org
atagar at torproject.org
Sun Apr 15 02:50:20 UTC 2012
commit dd6b71c2b4fe27c33f82ba45e405be9c3fabd409
Author: Damian Johnson <atagar at torproject.org>
Date: Thu Mar 29 08:54:22 2012 -0700
Test for descriptor with non-ascii content
Test suggestion by Karsten. This reads a descriptor with non-ascii content
(hiragana and something else), checking that the results match expected values.
---
test/integ/descriptor/data/non-ascii_descriptor | 29 ++++++++++++++++
test/integ/descriptor/server_descriptor.py | 41 +++++++++++++++++++++++
2 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/test/integ/descriptor/data/non-ascii_descriptor b/test/integ/descriptor/data/non-ascii_descriptor
new file mode 100644
index 0000000..7758276
--- /dev/null
+++ b/test/integ/descriptor/data/non-ascii_descriptor
@@ -0,0 +1,29 @@
+router torrelay389752132 130.243.230.116 9001 0 0
+platform Tor 0.2.2.35 (git-4f42b0a93422f70e) on Linux x86_64
+opt protocols Link 1 2 Circuit 1
+published 2012-03-21 16:28:14
+opt fingerprint FEBC 7F99 2AC4 18BB E42B C13F E94E FCFE 6549 197E
+uptime 3103848
+bandwidth 81920 102400 84275
+opt extra-info-digest 51E9FD0DA7C235D8C0250BAFB6E1ABB5F1EF9F04
+onion-key
+-----BEGIN RSA PUBLIC KEY-----
+MIGJAoGBAKTHzdEAocB7JhpB5iDaNYgHujJ+0mtoahZOAqgZ5BWVjw8fwt0UXEtO
+BRPzNigNyAP1UWKHvgelBy49wvuC9twoBejCCYjcu9z2RmbBvYcyZRzphvHJqBpW
+k3Rx75up+wsuBzhfwSYr7W+T+WkDQvz49RFPpns6Ef0qFpQ1TlHxAgMBAAE=
+-----END RSA PUBLIC KEY-----
+signing-key
+-----BEGIN RSA PUBLIC KEY-----
+MIGJAoGBAMSmtutGlXVdvh/IC4TyhQpgSajxrZItC2lS5/70Vr4uLevryPlBgVrW
+35CHxKYaj0MAOfkJQ0/OvTaXe7hlaCLrDDXScaH/XEDurcWrynsdzomsCvn/6VJ+
+xZFszt2Dn5myXKMvYy3j1oevC4iDaZXwxgpwx/UMJsFn7GOUPFYbAgMBAAE=
+-----END RSA PUBLIC KEY-----
+opt hidden-service-dir
+contact 2048R/F171EC1F Johan BlÃ¥bäck ããã«ã¡ã¯
+reject *:*
+router-signature
+-----BEGIN SIGNATURE-----
+q3Tw41+miuycnXowX/k6CCOcHMjw0BCDjW56Wh/eHoICmVb/hBJdtuzTaorWHLWp
+OoTa4Sy4OrGFL+ldzajGC8+oqMvrYudiIxbJWmH3NXFyd7ZeEdnHzHxNOU8p1+X+
+hFwdOCEvzvvTbOuS2DwDt+TU8rljZunZfcMWgXktAD0=
+-----END SIGNATURE-----
diff --git a/test/integ/descriptor/server_descriptor.py b/test/integ/descriptor/server_descriptor.py
index f950c4a..8cf0ae4 100644
--- a/test/integ/descriptor/server_descriptor.py
+++ b/test/integ/descriptor/server_descriptor.py
@@ -130,4 +130,45 @@ Qlx9HNCqCY877ztFRC624ja2ql6A2hBcuoYMbkHjcQ4=
print "Unrecognized descriptor content: %s" % unrecognized_lines
self.fail()
+
+ def test_non_ascii_descriptor(self):
+ """
+ Parses a descriptor with non-ascii content.
+ """
+
+ descriptor_path = os.path.join(DESCRIPTOR_TEST_DATA, "non-ascii_descriptor")
+
+ descriptor_file = open(descriptor_path)
+ descriptor_contents = descriptor_file.read()
+ descriptor_file.close()
+
+ expected_published = datetime.datetime(2012, 3, 21, 16, 28, 14)
+ expected_contact = "2048R/F171EC1F Johan Bl\xc3\xa5b\xc3\xa4ck \xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf"
+
+ desc = stem.descriptor.server_descriptor.ServerDescriptorV3(descriptor_contents)
+ self.assertEquals("torrelay389752132", desc.nickname)
+ self.assertEquals("FEBC7F992AC418BBE42BC13FE94EFCFE6549197E", desc.fingerprint)
+ self.assertEquals("130.243.230.116", desc.address)
+ self.assertEquals(9001, desc.or_port)
+ self.assertEquals(0, desc.socks_port)
+ self.assertEquals(0, desc.dir_port)
+ self.assertEquals("Tor 0.2.2.35 (git-4f42b0a93422f70e) on Linux x86_64", desc.platform)
+ self.assertEquals(stem.version.Version("0.2.2.35"), desc.tor_version)
+ self.assertEquals("Linux x86_64", desc.operating_system)
+ self.assertEquals(3103848, desc.uptime)
+ self.assertEquals(expected_published, desc.published)
+ self.assertEquals(expected_contact, desc.contact)
+ self.assertEquals(["1", "2"], desc.link_protocols)
+ self.assertEquals(["1"], desc.circuit_protocols)
+ self.assertEquals(False, desc.hibernating)
+ self.assertEquals(False, desc.allow_single_hop_exits)
+ self.assertEquals(False, desc.extra_info_cache)
+ self.assertEquals("51E9FD0DA7C235D8C0250BAFB6E1ABB5F1EF9F04", desc.extra_info_digest)
+ self.assertEquals(["2"], desc.hidden_service_dir)
+ self.assertEquals([], desc.family)
+ self.assertEquals(81920, desc.average_bandwidth)
+ self.assertEquals(102400, desc.burst_bandwidth)
+ self.assertEquals(84275, desc.observed_bandwidth)
+ self.assertEquals(["reject *:*"], desc.exit_policy)
+ self.assertEquals([], desc.get_unrecognized_lines())
More information about the tor-commits
mailing list