diff options
| author | J08nY | 2017-07-13 00:04:53 +0200 |
|---|---|---|
| committer | J08nY | 2017-07-13 00:04:53 +0200 |
| commit | a4e412d40162e35c54704793938e1a5cbf196086 (patch) | |
| tree | 35502630230979059dd6e67a2b141c7abbd06fd6 /src/mailman_pgp/workflows/tests | |
| parent | ce02d5e98feb6dab1a4a8189d109495a41718260 (diff) | |
| download | mailman-pgp-a4e412d40162e35c54704793938e1a5cbf196086.tar.gz mailman-pgp-a4e412d40162e35c54704793938e1a5cbf196086.tar.zst mailman-pgp-a4e412d40162e35c54704793938e1a5cbf196086.zip | |
Diffstat (limited to 'src/mailman_pgp/workflows/tests')
| -rw-r--r-- | src/mailman_pgp/workflows/tests/test_base.py | 85 |
1 files changed, 56 insertions, 29 deletions
diff --git a/src/mailman_pgp/workflows/tests/test_base.py b/src/mailman_pgp/workflows/tests/test_base.py index ef3a009..913ab67 100644 --- a/src/mailman_pgp/workflows/tests/test_base.py +++ b/src/mailman_pgp/workflows/tests/test_base.py @@ -37,8 +37,7 @@ from mailman_pgp.workflows.base import KEY_REQUEST from mailman_pgp.workflows.subscription import ConfirmSubscriptionPolicy -class TestPubkeyMixin(unittest.TestCase): - layer = PGPConfigLayer +class PubkeyMixinSetup(): def setUp(self): with mm_transaction(): @@ -55,19 +54,9 @@ class TestPubkeyMixin(unittest.TestCase): self.sender_key = load_key('rsa_1024.priv.asc') self.sender = self.um.create_address('rsa-1024b@example.org') - def test_pended_data(self): - workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, - pre_verified=True, - pre_confirmed=True) - with suppress(StopIteration): - workflow.run_thru('send_key_request') - self.assertIsNotNone(workflow.token) - pendable = getUtility(IPendings).confirm(workflow.token, expunge=False) - self.assertEqual(pendable['list_id'], 'test.example.com') - self.assertEqual(pendable['email'], 'rsa-1024b@example.org') - self.assertEqual(pendable['display_name'], '') - self.assertEqual(pendable['when'], '2005-08-01T07:49:23') - self.assertEqual(pendable['token_owner'], 'subscriber') + +class TestSetPubkeyMixin(PubkeyMixinSetup, unittest.TestCase): + layer = PGPConfigLayer def test_key_request_sent(self): workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, @@ -81,17 +70,6 @@ class TestPubkeyMixin(unittest.TestCase): self.assertEqual(message['Subject'], 'key set {}'.format(token)) self.assertEqual(message.get_payload(), KEY_REQUEST) - def test_key_request_pubkey_set(self): - workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, - pre_verified=True, - pre_confirmed=True, - pubkey=self.sender_key.pubkey, - pubkey_pre_confirmed=True) - workflow.run_thru('pubkey_checks') - with patch.object(workflow, '_step_do_subscription') as step: - next(workflow) - step.assert_called_once_with() - def test_receive_key(self): workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, pre_verified=True, @@ -111,6 +89,7 @@ class TestPubkeyMixin(unittest.TestCase): self.assertEqual(receive_workflow.pubkey.fingerprint, self.sender_key.pubkey.fingerprint) + receive_workflow.run_thru('pubkey_confirmation') with patch.object(receive_workflow, '_step_send_key_confirm_request') as step: next(receive_workflow) @@ -146,11 +125,26 @@ class TestPubkeyMixin(unittest.TestCase): receive_workflow = ConfirmSubscriptionPolicy(self.mlist) receive_workflow.token = workflow.token receive_workflow.restore() - receive_workflow.run_thru('receive_key') + receive_workflow.run_thru('pubkey_confirmation') with patch.object(receive_workflow, '_step_do_subscription') as step: next(receive_workflow) step.assert_called_once_with() + +class TestConfirmPubkeyMixin(PubkeyMixinSetup, unittest.TestCase): + layer = PGPConfigLayer + + def test_key_request_pubkey_set(self): + workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, + pre_verified=True, + pre_confirmed=True, + pubkey=self.sender_key.pubkey, + pubkey_pre_confirmed=True) + workflow.run_thru('pubkey_confirmation') + with patch.object(workflow, '_step_do_subscription') as step: + next(workflow) + step.assert_called_once_with() + def test_send_key_confirm_request(self): workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, pre_verified=True, @@ -187,6 +181,39 @@ class TestPubkeyMixin(unittest.TestCase): next(receive_workflow) step.assert_called_once_with() + +class TestBothPubkeyMixins(PubkeyMixinSetup, unittest.TestCase): + layer = PGPConfigLayer + + def test_pended_data_key_request(self): + workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, + pre_verified=True, + pre_confirmed=True) + with suppress(StopIteration): + workflow.run_thru('send_key_request') + self.assertIsNotNone(workflow.token) + pendable = getUtility(IPendings).confirm(workflow.token, expunge=False) + self.assertEqual(pendable['list_id'], 'test.example.com') + self.assertEqual(pendable['email'], 'rsa-1024b@example.org') + self.assertEqual(pendable['display_name'], '') + self.assertEqual(pendable['when'], '2005-08-01T07:49:23') + self.assertEqual(pendable['token_owner'], 'subscriber') + + def test_pended_data_key_confirmation(self): + workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, + pre_verified=True, + pre_confirmed=True, + pubkey=self.sender_key.pubkey) + with suppress(StopIteration): + workflow.run_thru('send_key_confirm_request') + self.assertIsNotNone(workflow.token) + pendable = getUtility(IPendings).confirm(workflow.token, expunge=False) + self.assertEqual(pendable['list_id'], 'test.example.com') + self.assertEqual(pendable['email'], 'rsa-1024b@example.org') + self.assertEqual(pendable['display_name'], '') + self.assertEqual(pendable['when'], '2005-08-01T07:49:23') + self.assertEqual(pendable['token_owner'], 'subscriber') + def test_exisitng_pgp_address(self): workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, pre_verified=True, @@ -198,7 +225,7 @@ class TestPubkeyMixin(unittest.TestCase): pgp_address.key_confirmed = True t.add(pgp_address) - workflow.run_thru('pubkey_checks') + workflow.run_thru('pubkey_confirmation') with patch.object(workflow, '_step_do_subscription') as step: next(workflow) step.assert_called_once_with() @@ -213,7 +240,7 @@ class TestPubkeyMixin(unittest.TestCase): pgp_address.key = self.sender_key.pubkey t.add(pgp_address) - workflow.run_thru('pubkey_checks') + workflow.run_thru('pubkey_confirmation') with patch.object(workflow, '_step_send_key_confirm_request') as step: next(workflow) step.assert_called_once_with() |
