-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #311 from fecgov/release/sprint-18
Release/sprint 18
- Loading branch information
Showing
38 changed files
with
636 additions
and
716 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
FROM python:3.8 | ||
ENV PYTHONUNBUFFERED=1 | ||
|
||
RUN mkdir /opt/nxg_fec_e2e | ||
WORKDIR /opt/nxg_fec_e2e | ||
ADD requirements.txt /opt | ||
ADD django-backend /opt/nxg_fec_e2e/ | ||
RUN pip3 install -r /opt/requirements.txt | ||
|
||
RUN mv /etc/localtime /etc/localtime.backup && ln -s /usr/share/zoneinfo/EST5EDT /etc/localtime | ||
|
||
RUN useradd nxgu --no-create-home --home /opt/nxg_fec_e2e && chown -R nxgu:nxgu /opt/nxg_fec_e2e | ||
USER nxgu | ||
|
||
EXPOSE 8080 | ||
ENTRYPOINT ["/bin/sh", "-c", "python wait_for_db.py && python manage.py migrate && python manage.py loaddata fixtures/e2e-test-data.json && gunicorn --bind 0.0.0.0:8080 fecfiler.wsgi -w 10 -t 200 --reload"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM python:3.8 | ||
ENV PYTHONUNBUFFERED=1 | ||
|
||
RUN mkdir /opt/nxg_fec_e2e | ||
WORKDIR /opt/nxg_fec_e2e | ||
ADD requirements.txt /opt | ||
ADD django-backend /opt/nxg_fec_e2e/ | ||
RUN pip3 install -r /opt/requirements.txt | ||
|
||
RUN mv /etc/localtime /etc/localtime.backup && ln -s /usr/share/zoneinfo/EST5EDT /etc/localtime | ||
|
||
ENTRYPOINT ["/bin/sh", "-c", "celery -A fecfiler worker --loglevel=info"] |
112 changes: 0 additions & 112 deletions
112
django-backend/fecfiler/authentication/authenticate_login.py
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 0 additions & 29 deletions
29
django-backend/fecfiler/authentication/test_authentication.py
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
from unittest.mock import Mock | ||
from django.test import RequestFactory, TestCase | ||
from fecfiler.authentication.models import Account | ||
from fecfiler.authentication.views import (handle_invalid_login, | ||
handle_valid_login, | ||
update_last_login_time) | ||
|
||
from .views import (generate_username, | ||
login_dot_gov_logout, | ||
login_redirect, | ||
logout_redirect) | ||
|
||
|
||
class AuthenticationTest(TestCase): | ||
fixtures = ["test_accounts"] | ||
acc = None | ||
|
||
def setUp(self): | ||
self.user = Account.objects.get(cmtee_id="C12345678") | ||
self.factory = RequestFactory() | ||
self.acc = Account.objects.get(email="[email protected]") | ||
|
||
def test_login_dot_gov_logout_happy_path(self): | ||
test_state = 'test_state' | ||
|
||
mock_request = Mock() | ||
mock_request.session = Mock() | ||
mock_request.get_signed_cookie.return_value = test_state | ||
|
||
retval = login_dot_gov_logout(mock_request) | ||
self.maxDiff = None | ||
self.assertEqual(retval, ('https://idp.int.identitysandbox.gov' | ||
'/openid_connect/logout?' | ||
'client_id=None' | ||
'&post_logout_redirect_uri=None' | ||
'&state=test_state')) | ||
|
||
def test_login_dot_gov_login_redirect(self): | ||
request = self.factory.get("/") | ||
request.user = self.user | ||
request.session = {} | ||
retval = login_redirect(request) | ||
self.assertEqual(retval.status_code, 302) | ||
|
||
def test_login_dot_gov_logout_redirect(self): | ||
retval = logout_redirect(self.factory.get('/')) | ||
self.assertEqual(retval.status_code, 302) | ||
|
||
def test_generate_username(self): | ||
test_uuid = 'test_uuid' | ||
retval = generate_username(test_uuid) | ||
self.assertEqual(test_uuid, retval) | ||
|
||
def test_update_login_time(self): | ||
prev_time = self.acc.last_login | ||
update_last_login_time(self.acc) | ||
self.assertNotEqual(self.acc.last_login, prev_time) | ||
|
||
def test_invalid_login(self): | ||
resp = handle_invalid_login("random_username") | ||
self.assertEqual(resp.status_code, 401) | ||
|
||
def test_valid_login(self): | ||
resp = handle_valid_login(self.acc) | ||
self.assertEqual(resp.status_code, 200) |
Oops, something went wrong.