diff options
Diffstat (limited to 'src/mailman_pgp/workflows/tests/test_base.py')
| -rw-r--r-- | src/mailman_pgp/workflows/tests/test_base.py | 81 |
1 files changed, 37 insertions, 44 deletions
diff --git a/src/mailman_pgp/workflows/tests/test_base.py b/src/mailman_pgp/workflows/tests/test_base.py index 913ab67..af00d01 100644 --- a/src/mailman_pgp/workflows/tests/test_base.py +++ b/src/mailman_pgp/workflows/tests/test_base.py @@ -38,7 +38,6 @@ from mailman_pgp.workflows.subscription import ConfirmSubscriptionPolicy class PubkeyMixinSetup(): - def setUp(self): with mm_transaction(): self.mlist = create_list('test@example.com', @@ -55,6 +54,27 @@ class PubkeyMixinSetup(): self.sender = self.um.create_address('rsa-1024b@example.org') +class TestPGPMixin(PubkeyMixinSetup, unittest.TestCase): + layer = PGPConfigLayer + + def test_create_address(self): + workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, + pre_verified=True, + pre_confirmed=True) + workflow.run_thru('pgp_prepare') + pgp_address = PGPAddress.for_address(self.sender) + self.assertIsNotNone(pgp_address) + + def test_address_existing(self): + workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, + pre_verified=True, + pre_confirmed=True) + with transaction() as t: + pgp_address = PGPAddress(self.sender) + t.add(pgp_address) + workflow.run_thru('pgp_prepare') + + class TestSetPubkeyMixin(PubkeyMixinSetup, unittest.TestCase): layer = PGPConfigLayer @@ -75,60 +95,38 @@ class TestSetPubkeyMixin(PubkeyMixinSetup, unittest.TestCase): pre_verified=True, pre_confirmed=True) list(workflow) - with transaction() as t: - pgp_address = PGPAddress(self.sender) + with transaction(): + pgp_address = PGPAddress.for_address(self.sender) pgp_address.key = self.sender_key.pubkey - t.add(pgp_address) receive_workflow = ConfirmSubscriptionPolicy(self.mlist) receive_workflow.token = workflow.token receive_workflow.restore() receive_workflow.run_thru('receive_key') - self.assertIsNotNone(receive_workflow.pubkey) - 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) - step.assert_called_once_with() - - def test_receive_key_no_address(self): + def test_set_pubkey(self): workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, pre_verified=True, - pre_confirmed=True) - list(workflow) - receive_workflow = ConfirmSubscriptionPolicy(self.mlist) - receive_workflow.token = workflow.token - receive_workflow.restore() - receive_workflow.run_thru('receive_key') - - self.assertIsNone(receive_workflow.pubkey) - with patch.object(receive_workflow, - '_step_send_key_request') as step: - next(receive_workflow) - step.assert_called_once_with() + pre_confirmed=True, + pubkey=self.sender_key.pubkey) + workflow.run_thru('pubkey_checks') + pgp_address = PGPAddress.for_address(self.sender) + self.assertIsNotNone(pgp_address) + self.assertIsNotNone(pgp_address.key) + self.assertEqual(pgp_address.key_fingerprint, + self.sender_key.fingerprint) - def test_receive_key_pubkey_confirmed(self): + def test_pubkey_set(self): workflow = ConfirmSubscriptionPolicy(self.mlist, self.sender, pre_verified=True, - pre_confirmed=True, - pubkey_pre_confirmed=True) - list(workflow) + pre_confirmed=True) with transaction() as t: pgp_address = PGPAddress(self.sender) pgp_address.key = self.sender_key.pubkey t.add(pgp_address) - - receive_workflow = ConfirmSubscriptionPolicy(self.mlist) - receive_workflow.token = workflow.token - receive_workflow.restore() - receive_workflow.run_thru('pubkey_confirmation') - with patch.object(receive_workflow, '_step_do_subscription') as step: - next(receive_workflow) - step.assert_called_once_with() + workflow.run_thru('pubkey_checks') + self.assertEqual(pgp_address.key_fingerprint, + self.sender_key.fingerprint) class TestConfirmPubkeyMixin(PubkeyMixinSetup, unittest.TestCase): @@ -168,11 +166,6 @@ class TestConfirmPubkeyMixin(PubkeyMixinSetup, unittest.TestCase): pubkey_pre_confirmed=False) list(workflow) - with transaction() as t: - pgp_address = PGPAddress(self.sender) - pgp_address.key = self.sender_key.pubkey - t.add(pgp_address) - receive_workflow = ConfirmSubscriptionPolicy(self.mlist) receive_workflow.token = workflow.token receive_workflow.restore() |
