Commit Graph

6460 Commits

Author SHA1 Message Date
Katie Smith
87cb6f2597 Merge pull request #2513 from alphagov/archive-user
Add endpoint and DAO function to archive user
2019-06-06 09:41:17 +01:00
Katie Smith
ffcd731a68 Add endpoint to archive a user
This archives a user if their state is 'active'.
2019-06-05 14:54:52 +01:00
Katie Smith
bef24408d0 Add DAO function to archive a user
For a user to be able to be archived, each service that they are a
member of must have at least one other user who is active and who has
the 'manage-settings' permission.

To archive a user we remove them from all their services and
organisations, remove all permissions that they have and change some of
their details:
- email_address will start with '_archived_<date>'
- the current_session_id is changed (to sign them out of their current
session)
- mobile_number is removed (so we also need to switch their auth type to
email_auth)
- password is changed to a random password
- state is changed to 'inactive'

If any of the steps fail, we rollback all changes.
2019-06-05 14:54:52 +01:00
Katie Smith
844f22bcd0 Remove unused fixture and add test function to create permissions 2019-06-05 14:54:52 +01:00
Leo Hemsted
aab8b99605 Merge pull request #2524 from alphagov/free-allowance-report
Free sms allowance in billing report
2019-06-05 14:34:55 +01:00
Rebecca Law
a1f6a5f78a Update the unique constraint for the name of an api_key so that it only looks at api_keys that are not expired (or expiry_date is null).
This will allow clients to create a new api key with the same name.
2019-06-04 15:30:27 +01:00
Leo Hemsted
26f6af988b Merge pull request #2527 from alphagov/bump-utils
Bump utils to 32.0.1
2019-06-04 14:32:19 +01:00
Leo Hemsted
202055a88b Merge pull request #2528 from alphagov/delete-count
Fix delete count
2019-06-04 14:06:49 +01:00
Leo Hemsted
7db2b031a2 add free_sms_fragment_limit to platform admin billing report
a little complicated because the free_sms_fragment_limit comes from
the annual_billing table. This relies on there always being at least
one row for every service on annual billing - I checked on prod and
that is true.

Join to the annual billing table, then join to a subquery getting the
latest year for that service to extract only the most recent year.
2019-06-04 11:34:10 +01:00
Leo Hemsted
968d94d350 clean up dao_fetch_live_services
a bit of DRY - use the column definitions to determine what goes into
the dict, and use a `next` iterator rather than a while loop to find
the existing service row. Take advantage of dict mutability to avoid
needing to refer to the list by index.

Also change the tests so if there's an error, the diff is slightly
more readable. But not much
2019-06-04 11:33:19 +01:00
Leo Hemsted
208abfc722 remove unused function 2019-06-04 11:33:19 +01:00
Leo Hemsted
4fc7cc6f2e clean up tests
* remove unnecessary parametrisation where we're not testing
type-specific things
* remove some unused fixtures
* replace len(x.all()) with x.count()
* don't deleted notificationhistory now that we know it's not written
* remove some pre-test function asserts
2019-06-04 11:27:28 +01:00
Andy Paine
226b6e46a2 Merge pull request #2523 from alphagov/point-preview-statsd-at-tools
AUTO-413: Point preview statsd at tools
2019-06-04 10:59:08 +01:00
Leo Hemsted
2ac2cbbd37 don't pass running totals in to functions
or you can easily end up double-counting things. (the test written
previously returned 6)
2019-06-03 17:47:42 +01:00
Leo Hemsted
67f171f2f8 refactor tests
re-order notification dao delete notifications test to move "fixtures"
to the top of the file

changed create_service_data_retention to take an ORM object, not an id.
brings it in line with other db.py test functions
2019-06-03 17:27:08 +01:00
Katie Smith
06d82161cc Bump utils to 32.0.1
This updates requirements and brings in the change to preserve trailing semicolons
on URLs.
2019-06-03 16:15:46 +01:00
Rebecca Law
396149ddde Merge pull request #2525 from alphagov/dont-insert-notification-history
Don't insert notification history
2019-06-03 15:28:48 +01:00
Rebecca Law
cfd42a2eb9 Update subquery to be more efficient.
Update subquery to run again but for test keys. Test data is never inserted in Notifications so they need to be deleted separately now given the join to NotificationHistory.
2019-06-03 15:16:46 +01:00
Leo Hemsted
fb05b5ee80 Merge pull request #2526 from alphagov/cronitor
ensure cronitor decorator is inside the notify_task wrapper
2019-06-03 12:57:48 +01:00
Rebecca Law
b8399b8b9b Add a where clause to join to NotificationHistory, this is some extra assurance that the Notification will not be deleted unless the history exists. 2019-06-03 11:47:02 +01:00
Leo Hemsted
09888f7479 ensure cronitor decorator is inside the notify_task wrapper
the celery decorator should always be on the outside so that all other
decorators will be captured within the celery task. We had problems
with cronitor not reporting, and only for this task.
2019-06-03 11:46:07 +01:00
Rebecca Law
c23ae15f32 Remove insert to NotificationHistory
Fix all test failures
2019-05-31 16:52:22 +01:00
Andy Paine
e61619f3e0 AUTO-413: Point preview statsd at tools
- We are running a statsd exporter on tools to collect all our statsd
  metrics for scraping by Prometheus
- Update preview to point there instead of at the local one which has
  issues with redeployment and DNS changing
2019-05-30 17:03:08 +01:00
Andy Paine
b0baf10229 Merge pull request #2522 from alphagov/use-port-health-checks-for-api
BAU: Use port health checks for API
2019-05-30 14:58:27 +01:00
Rebecca Law
a57648d789 Merge pull request #2521 from alphagov/fix-reference-bug
Add missing reference to the update statement.
2019-05-30 12:16:12 +01:00
Andy Paine
adf81ef689 BAU: Use port health checks for API
- We've been seeing an issue when traffic spikes of the http health
  checks taking over 1s and PaaS killing the app
