Skip to content

Commit

Permalink
Merge pull request #311 from fecgov/release/sprint-18
Browse files Browse the repository at this point in the history
Release/sprint 18
  • Loading branch information
toddlees authored Jan 6, 2023
2 parents c333c0d + 18b5a5d commit ceb9663
Show file tree
Hide file tree
Showing 38 changed files with 636 additions and 716 deletions.
12 changes: 6 additions & 6 deletions .safety.dependency.ignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
# Example:
# 40104 2022-01-15
#
48040 2022-12-01 # django
48041 2022-12-01 # django
48542 2022-12-01 # pyjwt
49733 2022-12-01 # django
50454 2022-12-01 # django
51340 2022-12-01 # django
48040 2022-12-31 # django
48041 2022-12-31 # django
48542 2022-12-31 # pyjwt
49733 2022-12-31 # django
50454 2022-12-31 # django
51340 2022-12-31 # django
16 changes: 16 additions & 0 deletions Dockerfile-e2e
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"]
12 changes: 12 additions & 0 deletions Worker_Dockerfile-e2e
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 django-backend/fecfiler/authentication/authenticate_login.py

This file was deleted.

2 changes: 1 addition & 1 deletion django-backend/fecfiler/authentication/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
BaseUserManager,
)
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.utils import timezone
from django.core.mail import send_mail

Expand Down
8 changes: 0 additions & 8 deletions django-backend/fecfiler/authentication/permissions.py

This file was deleted.

3 changes: 0 additions & 3 deletions django-backend/fecfiler/authentication/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@


class AccountSerializer(serializers.ModelSerializer):
# password = serializers.CharField(write_only=True, required=False)
# confirm_password = serializers.CharField(write_only=True, required=False)

class Meta:
model = Account
fields = (
Expand Down
29 changes: 0 additions & 29 deletions django-backend/fecfiler/authentication/test_authentication.py

This file was deleted.

34 changes: 0 additions & 34 deletions django-backend/fecfiler/authentication/test_token.py

This file was deleted.

65 changes: 65 additions & 0 deletions django-backend/fecfiler/authentication/test_views.py
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)
Loading

0 comments on commit ceb9663

Please sign in to comment.