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