- Port health checks won't care about being stuck in a queue so should
  continue to work even at high loads
- We have functional tests to catch if a deployment brings up the app
  (and so passes port health check) but then doesn't work
2019-05-30 11:56:19 +01:00
Rebecca Law
4154251970 Addd missing reference to the update statement. 2019-05-30 10:54:47 +01:00
Pea (Malgorzata Tyczynska)
82e27c4064 Merge pull request #2511 from alphagov/verify_new_reply_to_address
Verify new reply to address
2019-05-28 16:16:06 +01:00
Pea Tyczynska
c4d20667a6 Add notification deletion to downgrade to respect foreign key constraints 2019-05-28 15:25:06 +01:00
Pea Tyczynska
5f1f688c7b Create template to verify service email reply-to addresses
So that template with the same ID is present on all environments
2019-05-28 15:14:09 +01:00
Rebecca Law
1490c8e377 Merge pull request #2520 from alphagov/fix-bug
Fix a bug introduced when refactoring some code.
2019-05-23 17:12:21 +01:00
Rebecca Law
2844fa530b Fix a bug introduced when refactoring some code. The notification status happened in the wrong order - this resolved that.
This meant notifications sent with a test key never got a 'delivered' status.
2019-05-23 17:04:55 +01:00
Pea Tyczynska
5692a8596d Code refactors and corrections, details below:
Change method name to be more relevant

Check if verification notification we send is a correct one

pass in notify db session for tests instead of sample_user

Refactor tests by using admin_request instead of client

Refactor all tests for affected reply-to endpoints for good measure

Allow overwriting reply-to address with the same address

Skip checking for duplicates if it's an reply-to email update

Fix refactored tests

Verify duplicates exception not needed
2019-05-23 15:36:09 +01:00
Pea Tyczynska
3c3dde635b Prevent service from adding duplicate reply-to addresses
Check for duplicate reply-to email address has been added on:
-verification endpoint, so we do not send the verifying notification
needlessly
- add reply-to email address and update reply-to email address
endpoints, as those can be hit multiple times after the email address
has been verified (so the same email address could end up being added
multiple times). EDIT: this has now been prevented on admin app,
but it's better to retain double-check for safety.
2019-05-23 15:36:09 +01:00
Pea Tyczynska
615ea6a98a Send verifcation email to a new reply-to email address 2019-05-23 15:36:09 +01:00
Andy Paine
c8a8a614a6 Merge pull request #2519 from alphagov/internal-app-statsd
AUTO-413: Use an internal app for statsd preview
2019-05-23 14:55:14 +01:00
Andy Paine
655d5a4e16 AUTO-413: Use an internal app for statsd preview
- We are running statsd exporter as an app with a public route for
  Prometheus to scrape
- This updates preview to send statsd metrics over the CF internal
  networking to the statsd exporter
- Removes the sidecar statsd exporters too
2019-05-23 11:10:33 +01:00
Leo Hemsted
73cc30a562 Merge pull request #2518 from alphagov/revert-2516-internal-app-statsd
Revert "AUTO-413: Use an internal app for statsd preview"
2019-05-22 17:15:14 +01:00
Leo Hemsted
21071b2908 Revert "AUTO-413: Use an internal app for statsd preview" 2019-05-22 17:06:43 +01:00
Andy Paine
a0ec27acfb Merge pull request #2516 from alphagov/internal-app-statsd
AUTO-413: Use an internal app for statsd preview
2019-05-22 16:02:57 +01:00
Andy Paine
b8145e7526 AUTO-413: Use an internal app for statsd preview
- We are running statsd exporter as an app with a public route for
  Prometheus to scrape
- This updates preview to send statsd metrics over the CF internal
  networking to the statsd exporter
- Removes the sidecar statsd exporters too
2019-05-22 13:53:05 +01:00
Rebecca Law
0a5d39f83d Merge pull request #2496 from alphagov/refactor-update-notifications
Refactor update notifications
2019-05-22 13:38:32 +01:00
Rebecca Law
231e5f4066 Merge pull request #2515 from alphagov/revert-logging
Revert the log message that was added to test inbound numbers
2019-05-22 13:37:47 +01:00
Rebecca Law
c98faa929a Revert the log message that was added to test inbound numbers 2019-05-22 13:21:19 +01:00
Rebecca Law
3bc2f4c621 Merge pull request #2514 from alphagov/dont-insert-notification-history
Look for notification in both tables for complaints
2019-05-22 10:21:17 +01:00
Rebecca Law
bb53793228 Merge pull request #2512 from alphagov/add-logging-if-inbound-number-not-associated-to-service
Add logging for inbound numbers not associated to a service.
2019-05-22 10:14:19 +01:00
Rebecca Law
e731dd96ed Added units test to make sure the complaints work if the notification doesn't exist or if the notification_history doesn't exist 2019-05-22 10:03:07 +01:00
Rebecca Law
0e6ef9fa57 This is probably a temporary log message, to make sure our new inbound numbers are working. 2019-05-21 16:39:45 +01:00
Rebecca Law
3374e03ce9 Prepare to stop inserting NotificationHistory at the time of inserting a notificaiton.
Need to remove foreign key to complaints.
Make sure if getting Notification.id we look to both tables.
2019-05-21 16:08:18 +01:00
Rebecca Law
bde1e751ad Merge pull request #2502 from alphagov/dont-update-notification-history-in-realtime
Stop updating NotificationHistory
2019-05-21 14:46:59 +01:00