mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-19 02:49:21 +02:00
Fix test case for sending invitations by email
This commit is contained in:
parent
ab35221724
commit
a7804b35ea
2 changed files with 15 additions and 8 deletions
|
@ -58,7 +58,7 @@ def get_handlers():
|
||||||
|
|
||||||
|
|
||||||
@contextmanager
|
@contextmanager
|
||||||
def less_console_noise():
|
def less_console_noise(output_stream=None):
|
||||||
"""
|
"""
|
||||||
Context manager to use in tests to silence console logging.
|
Context manager to use in tests to silence console logging.
|
||||||
|
|
||||||
|
@ -66,14 +66,19 @@ def less_console_noise():
|
||||||
(such as errors) which are normal and expected.
|
(such as errors) which are normal and expected.
|
||||||
|
|
||||||
It can easily be removed to debug a failing test.
|
It can easily be removed to debug a failing test.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
`output_stream`: a stream to redirect every handler to. If it's
|
||||||
|
not provided, use /dev/null.
|
||||||
"""
|
"""
|
||||||
restore = {}
|
restore = {}
|
||||||
handlers = get_handlers()
|
handlers = get_handlers()
|
||||||
devnull = open(os.devnull, "w")
|
if output_stream is None:
|
||||||
|
output_stream = open(os.devnull, "w")
|
||||||
|
|
||||||
# redirect all the streams
|
# redirect all the streams
|
||||||
for handler in handlers.values():
|
for handler in handlers.values():
|
||||||
prior = handler.setStream(devnull)
|
prior = handler.setStream(output_stream)
|
||||||
restore[handler.name] = prior
|
restore[handler.name] = prior
|
||||||
try:
|
try:
|
||||||
# run the test
|
# run the test
|
||||||
|
@ -82,8 +87,9 @@ def less_console_noise():
|
||||||
# restore the streams
|
# restore the streams
|
||||||
for handler in handlers.values():
|
for handler in handlers.values():
|
||||||
handler.setStream(restore[handler.name])
|
handler.setStream(restore[handler.name])
|
||||||
# close the file we opened
|
if output_stream is None:
|
||||||
devnull.close()
|
# we opened output_stream so we have to close it
|
||||||
|
output_stream.close()
|
||||||
|
|
||||||
|
|
||||||
class MockUserLogin:
|
class MockUserLogin:
|
||||||
|
|
|
@ -272,11 +272,12 @@ class TestLogins(TestCase):
|
||||||
|
|
||||||
# this is one of the email addresses in data/test_contacts.txt
|
# this is one of the email addresses in data/test_contacts.txt
|
||||||
output_stream = StringIO()
|
output_stream = StringIO()
|
||||||
call_command("send_domain_invitations",
|
# also have to re-point the logging handlers to output_stream
|
||||||
stdout=output_stream)
|
with less_console_noise(output_stream):
|
||||||
|
call_command("send_domain_invitations", "testuser@gmail.com", stdout=output_stream)
|
||||||
|
|
||||||
# Check that we had the right numbers in our output
|
# Check that we had the right numbers in our output
|
||||||
output = output_stream.getvalue()
|
output = output_stream.getvalue()
|
||||||
print("Output:", output)
|
# should only be one domain we send email for
|
||||||
self.assertIn("Found 1 transition domains", output)
|
self.assertIn("Found 1 transition domains", output)
|
||||||
self.assertTrue("would send email to testuser@gmail.com", output)
|
self.assertTrue("would send email to testuser@gmail.com", output)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue