[Pkg-anonymity-tools] [onionshare] 27/140: split tests into multiple files, and fixed tests to work with refactor
Ulrike Uhlig
u-guest at moszumanska.debian.org
Mon Sep 29 20:33:44 UTC 2014
This is an automated email from the git hooks/post-receive script.
u-guest pushed a commit to branch master
in repository onionshare.
commit a32ca2f7a96b655eef833bc919ede4e3214cadd2
Author: Micah Lee <micah at micahflee.com>
Date: Tue Aug 26 18:38:46 2014 -0700
split tests into multiple files, and fixed tests to work with refactor
---
test/onionshare_helpers_test.py | 35 ++++++++++++++++
test/onionshare_strings_test.py | 21 ++++++++++
test/onionshare_test.py | 92 ++++-------------------------------------
test/onionshare_web_test.py | 17 ++++++++
test/test_helpers.py | 21 ++++++++++
5 files changed, 103 insertions(+), 83 deletions(-)
diff --git a/test/onionshare_helpers_test.py b/test/onionshare_helpers_test.py
new file mode 100644
index 0000000..83f78da
--- /dev/null
+++ b/test/onionshare_helpers_test.py
@@ -0,0 +1,35 @@
+from onionshare import helpers
+from nose import with_setup
+
+import test_helpers
+
+def test_get_platform_on_tails():
+ "get_platform() returns 'Tails' when hostname is 'amnesia'"
+ helpers.platform.uname = lambda: ('Linux', 'amnesia', '3.14-1-amd64', '#1 SMP Debian 3.14.4-1 (2014-05-13)', 'x86_64', '')
+ assert helpers.get_platform() == 'Tails'
+
+def test_get_platform_returns_platform_system():
+ "get_platform() returns platform.system() when ONIONSHARE_PLATFORM is not defined"
+ helpers.platform.system = lambda: 'Sega Saturn'
+ assert helpers.get_platform() == 'Sega Saturn'
+
+def test_filehash_returns_correct_hash():
+ "file_crunching() returns correct hash"
+
+ text = """
+ If you want a picture of the future, imagine a boot stamping on an
+ encrypted, redundant, distributed filesystem -- forever.
+ """
+ tempfile = test_helpers.write_tempfile(text)
+ filehash, _ = helpers.file_crunching(tempfile)
+
+ assert filehash == 'bc004fe72e6530a545570b4c6ce76bcb78ea526b'
+
+def test_filehash_returns_correct_size():
+ "file_crunching() returns correct size"
+
+ text = "AUSCANNZUKUS has always been at war with Eastasia."
+ tempfile = test_helpers.write_tempfile(text)
+ _, filesize = helpers.file_crunching(tempfile)
+
+ assert filesize == 50
diff --git a/test/onionshare_strings_test.py b/test/onionshare_strings_test.py
new file mode 100644
index 0000000..ea20a74
--- /dev/null
+++ b/test/onionshare_strings_test.py
@@ -0,0 +1,21 @@
+import locale
+from onionshare import strings
+from nose import with_setup
+
+def test_starts_with_empty_strings():
+ "creates an empty strings dict by default"
+ assert strings.strings == {}
+
+def test_load_strings_defaults_to_english():
+ "load_strings() loads English by default"
+ locale.getdefaultlocale = lambda: ('en_US', 'UTF-8')
+ strings.load_strings()
+ assert strings._('calculating_sha1') == "Calculating SHA1 checksum."
+
+def test_load_strings_loads_other_languages():
+ "load_strings() loads other languages in different locales"
+ locale.getdefaultlocale = lambda: ('fr_FR', 'UTF-8')
+ strings.load_strings("fr")
+ assert strings._('calculating_sha1') == "Calculer un hachage SHA-1."
+
+
diff --git a/test/onionshare_test.py b/test/onionshare_test.py
index a033321..afd955b 100644
--- a/test/onionshare_test.py
+++ b/test/onionshare_test.py
@@ -1,89 +1,15 @@
-from onionshare import *
-import tempfile
-
-def test_get_platform_on_tails():
- "get_platform() returns 'Tails' when hostname is 'amnesia'"
- onionshare.platform.uname = lambda: ('Linux', 'amnesia', '3.14-1-amd64', '#1 SMP Debian 3.14.4-1 (2014-05-13)', 'x86_64', '')
- assert get_platform() == 'Tails'
-
-def test_get_platform_returns_platform_system():
- "get_platform() returns platform.system() when ONIONSHARE_PLATFORM is not defined"
- onionshare.platform.system = lambda: 'Sega Saturn'
- assert get_platform() == 'Sega Saturn'
-
-class MockSubprocess():
- def __init__(self):
- self.last_call = None
-
- def call(self, args):
- self.last_call = args
-
- def last_call_args(self):
- return self.last_call
-
-def test_load_strings_defaults_to_english():
- "load_strings() loads English by default"
- locale.getdefaultlocale = lambda: ('en_US', 'UTF-8')
- load_strings()
- assert onionshare.strings['calculating_sha1'] == "Calculating SHA1 checksum."
-
-def test_load_strings_loads_other_languages():
- "load_strings() loads other languages in different locales"
- locale.getdefaultlocale = lambda: ('fr_FR', 'UTF-8')
- load_strings("fr")
- assert onionshare.strings['calculating_sha1'] == "Calculer un hachage SHA-1."
-
-def test_generate_slug_length():
- "generates a 26-character slug"
- assert len(slug) == 26
-
-def test_generate_slug_characters():
- "generates a base32-encoded slug"
-
- def is_b32(string):
- b32_alphabet = "01234556789abcdefghijklmnopqrstuvwxyz"
- return all(char in b32_alphabet for char in string)
-
- assert is_b32(slug)
-
-def test_starts_with_empty_strings():
- "creates an empty strings dict by default"
- assert strings == {}
+import socket
+from onionshare import OnionShare
+from nose import with_setup
def test_choose_port_returns_a_port_number():
"choose_port() returns a port number"
- assert 1024 <= choose_port() <= 65535
+ app = OnionShare()
+ assert 1024 <= app.port <= 65535
def test_choose_port_returns_an_open_port():
"choose_port() returns an open port"
- port = choose_port()
- socket.socket().bind(("127.0.0.1", port))
-
-def write_tempfile(text):
- tempdir = tempfile.mkdtemp()
- path = tempdir + "/test-file.txt"
- with open(path, "w") as f:
- f.write(text)
- f.close()
- return path
-
-def test_filehash_returns_correct_hash():
- "file_crunching() returns correct hash"
-
- text = """
- If you want a picture of the future, imagine a boot stamping on an
- encrypted, redundant, distributed filesystem -- forever.
- """
- tempfile = write_tempfile(text)
- filehash, _ = file_crunching(tempfile)
-
- assert filehash == 'bc004fe72e6530a545570b4c6ce76bcb78ea526b'
-
-def test_filehash_returns_correct_size():
- "file_crunching() returns correct size"
-
- text = "AUSCANNZUKUS has always been at war with Eastasia."
- tempfile = write_tempfile(text)
- _, filesize = file_crunching(tempfile)
-
- assert filesize == 50
+ app = OnionShare()
+ # choose a new port
+ app.choose_port()
+ socket.socket().bind(("127.0.0.1", app.port))
diff --git a/test/onionshare_web_test.py b/test/onionshare_web_test.py
new file mode 100644
index 0000000..fc545a1
--- /dev/null
+++ b/test/onionshare_web_test.py
@@ -0,0 +1,17 @@
+from onionshare import web
+from nose import with_setup
+
+def test_generate_slug_length():
+ "generates a 26-character slug"
+ assert len(web.slug) == 26
+
+def test_generate_slug_characters():
+ "generates a base32-encoded slug"
+
+ def is_b32(string):
+ b32_alphabet = "01234556789abcdefghijklmnopqrstuvwxyz"
+ return all(char in b32_alphabet for char in string)
+
+ assert is_b32(web.slug)
+
+
diff --git a/test/test_helpers.py b/test/test_helpers.py
new file mode 100644
index 0000000..ae0f85b
--- /dev/null
+++ b/test/test_helpers.py
@@ -0,0 +1,21 @@
+import tempfile
+
+class MockSubprocess():
+ def __init__(self):
+ self.last_call = None
+
+ def call(self, args):
+ self.last_call = args
+
+ def last_call_args(self):
+ return self.last_call
+
+def write_tempfile(text):
+ tempdir = tempfile.mkdtemp()
+ path = tempdir + "/test-file.txt"
+ with open(path, "w") as f:
+ f.write(text)
+ f.close()
+ return path
+
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/onionshare.git
More information about the Pkg-anonymity-tools
mailing list