From 6dfaef6042b748424c612ff7f7360e6dc24fda03 Mon Sep 17 00:00:00 2001 From: Jason Robinson Date: Thu, 2 Jul 2015 00:13:10 +0300 Subject: [PATCH] Initialize tests with the diaspora protocol --- federation/tests/__init__.py | 0 federation/tests/protocols/__init__.py | 0 .../tests/protocols/diaspora/__init__.py | 0 .../tests/protocols/diaspora/test_diaspora.py | 55 +++++++++++++++++++ test-requirements.txt | 1 + 5 files changed, 56 insertions(+) create mode 100644 federation/tests/__init__.py create mode 100644 federation/tests/protocols/__init__.py create mode 100644 federation/tests/protocols/diaspora/__init__.py create mode 100644 federation/tests/protocols/diaspora/test_diaspora.py create mode 100644 test-requirements.txt diff --git a/federation/tests/__init__.py b/federation/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/federation/tests/protocols/__init__.py b/federation/tests/protocols/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/federation/tests/protocols/diaspora/__init__.py b/federation/tests/protocols/diaspora/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/federation/tests/protocols/diaspora/test_diaspora.py b/federation/tests/protocols/diaspora/test_diaspora.py new file mode 100644 index 0000000..80d8c5c --- /dev/null +++ b/federation/tests/protocols/diaspora/test_diaspora.py @@ -0,0 +1,55 @@ +from lxml import etree + +from federation.protocols.diaspora.protocol import DiasporaProtocol + + +class MockUser(object): + key = "foobar" + + +class TestDiasporaProtocol(): + + def test_find_unencrypted_header(self): + protocol = self.init_protocol() + protocol.doc = self.get_unencrypted_doc() + protocol.find_header() + assert protocol.header is not None + assert protocol.encrypted is False + + def test_find_encrypted_header(self): + protocol = self.init_protocol() + protocol.doc = self.get_encrypted_doc() + protocol.user = self.get_mock_user() + protocol.parse_header = self.mock_parse_encrypted_header + protocol.find_header() + assert protocol.header is not None + assert protocol.encrypted is True + + def init_protocol(self): + return DiasporaProtocol() + + def get_unencrypted_doc(self): + return etree.fromstring(""" + +
+ {author} +
+ +
+ """) + + def get_encrypted_doc(self): + return etree.fromstring(""" + + {encrypted_header} + + + """) + + def get_mock_user(self): + return MockUser() + + def mock_parse_encrypted_header(self, text, key): + if text and key: + return "{encrypted_header}" + return None diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000..f1e2df4 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1 @@ +pytest==2.7.2