def test_empty_database(self): sys.argv = ['notused', self.conf_file_path, 'new_feature_send_passwords_via_email'] sys.stdout = StringIO() result = announce() self.assertEqual(result, None) stdout = sys.stdout.getvalue() self.assertEqual(stdout, '')
def test_no_arguments(self): sys.argv = [] sys.stdout = StringIO() result = announce() self.assertEqual(result, 2) stdout = sys.stdout.getvalue() self.assertEqual(stdout, 'You must provide two arguments. The first one is the config file and the second one is the email template.\n')
def test_announce_send_email(self): self.add_passwords(self.db.users.insert({ 'first_name': 'John0', 'last_name': 'Doe', 'email': '', 'email_verified': False, 'send_passwords_periodically': False, }), 10) self.add_passwords(self.db.users.insert({ 'first_name': 'John1', 'last_name': 'Doe', 'email': '', 'email_verified': True, 'send_passwords_periodically': False, }), 10) self.add_passwords(self.db.users.insert({ 'first_name': 'John2', 'last_name': 'Doe', 'email': '*****@*****.**', 'email_verified': True, 'send_passwords_periodically': False, }), 10) self.add_passwords(self.db.users.insert({ 'first_name': 'John3', 'last_name': 'Doe', 'email': '*****@*****.**', 'email_verified': True, 'send_passwords_periodically': True, }), 10) self.add_passwords(self.db.users.insert({ 'first_name': 'John4', 'last_name': 'Doe', 'email': '*****@*****.**', 'email_verified': False, 'send_passwords_periodically': True, }), 10) self.db.users.insert({ 'first_name': 'John4', 'last_name': 'Doe', 'email': '*****@*****.**', 'email_verified': True, 'send_passwords_periodically': True, }) sys.argv = ['notused', self.conf_file_path, 'new_feature_send_passwords_via_email'] sys.stdout = StringIO() result = announce() self.assertEqual(result, None) stdout = sys.stdout.getvalue() expected_output = """Sending email to John2 Doe <*****@*****.**> Sending email to John3 Doe <*****@*****.**> """ self.assertEqual(stdout, expected_output)
def test_announce_send_email(self): with transaction.manager: user1 = User( first_name="John0", last_name="Doe", email="", email_verified=False, send_passwords_periodically=False ) Session.add(user1) self.add_passwords(user1, 10) user2 = User( first_name="John1", last_name="Doe", email="", email_verified=True, send_passwords_periodically=False ) Session.add(user2) self.add_passwords(user2, 10) user3 = User( first_name="John2", last_name="Doe", email="*****@*****.**", email_verified=True, send_passwords_periodically=True, ) Session.add(user3) self.add_passwords(user3, 10) user4 = User( first_name="John3", last_name="Doe", email="*****@*****.**", email_verified=True, send_passwords_periodically=True, ) Session.add(user4) self.add_passwords(user4, 10) user5 = User( first_name="John4", last_name="Doe", email="*****@*****.**", email_verified=False, send_passwords_periodically=True, ) Session.add(user5) self.add_passwords(user5, 10) sys.argv = ["notused", self.conf_file_path, "new_feature_send_passwords_via_email"] sys.stdout = StringIO() result = announce() self.assertEqual(result, None) stdout = sys.stdout.getvalue() expected_output = """Sending email to John2 Doe <*****@*****.**> Sending email to John3 Doe <*****@*****.**> """ self.assertEqual(stdout, expected_output)
def test_announce_send_email(self): with transaction.manager: user1 = User(first_name='John0', last_name='Doe', email='', email_verified=False, send_passwords_periodically=False) Session.add(user1) self.add_passwords(user1, 10) user2 = User(first_name='John1', last_name='Doe', email='', email_verified=True, send_passwords_periodically=False) Session.add(user2) self.add_passwords(user2, 10) user3 = User(first_name='John2', last_name='Doe', email='*****@*****.**', email_verified=True, send_passwords_periodically=True) Session.add(user3) self.add_passwords(user3, 10) user4 = User(first_name='John3', last_name='Doe', email='*****@*****.**', email_verified=True, send_passwords_periodically=True) Session.add(user4) self.add_passwords(user4, 10) user5 = User(first_name='John4', last_name='Doe', email='*****@*****.**', email_verified=False, send_passwords_periodically=True) Session.add(user5) self.add_passwords(user5, 10) sys.argv = ['notused', self.conf_file_path, 'new_feature_send_passwords_via_email'] sys.stdout = StringIO() result = announce() self.assertEqual(result, None) stdout = sys.stdout.getvalue() expected_output = """Sending email to John2 Doe <*****@*****.**> Sending email to John3 Doe <*****@*****.**> """ self.assertEqual(stdout, expected_output)