Merge pull request #2268 from GSA/notify-admin-2245

get rid of some noise in status updates
This commit is contained in:
Kenneth Kehl
2025-01-20 11:27:09 -08:00
committed by GitHub
7 changed files with 46 additions and 18 deletions
+3 -3
View File
@@ -555,7 +555,7 @@
"filename": "tests/app/main/views/test_register.py", "filename": "tests/app/main/views/test_register.py",
"hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8",
"is_verified": false, "is_verified": false,
"line_number": 200, "line_number": 199,
"is_secret": false "is_secret": false
}, },
{ {
@@ -563,7 +563,7 @@
"filename": "tests/app/main/views/test_register.py", "filename": "tests/app/main/views/test_register.py",
"hashed_secret": "bb5b7caa27d005d38039e3797c3ddb9bcd22c3c8", "hashed_secret": "bb5b7caa27d005d38039e3797c3ddb9bcd22c3c8",
"is_verified": false, "is_verified": false,
"line_number": 273, "line_number": 272,
"is_secret": false "is_secret": false
} }
], ],
@@ -684,5 +684,5 @@
} }
] ]
}, },
"generated_at": "2025-01-13T20:16:58Z" "generated_at": "2025-01-16T16:38:48Z"
} }
+1 -7
View File
@@ -32,11 +32,7 @@ def check_feature_flags():
@main.route("/test/feature-flags") @main.route("/test/feature-flags")
def test_feature_flags(): def test_feature_flags():
return jsonify( return jsonify(
{ {"FEATURE_ABOUT_PAGE_ENABLED": current_app.config["FEATURE_ABOUT_PAGE_ENABLED"]}
"FEATURE_ABOUT_PAGE_ENABLED": current_app.config[
"FEATURE_ABOUT_PAGE_ENABLED"
]
}
) )
@@ -235,7 +231,6 @@ def contact():
return render_template( return render_template(
"views/contact.html", "views/contact.html",
navigation_links=about_notify_nav(), navigation_links=about_notify_nav(),
) )
@@ -268,7 +263,6 @@ def join_notify():
return render_template( return render_template(
"views/join-notify.html", "views/join-notify.html",
navigation_links=about_notify_nav(), navigation_links=about_notify_nav(),
) )
+12
View File
@@ -1,3 +1,6 @@
import json
from app.extensions import redis_client
from app.notify_client import NotifyAdminAPIClient from app.notify_client import NotifyAdminAPIClient
@@ -15,10 +18,19 @@ class BillingAPIClient(NotifyAdminAPIClient):
) )
def get_free_sms_fragment_limit_for_year(self, service_id, year=None): def get_free_sms_fragment_limit_for_year(self, service_id, year=None):
frag_limit = redis_client.get(f"free-sms-fragment-limit-{service_id}-{year}")
if frag_limit is not None:
return json.loads(frag_limit.decode("utf-8"))
result = self.get( result = self.get(
"/service/{0}/billing/free-sms-fragment-limit".format(service_id), "/service/{0}/billing/free-sms-fragment-limit".format(service_id),
params=dict(financial_year_start=year), params=dict(financial_year_start=year),
) )
redis_client.set(
f"free-sms-fragment-limit-{service_id}-{year}",
json.dumps(result["free_sms_fragment_limit"]),
ex=30,
)
return result["free_sms_fragment_limit"] return result["free_sms_fragment_limit"]
def create_or_update_free_sms_fragment_limit( def create_or_update_free_sms_fragment_limit(
+13 -1
View File
@@ -1,3 +1,4 @@
import json
from datetime import datetime, timezone from datetime import datetime, timezone
from app.extensions import redis_client from app.extensions import redis_client
@@ -517,7 +518,18 @@ class ServiceAPIClient(NotifyAdminAPIClient):
return int(count) return int(count)
def get_global_notification_count(self, service_id): def get_global_notification_count(self, service_id):
return self.get("/service/{}/notification-count".format(service_id)) notification_count = redis_client.get(f"notification-count-{service_id}")
if notification_count is not None:
return json.loads(notification_count.decode("utf-8"))
notification_count = self.get(
"/service/{}/notification-count".format(service_id)
)
redis_client.set(
f"notification-count-{service_id}", json.dumps(notification_count), ex=30
)
return notification_count
def get_service_invite_data(self, redis_key): def get_service_invite_data(self, redis_key):
""" """
+1 -3
View File
@@ -122,9 +122,7 @@ def test_static_pages(client_request, mock_get_organization_by_domain, view, moc
session["user_id"] = None session["user_id"] = None
request( request(
_expected_status=302, _expected_status=302,
_expected_redirect="/sign-in?next={}".format( _expected_redirect="/sign-in?next={}".format(url_for("main.{}".format(view))),
url_for("main.{}".format(view))
),
) )
+2 -3
View File
@@ -144,9 +144,8 @@ def test_should_return_200_when_email_is_not_gov_uk(
_expected_status=200, _expected_status=200,
) )
assert ( assert "Enter a public sector email address." in normalize_spaces(
"Enter a public sector email address." page.select_one(".usa-error-message").text
in normalize_spaces(page.select_one(".usa-error-message").text)
) )
+14 -1
View File
@@ -10,7 +10,15 @@ def test_get_free_sms_fragment_limit_for_year_correct_endpoint(mocker, api_user_
expected_url = "/service/{}/billing/free-sms-fragment-limit".format(service_id) expected_url = "/service/{}/billing/free-sms-fragment-limit".format(service_id)
client = BillingAPIClient() client = BillingAPIClient()
mock_get = mocker.patch("app.notify_client.billing_api_client.BillingAPIClient.get") mock_get = mocker.patch(
"app.notify_client.billing_api_client.BillingAPIClient.get",
return_value={"free_sms_fragment_limit": 0},
)
mocker.patch(
"app.notify_client.billing_api_client.redis_client.get", return_value=None
)
mocker.patch("app.notify_client.billing_api_client.redis_client.set")
client.get_free_sms_fragment_limit_for_year(service_id, year=1999) client.get_free_sms_fragment_limit_for_year(service_id, year=1999)
mock_get.assert_called_once_with( mock_get.assert_called_once_with(
@@ -28,6 +36,11 @@ def test_post_free_sms_fragment_limit_for_current_year_endpoint(
) )
client = BillingAPIClient() client = BillingAPIClient()
mocker.patch(
"app.notify_client.billing_api_client.redis_client.get", return_value=None
)
mocker.patch("app.notify_client.billing_api_client.redis_client.set")
client.create_or_update_free_sms_fragment_limit( client.create_or_update_free_sms_fragment_limit(
service_id=service_id, free_sms_fragment_limit=1111 service_id=service_id, free_sms_fragment_limit=1111
) )