From d944cf70cdda9906b8c8112cb345808ebac2825b Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Aug 27 2018 14:25:57 +0000 Subject: test with 2 allowed email domain names Signed-off-by: Karsten Hopp --- diff --git a/tests/test_pagure_lib.py b/tests/test_pagure_lib.py index 450ba31..624ed62 100644 --- a/tests/test_pagure_lib.py +++ b/tests/test_pagure_lib.py @@ -2196,7 +2196,7 @@ class PagureLibtests(tests.Modeltests): keydir=pagure.config.config.get('GITOLITE_KEYDIR', None), ) self.session.commit() - # Email not added + # Email should not be added items = pagure.lib.search_user(self.session) self.assertEqual(3, len(items)) self.assertEqual('skvidal', items[2].user) @@ -2204,6 +2204,26 @@ class PagureLibtests(tests.Modeltests): sorted(['skvidal@fp.o', 'svidal@fp.o']), sorted([email.email for email in items[2].emails])) + # redo tests with 2 allowed domains + pagure.config.config['ALLOWED_EMAIL_DOMAINS'] = ["fp.o", "example.com"] + # add again with forbidden email domain + pagure.lib.set_up_user( + session=self.session, + username='skvidal', + fullname='Seth', + default_email='svidal@example.o', + keydir=pagure.config.config.get('GITOLITE_KEYDIR', None), + ) + self.session.commit() + # Email should not be added + items = pagure.lib.search_user(self.session) + self.assertEqual(3, len(items)) + self.assertEqual('skvidal', items[2].user) + self.assertEqual( + sorted(['skvidal@fp.o', 'svidal@fp.o']), + sorted([email.email for email in items[2].emails])) + + def test_update_user_ssh(self): """ Test the update_user_ssh of pagure.lib. """ @@ -5555,6 +5575,28 @@ foo bar # Check emails after self.assertEqual(len(user.emails), 3) + # redo tests with 2 allowed domains + pagure.config.config['ALLOWED_EMAIL_DOMAINS'] = ["pingoured.fr", "example.com"] + # Add the new_email to the user + pagure.lib.add_email_to_user( + self.session, user, 'another_email@example.com' + ) + self.session.commit() + # Check emails after + self.assertEqual(len(user.emails), 4) + + # add another email address that is not in an allowed domain + self.assertRaises( + pagure.exceptions.PagureException, + pagure.lib.add_email_to_user, + session=self.session, + user=user, + user_email='another_foo@bar.com' + ) + self.session.commit() + # Check emails after + self.assertEqual(len(user.emails), 4) + @patch('pagure.lib.is_valid_ssh_key', MagicMock(return_value='foo bar')) def test_update_user_ssh_valid_key(self): """ Test the update_user_ssh function of pagure.lib. """