diff --git a/{{cookiecutter.project_slug}}/compose/django/entrypoint.py b/{{cookiecutter.project_slug}}/compose/django/entrypoint.py index de670713b..ec7870787 100644 --- a/{{cookiecutter.project_slug}}/compose/django/entrypoint.py +++ b/{{cookiecutter.project_slug}}/compose/django/entrypoint.py @@ -14,7 +14,7 @@ import psycopg2 import time -def exports(list=None): +def exports(**kwargs): """Useful environment variables :list: TODO """ @@ -25,7 +25,6 @@ def pingpost(): """ This is the function that actually trys to connect to postgres - """ try: if os.environ['POSTGRES_USER']: diff --git a/{{cookiecutter.project_slug}}/compose/django/test_entrypoint.py b/{{cookiecutter.project_slug}}/compose/django/test_entrypoint.py new file mode 100644 index 000000000..35ec583a9 --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/django/test_entrypoint.py @@ -0,0 +1,33 @@ +from unittest.mock import patch, PropertyMock +import unittest +import entrypoint + +class TestEntrypoint(unittest.TestCase): + + """ + We test that the entry point script works. + """ + def setUp(self): + self.prop = 'test' + + def test_exports(self): + with patch.dict(entrypoint.os.environ, {'newkey': 'newvalue'}, clear=True): + entrypoint.exports() + self.assertTrue(entrypoint.os.environ['REDIS_URL']) + self.assertTrue(entrypoint.os.environ['CELERY_BROKER_URL']) + self.assertTrue(entrypoint.os.environ['newkey']) + + @patch('entrypoint.psycopg2.connect') + def test_pingpost(self, mockConn): + """ + We must assert that psycopg2 conn is called + """ + with patch.dict(entrypoint.os.environ, { + 'POSTGRES_USER': 'newvalue', + 'POSTGRES_PASSWORD': 'test'}, clear=True): + entrypoint.main(('dir',)) + self.assertTrue(mockConn.called) + + +if __name__ == '__main__': + unittest.main()