From 7e12e6d48881406977f45dfcfa0fdd60f06b9ecc Mon Sep 17 00:00:00 2001 From: Andrew Shumway Date: Thu, 9 Nov 2023 12:00:31 -0700 Subject: [PATCH 01/15] Fixed UI permissions view --- app/templates/components/tick-cross.html | 9 +--- tests/app/main/views/test_manage_users.py | 59 +++-------------------- 2 files changed, 9 insertions(+), 59 deletions(-) diff --git a/app/templates/components/tick-cross.html b/app/templates/components/tick-cross.html index 41ce82de5..42badd676 100644 --- a/app/templates/components/tick-cross.html +++ b/app/templates/components/tick-cross.html @@ -1,17 +1,12 @@ {% macro tick_cross(yes, label, truthy_hint='Can', falsey_hint='Cannot') %} -
  • {% if yes %} +
  • {{ truthy_hint }} {{ label}} - {% else %} - - {{ falsey_hint }} - {{ label}} - +
  • {% endif %} - {% endmacro %} {% macro tick_cross_done_not_done(yes, label) %} diff --git a/tests/app/main/views/test_manage_users.py b/tests/app/main/views/test_manage_users.py index 718c5fbe5..2a93dbef0 100644 --- a/tests/app/main/views/test_manage_users.py +++ b/tests/app/main/views/test_manage_users.py @@ -39,28 +39,12 @@ from tests.conftest import ( ), ( create_active_user_empty_permissions(), - ( - "Test User With Empty Permissions (you) " - "Permissions " - "Cannot See dashboard " - "Cannot Send messages " - "Cannot Add and edit templates " - "Cannot Manage settings, team and usage " - "Cannot Manage API integration" - ), + ("Test User With Empty Permissions (you) " "Permissions"), False, ), ( create_active_user_view_permissions(), - ( - "Test User With Permissions (you) " - "Permissions " - "Can See dashboard " - "Cannot Send messages " - "Cannot Add and edit templates " - "Cannot Manage settings, team and usage " - "Cannot Manage API integration" - ), + ("Test User With Permissions (you) " "Permissions " "Can See dashboard"), False, ), ( @@ -69,10 +53,7 @@ from tests.conftest import ( "Test User With Permissions (you) " "Permissions " "Can See dashboard " - "Cannot Send messages " - "Can Add and edit templates " - "Cannot Manage settings, team and usage " - "Cannot Manage API integration" + "Can Add and edit templates" ), False, ), @@ -112,15 +93,7 @@ def test_should_show_overview_page( normalize_spaces(page.select(".user-list-item")[0].text) == expected_self_text ) - expected = ( - "ZZZZZZZZ zzzzzzz@example.gsa.gov " - "Permissions " - "Can See dashboard " - "Cannot Send messages " - "Cannot Add and edit templates " - "Cannot Manage settings, team and usage " - "Cannot Manage API integration" - ) + expected = "ZZZZZZZZ zzzzzzz@example.gsa.gov " "Permissions " "Can See dashboard" if add_details is True: expected = f"{expected} Change details for ZZZZZZZZ zzzzzzz@example.gsa.gov" @@ -259,23 +232,11 @@ def test_should_show_caseworker_on_overview_page( assert normalize_spaces(page.select_one("h1").text) == "Team members" assert normalize_spaces(page.select(".user-list-item")[0].text) == ( - "Test User With Permissions (you) " - "Permissions " - "Can See dashboard " - "Cannot Send messages " - "Cannot Add and edit templates " - "Cannot Manage settings, team and usage " - "Cannot Manage API integration" + "Test User With Permissions (you) " "Permissions " "Can See dashboard" ) # [1:5] are invited users assert normalize_spaces(page.select(".user-list-item")[6].text) == ( - "Test User zzzzzzz@example.gsa.gov " - "Permissions " - "Cannot See dashboard " - "Can Send messages " - "Cannot Add and edit templates " - "Cannot Manage settings, team and usage " - "Cannot Manage API integration" + "Test User zzzzzzz@example.gsa.gov " "Permissions " "Can Send messages" ) @@ -1240,7 +1201,6 @@ def test_cancel_invited_user_doesnt_work_if_user_not_invited_to_this_service( "Permissions " "Can See dashboard " "Can Send messages " - "Cannot Add and edit templates " "Can Manage settings, team and usage " "Can Manage API integration " "Cancel invitation for invited_user@test.gsa.gov" @@ -1250,13 +1210,8 @@ def test_cancel_invited_user_doesnt_work_if_user_not_invited_to_this_service( "cancelled", ( "invited_user@test.gsa.gov (cancelled invite) " - "Permissions " + "Permissions" # all permissions are greyed out - "Cannot See dashboard " - "Cannot Send messages " - "Cannot Add and edit templates " - "Cannot Manage settings, team and usage " - "Cannot Manage API integration" ), ), ], From 68701f80229f8d5b14bb5a0a730e456654c0dc6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Nov 2023 23:39:18 +0000 Subject: [PATCH 02/15] Bump moto from 4.2.7 to 4.2.8 Bumps [moto](https://github.com/getmoto/moto) from 4.2.7 to 4.2.8. - [Release notes](https://github.com/getmoto/moto/releases) - [Changelog](https://github.com/getmoto/moto/blob/master/CHANGELOG.md) - [Commits](https://github.com/getmoto/moto/compare/4.2.7...4.2.8) --- updated-dependencies: - dependency-name: moto dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/poetry.lock b/poetry.lock index b52c4548d..7273b2d6d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1465,13 +1465,13 @@ files = [ [[package]] name = "moto" -version = "4.2.7" +version = "4.2.8" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "moto-4.2.7-py2.py3-none-any.whl", hash = "sha256:3e0ef388900448485cd6eff18e9f7fcaa6cf4560b6fb536ba2e2e1278a5ecc59"}, - {file = "moto-4.2.7.tar.gz", hash = "sha256:1298006aaa6996b886658eb194cac0e3a5679c9fcce6cb13e741ccc5a7247abb"}, + {file = "moto-4.2.8-py2.py3-none-any.whl", hash = "sha256:e78b49ae8acee06a865e4963174bdf974dd66398fb3bb831a7428498506c0c56"}, + {file = "moto-4.2.8.tar.gz", hash = "sha256:9b5a363f36f8c3fb36388764e7b8c01c615da2f2cba7da3e681680de14bfc769"}, ] [package.dependencies] @@ -1486,29 +1486,29 @@ werkzeug = ">=0.5,<2.2.0 || >2.2.0,<2.2.1 || >2.2.1" xmltodict = "*" [package.extras] -all = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "ecdsa (!=0.15)", "graphql-core", "jsondiff (>=1.1.2)", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.1)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "setuptools", "sshpubkeys (>=3.1.0)"] +all = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "ecdsa (!=0.15)", "graphql-core", "jsondiff (>=1.1.2)", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.2)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "setuptools", "sshpubkeys (>=3.1.0)"] apigateway = ["PyYAML (>=5.1)", "ecdsa (!=0.15)", "openapi-spec-validator (>=0.5.0)", "python-jose[cryptography] (>=3.1.0,<4.0.0)"] apigatewayv2 = ["PyYAML (>=5.1)"] appsync = ["graphql-core"] awslambda = ["docker (>=3.0.0)"] batch = ["docker (>=3.0.0)"] -cloudformation = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "ecdsa (!=0.15)", "graphql-core", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.1)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "setuptools", "sshpubkeys (>=3.1.0)"] +cloudformation = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "ecdsa (!=0.15)", "graphql-core", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.2)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "setuptools", "sshpubkeys (>=3.1.0)"] cognitoidp = ["ecdsa (!=0.15)", "python-jose[cryptography] (>=3.1.0,<4.0.0)"] ds = ["sshpubkeys (>=3.1.0)"] -dynamodb = ["docker (>=3.0.0)", "py-partiql-parser (==0.4.1)"] -dynamodbstreams = ["docker (>=3.0.0)", "py-partiql-parser (==0.4.1)"] +dynamodb = ["docker (>=3.0.0)", "py-partiql-parser (==0.4.2)"] +dynamodbstreams = ["docker (>=3.0.0)", "py-partiql-parser (==0.4.2)"] ebs = ["sshpubkeys (>=3.1.0)"] ec2 = ["sshpubkeys (>=3.1.0)"] efs = ["sshpubkeys (>=3.1.0)"] eks = ["sshpubkeys (>=3.1.0)"] glue = ["pyparsing (>=3.0.7)"] iotdata = ["jsondiff (>=1.1.2)"] -proxy = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=2.5.1)", "ecdsa (!=0.15)", "graphql-core", "jsondiff (>=1.1.2)", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.1)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "setuptools", "sshpubkeys (>=3.1.0)"] -resourcegroupstaggingapi = ["PyYAML (>=5.1)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "ecdsa (!=0.15)", "graphql-core", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.1)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "sshpubkeys (>=3.1.0)"] +proxy = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=2.5.1)", "ecdsa (!=0.15)", "graphql-core", "jsondiff (>=1.1.2)", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.2)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "setuptools", "sshpubkeys (>=3.1.0)"] +resourcegroupstaggingapi = ["PyYAML (>=5.1)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "ecdsa (!=0.15)", "graphql-core", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.2)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "sshpubkeys (>=3.1.0)"] route53resolver = ["sshpubkeys (>=3.1.0)"] -s3 = ["PyYAML (>=5.1)", "py-partiql-parser (==0.4.1)"] -s3crc32c = ["PyYAML (>=5.1)", "crc32c", "py-partiql-parser (==0.4.1)"] -server = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "ecdsa (!=0.15)", "flask (!=2.2.0,!=2.2.1)", "flask-cors", "graphql-core", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.1)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "setuptools", "sshpubkeys (>=3.1.0)"] +s3 = ["PyYAML (>=5.1)", "py-partiql-parser (==0.4.2)"] +s3crc32c = ["PyYAML (>=5.1)", "crc32c", "py-partiql-parser (==0.4.2)"] +server = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "ecdsa (!=0.15)", "flask (!=2.2.0,!=2.2.1)", "flask-cors", "graphql-core", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.4.2)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "setuptools", "sshpubkeys (>=3.1.0)"] ssm = ["PyYAML (>=5.1)"] xray = ["aws-xray-sdk (>=0.93,!=0.96)", "setuptools"] From b1bd51730d6ae9d572f5c8b2dd2a9f912f0aaaa9 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Tue, 14 Nov 2023 07:51:56 -0800 Subject: [PATCH 03/15] notify-admin-916 revert restrictions on create service --- app/main/views/add_service.py | 4 ++-- tests/app/main/views/test_sign_in.py | 15 +-------------- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/app/main/views/add_service.py b/app/main/views/add_service.py index 1c187c5eb..339fd9e7c 100644 --- a/app/main/views/add_service.py +++ b/app/main/views/add_service.py @@ -6,7 +6,7 @@ from app import service_api_client from app.formatters import email_safe from app.main import main from app.main.forms import CreateServiceForm -from app.utils.user import user_is_gov_user, user_is_platform_admin +from app.utils.user import user_is_gov_user, user_is_logged_in def _create_service(service_name, organization_type, email_from, form): @@ -42,7 +42,7 @@ def _create_example_template(service_id): @main.route("/add-service", methods=["GET", "POST"]) @user_is_gov_user -@user_is_platform_admin +@user_is_logged_in def add_service(): default_organization_type = current_user.default_organization_type if default_organization_type is None: diff --git a/tests/app/main/views/test_sign_in.py b/tests/app/main/views/test_sign_in.py index 74c158ab8..018321fbe 100644 --- a/tests/app/main/views/test_sign_in.py +++ b/tests/app/main/views/test_sign_in.py @@ -4,7 +4,7 @@ import pytest from flask import url_for from app.models.user import User -from tests.conftest import SERVICE_ONE_ID, create_platform_admin_user, normalize_spaces +from tests.conftest import SERVICE_ONE_ID, normalize_spaces def test_render_sign_in_template_for_new_user(client_request): @@ -72,19 +72,6 @@ def test_doesnt_redirect_to_sign_in_if_no_session_info( with client_request.session_transaction() as session: session["current_session_id"] = None - # This returns a 403 now - with pytest.raises(AssertionError): - client_request.get("main.add_service") - - -def test_doesnt_redirect_to_sign_in_if_no_session_info_platform_admin( - client_request, - mock_get_organization_by_domain, -): - platform_admin = create_platform_admin_user() - client_request.login(platform_admin) - platform_admin["current_session_id"] = str(uuid.UUID(int=1)) - with client_request.session_transaction() as session: session["current_session_id"] = None From 31fb43e45c978da01bea0a3b396ce1ff208c30df Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Tue, 14 Nov 2023 10:39:24 -0800 Subject: [PATCH 04/15] notify-admin-487 platform admin view errors --- app/main/views/platform_admin.py | 1 - 1 file changed, 1 deletion(-) diff --git a/app/main/views/platform_admin.py b/app/main/views/platform_admin.py index c3aa98e4c..f953d1e58 100644 --- a/app/main/views/platform_admin.py +++ b/app/main/views/platform_admin.py @@ -689,7 +689,6 @@ def format_stats_by_service(services): "name": service["name"], "stats": service["statistics"], "restricted": service["restricted"], - "research_mode": service["research_mode"], "created_at": service["created_at"], "active": service["active"], } From 95295c1c86baa547f2be2bdadacf41940fcbeab4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Nov 2023 14:38:52 +0000 Subject: [PATCH 05/15] Bump newrelic from 9.1.1 to 9.1.2 Bumps [newrelic](https://github.com/newrelic/newrelic-python-agent) from 9.1.1 to 9.1.2. - [Release notes](https://github.com/newrelic/newrelic-python-agent/releases) - [Commits](https://github.com/newrelic/newrelic-python-agent/compare/v9.1.1...v9.1.2) --- updated-dependencies: - dependency-name: newrelic dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7273b2d6d..9f94d47dd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1590,26 +1590,26 @@ files = [ [[package]] name = "newrelic" -version = "9.1.1" +version = "9.1.2" description = "New Relic Python Agent" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ - {file = "newrelic-9.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:639abcaa1baee5a1a137036e328617e3a6bbb33a63814ef6227a8059d9062f0d"}, - {file = "newrelic-9.1.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:1bd46363c71c3fc5dbcc0e96e1698757f4e7ff82c73a0ccb28f18c2b9f9c5de5"}, - {file = "newrelic-9.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:fbebaf8d9801eef85827ca2906a7bdbc2a458a226455da49c71857e2ce2b264a"}, - {file = "newrelic-9.1.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:c1a91322fdb301a7a17aab8df2e70925c1e2a01a61136d86a0e433f6ff167c5c"}, - {file = "newrelic-9.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d677f8f11bd69d92a4b359c53a04e02094e5198ed1aa49c9b1ca235522d5efd5"}, - {file = "newrelic-9.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:289cebbb86eb92b6c133e18cd5640115a918db41ae791d11c1ded5b592dd7c23"}, - {file = "newrelic-9.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1b93effe99be14a1747a70e9368274091abbed2ef3c593b08a29732d72d83e4"}, - {file = "newrelic-9.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45966c5f083d1f1abb76828c4864d20296f6929053fbe4d122e164d84c78e388"}, - {file = "newrelic-9.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18e8e6af37cc084007913b991bced2ea2b8b31ed5318a397f210a9625c214459"}, - {file = "newrelic-9.1.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:437dfae553012dbe6e0f288b1f600ef27b0ebc2c367641723529b1a71fa541ae"}, - {file = "newrelic-9.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5489becb7cff1ba992405c9d891fd1743e8042910c97f89ac072fd562501cdb1"}, - {file = "newrelic-9.1.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8403b48807eae524ee1b2da254f4222834f3aef8326dd4475f0b22f924774bde"}, - {file = "newrelic-9.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:603158cb23ed6604845e4fc8ee2a052e60003ccbb7da0f4b00667cd0c7c77c11"}, - {file = "newrelic-9.1.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96dedf6c1a385bf7b4b1336b3e4b5a0d6e983b5305022176c7c43d327e768bf3"}, - {file = "newrelic-9.1.1.tar.gz", hash = "sha256:968a3662ccfb881498789105a52eec866b57c22b8cbdef43889ad76881c62a95"}, + {file = "newrelic-9.1.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9418171bed0662ab3660af6f20ee709e9f7fce8a55731878c35a89c90d885d3d"}, + {file = "newrelic-9.1.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3d13e9d52c35c7e22478f2c99490c35de6aa1c6b6015fb0c59fac0254c3cf74e"}, + {file = "newrelic-9.1.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:283d05094eef7ff035d21a3dc50f4af99e3c105f84521aa776e567d86b043ea3"}, + {file = "newrelic-9.1.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:88c60121523e71098b76f8c4e530b34be04ea4cead8350b9825467286dca8067"}, + {file = "newrelic-9.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8780510972301502642ed1af6f6832dab6aefa941aa4647554da053647d4449"}, + {file = "newrelic-9.1.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309c249e6bdd0258f54cd8102a37254653e1fa277cbe4d4a7cc2429a605a9d71"}, + {file = "newrelic-9.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d146438edc59912b0af25756abaeee6a3b7c62cabd3d4dd27fceb65935ba2350"}, + {file = "newrelic-9.1.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:287653c86a3b15b9f5b4e80626ae6cf58ca5a41df7f0ce1db806a8875fdcf233"}, + {file = "newrelic-9.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8bcb72041bad15c11f2992bda53cb8e21412cc7ba7a218cc5af75c67d4ebc686"}, + {file = "newrelic-9.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:314d26f475c2fcb1ee56a480dd94419a445cfcd35c9d436206bbf1e809dbfcec"}, + {file = "newrelic-9.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:343836e35135b48e38173112e053511fe155ed0b585093ec9b262dabde5d12f0"}, + {file = "newrelic-9.1.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da6ffcca0f339c375e736d622f80ec0acf7c4be4525ab7ccff5f08e460d09c35"}, + {file = "newrelic-9.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02b564807d7e9f798b4455a82fce4b78d80735a506ff8bca703637b83d9f5a02"}, + {file = "newrelic-9.1.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28fd021dd7361317bfa518e906efd707c296cad2a5bb6ea41a804f582d55e624"}, + {file = "newrelic-9.1.2.tar.gz", hash = "sha256:efa5430169828e36a459794ef46993db4b359ff0eab0af71aec16518d95274c9"}, ] [package.extras] From 492886d0ae0b863f0b208b8d65f5138bf3cc9908 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Nov 2023 16:45:48 +0000 Subject: [PATCH 06/15] Bump pytest-xdist from 3.3.1 to 3.4.0 Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 3.3.1 to 3.4.0. - [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v3.3.1...v3.4.0) --- updated-dependencies: - dependency-name: pytest-xdist dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9f94d47dd..942aefff1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2265,13 +2265,13 @@ python-slugify = ">=6.0.0,<9.0.0" [[package]] name = "pytest-xdist" -version = "3.3.1" +version = "3.4.0" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-xdist-3.3.1.tar.gz", hash = "sha256:d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93"}, - {file = "pytest_xdist-3.3.1-py3-none-any.whl", hash = "sha256:ff9daa7793569e6a68544850fd3927cd257cc03a7ef76c95e86915355e82b5f2"}, + {file = "pytest-xdist-3.4.0.tar.gz", hash = "sha256:3a94a931dd9e268e0b871a877d09fe2efb6175c2c23d60d56a6001359002b832"}, + {file = "pytest_xdist-3.4.0-py3-none-any.whl", hash = "sha256:e513118bf787677a427e025606f55e95937565e06dfaac8d87f55301e57ae607"}, ] [package.dependencies] @@ -2970,4 +2970,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.12" -content-hash = "45567b50df5ff3635275f69a93dddd5977af80fb2bdbe3484fe4dd643f41a8c2" +content-hash = "4a38fa6c01f64c2e813d2e65aa22334357fe8785fc76c2008668ed9eab7a27de" diff --git a/pyproject.toml b/pyproject.toml index 52fd83c54..661af4e57 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ pytest = "^7.4.3" pytest-env = "^1.1.1" pytest-mock = "^3.12.0" pytest-playwright = "^0.4.3" -pytest-xdist = "^3.3.1" +pytest-xdist = "^3.4.0" radon = "^6.0.1" requests-mock = "^1.11.0" vulture = "^2.10" From 06a15c5afccbce843f1277d20d9b327b526335ac Mon Sep 17 00:00:00 2001 From: Jonathan Bobel Date: Thu, 16 Nov 2023 12:02:59 -0500 Subject: [PATCH 07/15] 927 - Updates to math in Dashboard area --- app/__init__.py | 5 ++++- app/assets/javascripts/date.js | 9 +++++++++ app/templates/views/dashboard/_usage.html | 2 +- app/templates/views/dashboard/dashboard.html | 4 ++-- app/templates/views/usage.html | 2 +- gulpfile.js | 1 + 6 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 app/assets/javascripts/date.js diff --git a/app/__init__.py b/app/__init__.py index 1694fe018..3c71904df 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -301,7 +301,10 @@ def init_app(application): remaining_global_messages = global_limit - global_messages_count.get( "count" ) - return {"daily_global_messages_remaining": remaining_global_messages} + return { + "daily_global_messages_remaining": remaining_global_messages, + "global_message_limit": global_limit + } @application.before_request def record_start_time(): diff --git a/app/assets/javascripts/date.js b/app/assets/javascripts/date.js new file mode 100644 index 000000000..1d6a0d353 --- /dev/null +++ b/app/assets/javascripts/date.js @@ -0,0 +1,9 @@ +(function (window) { + + "use strict"; + + // Show the current year + document.getElementById("current-year").innerHTML = new Date().getFullYear(); + + +})(window); diff --git a/app/templates/views/dashboard/_usage.html b/app/templates/views/dashboard/_usage.html index e7f9e5f07..a2e46d007 100644 --- a/app/templates/views/dashboard/_usage.html +++ b/app/templates/views/dashboard/_usage.html @@ -15,7 +15,7 @@ - {{ big_number(40000 - sms_allowance_remaining, smaller=True) }} + {{ big_number(sms_sent, smaller=True) }} {% if sms_cost %} {{ big_number( diff --git a/app/templates/views/dashboard/dashboard.html b/app/templates/views/dashboard/dashboard.html index 851629621..828c83101 100644 --- a/app/templates/views/dashboard/dashboard.html +++ b/app/templates/views/dashboard/dashboard.html @@ -45,7 +45,7 @@ - {{ 5000 - daily_global_messages_remaining }} + {{ global_message_limit - daily_global_messages_remaining }} {{ daily_global_messages_remaining }} @@ -54,7 +54,7 @@ {% if current_user.has_permissions('manage_service') %} -

    2023

    +

    {{ ajax_block(partials, updates_url, 'usage') }} {{ show_more( url_for(".usage", service_id=current_service['id']), diff --git a/app/templates/views/usage.html b/app/templates/views/usage.html index a9801aabd..87ce5ade8 100644 --- a/app/templates/views/usage.html +++ b/app/templates/views/usage.html @@ -22,7 +22,7 @@

    Daily messages across all services

    -

    You have sent {{ 5000 - daily_global_messages_remaining }} of your 5000 daily messages allowance.

    +

    You have sent {{ global_message_limit - daily_global_messages_remaining }} of your {{ global_message_limit }} daily messages allowance.

    You have {{ daily_global_messages_remaining }} messages remaining.

    Text messages

    diff --git a/gulpfile.js b/gulpfile.js index f26ef6f39..541c39cf4 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -126,6 +126,7 @@ const javascripts = () => { paths.src + 'javascripts/errorBanner.js', paths.src + 'javascripts/homepage.js', paths.src + 'javascripts/timeoutPopup.js', + paths.src + 'javascripts/date.js', paths.src + 'javascripts/main.js', ]) .pipe(plugins.prettyerror()) From 6cee00929ecc2a4cffda9267500d760ebb616cf7 Mon Sep 17 00:00:00 2001 From: Jonathan Bobel Date: Thu, 16 Nov 2023 12:26:35 -0500 Subject: [PATCH 08/15] Fixed tests --- app/__init__.py | 3 ++- tests/app/main/views/test_dashboard.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index 3c71904df..ab3e924a2 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -284,6 +284,7 @@ def init_app(application): @application.context_processor def _attach_current_global_daily_messages(): + global global_limit remaining_global_messages = 0 if current_app: if request.view_args: @@ -302,8 +303,8 @@ def init_app(application): "count" ) return { + "global_message_limit": global_limit, "daily_global_messages_remaining": remaining_global_messages, - "global_message_limit": global_limit } @application.before_request diff --git a/tests/app/main/views/test_dashboard.py b/tests/app/main/views/test_dashboard.py index f0e07f105..f2c9af263 100644 --- a/tests/app/main/views/test_dashboard.py +++ b/tests/app/main/views/test_dashboard.py @@ -1531,7 +1531,7 @@ def test_service_dashboard_shows_usage( assert normalize_spaces(page.select_one("[data-key=usage]").text) == ( "Daily Usage Remaining " - "40,000 " + "251,800 " "$29.85 " "spent on text messages" # Disabled for pilot @@ -1566,4 +1566,4 @@ def test_service_dashboard_shows_free_allowance( usage_text = normalize_spaces(page.select_one("[data-key=usage]").text) assert "spent on text messages" not in usage_text - assert "Daily Usage Remaining -209,000 249,000" in usage_text + assert "Daily Usage Remaining 1,000 249,000" in usage_text From 8d6c99e5eebf95b02eaabdbb29bdad1814246c9a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Nov 2023 23:21:31 +0000 Subject: [PATCH 09/15] Bump moto from 4.2.8 to 4.2.9 Bumps [moto](https://github.com/getmoto/moto) from 4.2.8 to 4.2.9. - [Release notes](https://github.com/getmoto/moto/releases) - [Changelog](https://github.com/getmoto/moto/blob/master/CHANGELOG.md) - [Commits](https://github.com/getmoto/moto/compare/4.2.8...4.2.9) --- updated-dependencies: - dependency-name: moto dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 942aefff1..d6dfbed0e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1465,13 +1465,13 @@ files = [ [[package]] name = "moto" -version = "4.2.8" +version = "4.2.9" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "moto-4.2.8-py2.py3-none-any.whl", hash = "sha256:e78b49ae8acee06a865e4963174bdf974dd66398fb3bb831a7428498506c0c56"}, - {file = "moto-4.2.8.tar.gz", hash = "sha256:9b5a363f36f8c3fb36388764e7b8c01c615da2f2cba7da3e681680de14bfc769"}, + {file = "moto-4.2.9-py2.py3-none-any.whl", hash = "sha256:c85289d13d15d5274d0a643381af1f1b03d7ee88f0943c9d2d6c28e6177a298a"}, + {file = "moto-4.2.9.tar.gz", hash = "sha256:24de81eeaa450a20b57c5cdf9a757ea5216bddc7db798e335d2de1f2376bf324"}, ] [package.dependencies] From f922331040ddd28fd0d81632d64fe2da5603cd61 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Nov 2023 23:55:51 +0000 Subject: [PATCH 10/15] Bump newrelic from 9.1.2 to 9.2.0 Bumps [newrelic](https://github.com/newrelic/newrelic-python-agent) from 9.1.2 to 9.2.0. - [Release notes](https://github.com/newrelic/newrelic-python-agent/releases) - [Commits](https://github.com/newrelic/newrelic-python-agent/compare/v9.1.2...v9.2.0) --- updated-dependencies: - dependency-name: newrelic dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/poetry.lock b/poetry.lock index d6dfbed0e..68a247592 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1590,26 +1590,26 @@ files = [ [[package]] name = "newrelic" -version = "9.1.2" +version = "9.2.0" description = "New Relic Python Agent" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ - {file = "newrelic-9.1.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9418171bed0662ab3660af6f20ee709e9f7fce8a55731878c35a89c90d885d3d"}, - {file = "newrelic-9.1.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3d13e9d52c35c7e22478f2c99490c35de6aa1c6b6015fb0c59fac0254c3cf74e"}, - {file = "newrelic-9.1.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:283d05094eef7ff035d21a3dc50f4af99e3c105f84521aa776e567d86b043ea3"}, - {file = "newrelic-9.1.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:88c60121523e71098b76f8c4e530b34be04ea4cead8350b9825467286dca8067"}, - {file = "newrelic-9.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8780510972301502642ed1af6f6832dab6aefa941aa4647554da053647d4449"}, - {file = "newrelic-9.1.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309c249e6bdd0258f54cd8102a37254653e1fa277cbe4d4a7cc2429a605a9d71"}, - {file = "newrelic-9.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d146438edc59912b0af25756abaeee6a3b7c62cabd3d4dd27fceb65935ba2350"}, - {file = "newrelic-9.1.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:287653c86a3b15b9f5b4e80626ae6cf58ca5a41df7f0ce1db806a8875fdcf233"}, - {file = "newrelic-9.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8bcb72041bad15c11f2992bda53cb8e21412cc7ba7a218cc5af75c67d4ebc686"}, - {file = "newrelic-9.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:314d26f475c2fcb1ee56a480dd94419a445cfcd35c9d436206bbf1e809dbfcec"}, - {file = "newrelic-9.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:343836e35135b48e38173112e053511fe155ed0b585093ec9b262dabde5d12f0"}, - {file = "newrelic-9.1.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da6ffcca0f339c375e736d622f80ec0acf7c4be4525ab7ccff5f08e460d09c35"}, - {file = "newrelic-9.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02b564807d7e9f798b4455a82fce4b78d80735a506ff8bca703637b83d9f5a02"}, - {file = "newrelic-9.1.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28fd021dd7361317bfa518e906efd707c296cad2a5bb6ea41a804f582d55e624"}, - {file = "newrelic-9.1.2.tar.gz", hash = "sha256:efa5430169828e36a459794ef46993db4b359ff0eab0af71aec16518d95274c9"}, + {file = "newrelic-9.2.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:2b942eb9cfe8f62268e091d399d95a6762ef5fb90636839d61a30391efbcfbf0"}, + {file = "newrelic-9.2.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:56df42fc26400d8ee1e324bfff40439399149b15fbeb8ffd532a96e54576e69c"}, + {file = "newrelic-9.2.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:2cfa86a5c3388490335385e0c8c155ee1f06d738282721bd05a8c7ceed33fd92"}, + {file = "newrelic-9.2.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4139ef79e6abb7458edcf67f4ac0ce0b7dacbb58357f4d41716971fb15f778b6"}, + {file = "newrelic-9.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d36cf6ad3cf1df3989dba9c8a5dbc36150dd1852ffeccdf6b957f21a2d5869c0"}, + {file = "newrelic-9.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:420f07d0ea1bfde21507e6a59c5714f3a0451d01ab08f5ef79dd42b4552ef5ac"}, + {file = "newrelic-9.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1bddb5793117d91e130f2f93a86f5c3d9f29823329d35a38f8f64b738b3335e"}, + {file = "newrelic-9.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5b1edfc48c3d483d990bab28f268d64914f76180e057424914bb29e5bcfa927"}, + {file = "newrelic-9.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f6c5065c434f8fb65e0e5a96a0e385be9baf5625e024cb9c87f345d966a9e5f"}, + {file = "newrelic-9.2.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b151f1830590cebb53ddf45462101a0ef59d91e28a46a1a652626dc0d4c0148d"}, + {file = "newrelic-9.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9db7dc6541a519acb327f9409c96f42faefb60748f0827c1dacce7613f88864"}, + {file = "newrelic-9.2.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2a69115893ec53b1815b1041e231265abcf60d7d4c07ccc335b6146459e07ed"}, + {file = "newrelic-9.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2911fb601b2a66eb0ab328342e0253889d94102c0b823f9dc5f6124917f9fbac"}, + {file = "newrelic-9.2.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88c799cb29e6b9c20fed50709edea6bc2b05fc5e40d0fd4d3fe2a37ae4352043"}, + {file = "newrelic-9.2.0.tar.gz", hash = "sha256:32395e1c6a97cc96427abaf4b274ccf00709613a68d18b51fc2c0711cda89bc7"}, ] [package.extras] From 077b1b8ed9bed004c9071848a4cbdf4c12741fb0 Mon Sep 17 00:00:00 2001 From: Jonathan Bobel Date: Mon, 20 Nov 2023 13:45:35 -0500 Subject: [PATCH 11/15] Updated utils --- app/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/__init__.py b/app/__init__.py index ab3e924a2..21f0c8e03 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -284,7 +284,7 @@ def init_app(application): @application.context_processor def _attach_current_global_daily_messages(): - global global_limit + global_limit = 0 remaining_global_messages = 0 if current_app: if request.view_args: From e4c97e925f2be33d9aa373ac7be22fbb869bcd2f Mon Sep 17 00:00:00 2001 From: Jonathan Bobel Date: Tue, 21 Nov 2023 15:38:41 -0500 Subject: [PATCH 12/15] Adding a test for the dashboard usage area --- tests/app/main/views/test_dashboard.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/tests/app/main/views/test_dashboard.py b/tests/app/main/views/test_dashboard.py index f2c9af263..031bc0316 100644 --- a/tests/app/main/views/test_dashboard.py +++ b/tests/app/main/views/test_dashboard.py @@ -1517,6 +1517,7 @@ def test_breadcrumb_shows_if_service_is_suspended( ], ) def test_service_dashboard_shows_usage( + mocker, client_request, service_one, mock_get_service_templates, @@ -1526,18 +1527,22 @@ def test_service_dashboard_shows_usage( mock_get_free_sms_fragment_limit, permissions, ): + mocker.patch( + "app.service_api_client.get_global_notification_count", + return_value={ + "count": 500, + }, + ) + service_one["permissions"] = permissions page = client_request.get("main.service_dashboard", service_id=SERVICE_ONE_ID) - assert normalize_spaces(page.select_one("[data-key=usage]").text) == ( - "Daily Usage Remaining " - "251,800 " - "$29.85 " - "spent on text messages" - # Disabled for pilot - # '0 ' - # 'email disabled during SMS pilot' - ) + table_rows = page.find_all("tbody")[0].find_all("tr") + + assert len(table_rows) == 1 + + assert "500" in table_rows[0].find_all("td")[0].text + assert "9500" in table_rows[0].find_all("td")[1].text def test_service_dashboard_shows_free_allowance( From 2178659d3138e83d198373a7c12bddef69341d1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Nov 2023 23:31:43 +0000 Subject: [PATCH 13/15] Bump exceptiongroup from 1.1.3 to 1.2.0 Bumps [exceptiongroup](https://github.com/agronholm/exceptiongroup) from 1.1.3 to 1.2.0. - [Release notes](https://github.com/agronholm/exceptiongroup/releases) - [Changelog](https://github.com/agronholm/exceptiongroup/blob/main/CHANGES.rst) - [Commits](https://github.com/agronholm/exceptiongroup/compare/1.1.3...1.2.0) --- updated-dependencies: - dependency-name: exceptiongroup dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 68a247592..1a61346ce 100644 --- a/poetry.lock +++ b/poetry.lock @@ -625,13 +625,13 @@ six = ">=1.10.0" [[package]] name = "exceptiongroup" -version = "1.1.3" +version = "1.2.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, - {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, ] [package.extras] @@ -2970,4 +2970,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.12" -content-hash = "4a38fa6c01f64c2e813d2e65aa22334357fe8785fc76c2008668ed9eab7a27de" +content-hash = "7acdbc62b3764d6a65058ad66c405124dee447081046bb348a6b9ebe3c463053" diff --git a/pyproject.toml b/pyproject.toml index 661af4e57..b2647d294 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ readme = "README.md" python = ">=3.9,<3.12" ago = "~=0.0.95" blinker = "~=1.7" -exceptiongroup = "==1.1.3" +exceptiongroup = "==1.2.0" flask = "~=2.3" flask-basicauth = "~=0.2" flask-login = "^0.6" From ce21df6048dc7738f39970dafb06f3cf6e9422f2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Nov 2023 14:15:17 +0000 Subject: [PATCH 14/15] Bump pytest-xdist from 3.4.0 to 3.5.0 Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 3.4.0 to 3.5.0. - [Release notes](https://github.com/pytest-dev/pytest-xdist/releases) - [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v3.4.0...v3.5.0) --- updated-dependencies: - dependency-name: pytest-xdist dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 1a61346ce..04abd1595 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2265,13 +2265,13 @@ python-slugify = ">=6.0.0,<9.0.0" [[package]] name = "pytest-xdist" -version = "3.4.0" +version = "3.5.0" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-xdist-3.4.0.tar.gz", hash = "sha256:3a94a931dd9e268e0b871a877d09fe2efb6175c2c23d60d56a6001359002b832"}, - {file = "pytest_xdist-3.4.0-py3-none-any.whl", hash = "sha256:e513118bf787677a427e025606f55e95937565e06dfaac8d87f55301e57ae607"}, + {file = "pytest-xdist-3.5.0.tar.gz", hash = "sha256:cbb36f3d67e0c478baa57fa4edc8843887e0f6cfc42d677530a36d7472b32d8a"}, + {file = "pytest_xdist-3.5.0-py3-none-any.whl", hash = "sha256:d075629c7e00b611df89f490a5063944bee7a4362a5ff11c7cc7824a03dfce24"}, ] [package.dependencies] @@ -2970,4 +2970,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.12" -content-hash = "7acdbc62b3764d6a65058ad66c405124dee447081046bb348a6b9ebe3c463053" +content-hash = "c624e38a1adc079ddca3879e654114380d275deb3a56e180488fc8f3471178f0" diff --git a/pyproject.toml b/pyproject.toml index b2647d294..b28ee9b53 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ pytest = "^7.4.3" pytest-env = "^1.1.1" pytest-mock = "^3.12.0" pytest-playwright = "^0.4.3" -pytest-xdist = "^3.4.0" +pytest-xdist = "^3.5.0" radon = "^6.0.1" requests-mock = "^1.11.0" vulture = "^2.10" From a6ea9fd25ca1df435bdd17e2ee8741b1e6b4bcf9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Nov 2023 14:33:13 +0000 Subject: [PATCH 15/15] Bump humanize from 4.8.0 to 4.9.0 Bumps [humanize](https://github.com/python-humanize/humanize) from 4.8.0 to 4.9.0. - [Release notes](https://github.com/python-humanize/humanize/releases) - [Commits](https://github.com/python-humanize/humanize/compare/4.8.0...4.9.0) --- updated-dependencies: - dependency-name: humanize dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 04abd1595..ff50d9b19 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1054,13 +1054,13 @@ lxml = ["lxml"] [[package]] name = "humanize" -version = "4.8.0" +version = "4.9.0" description = "Python humanize utilities" optional = false python-versions = ">=3.8" files = [ - {file = "humanize-4.8.0-py3-none-any.whl", hash = "sha256:8bc9e2bb9315e61ec06bf690151ae35aeb65651ab091266941edf97c90836404"}, - {file = "humanize-4.8.0.tar.gz", hash = "sha256:9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8"}, + {file = "humanize-4.9.0-py3-none-any.whl", hash = "sha256:ce284a76d5b1377fd8836733b983bfb0b76f1aa1c090de2566fcf008d7f6ab16"}, + {file = "humanize-4.9.0.tar.gz", hash = "sha256:582a265c931c683a7e9b8ed9559089dea7edcf6cc95be39a3cbc2c5d5ac2bcfa"}, ] [package.extras] @@ -2970,4 +2970,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.12" -content-hash = "c624e38a1adc079ddca3879e654114380d275deb3a56e180488fc8f3471178f0" +content-hash = "f49ee7dbab2abe9884ac8576ebe3b654d5ba7754249908ccb5c50e05c2629666" diff --git a/pyproject.toml b/pyproject.toml index b28ee9b53..f325a2212 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ flask-wtf = "^1.2" govuk-bank-holidays = "==0.13" govuk-frontend-jinja = {git = "https://github.com/alphagov/govuk-frontend-jinja.git", tag = "v0.5.8-alpha"} gunicorn = {version = "==21.2.0", extras = ["eventlet"]} -humanize = "~=4.8" +humanize = "~=4.9" itsdangerous = "~=2.1" jinja2 = "~=3.1" newrelic = "*"