Commit Graph

4071 Commits

Author SHA1 Message Date
Richard Chapman
b56825a680 Updated Tests to use a variety of templates
All of the tests defaulted to sms templates, updated a few to use a
variety of templates types so all types are tested.
2017-11-16 15:43:21 +00:00
Richard Chapman
fd89a252e0 Code Style Updates
Updated the to conform with the line ends expected by the code style in
tests rather than PyCharm.
2017-11-16 15:17:27 +00:00
Richard Chapman
e7de0c0900 Added a template_type to the rest call
Added a template type which is required for the admin UI and updated the
tests. The rest tests needed updated because of the bug fix for
aggregation.
2017-11-16 15:17:27 +00:00
Richard Chapman
5ba58031b1 Fixed Bug in stats aggregation
The check for aggregation was too broad and hence was adding together
totals based on template_id and not the unqiue combination of
template id, month and year.

- Added test to test for the failure
- Added check and a test to for template_id, mon and year matches
- Celery process name did not match the task
2017-11-16 15:17:27 +00:00
Ken Tsang
0e473cace5 Update rest endpoint to handle include_jobs arg 2017-11-16 14:45:02 +00:00
Ken Tsang
df98f0dec1 Update schema to allow include_jobs on get_notis 2017-11-16 14:44:28 +00:00
Chris Hill-Scott
492462d4f9 Make getting a service return prefix_sms column
This gives us the confidence to remove references to the computed
column in https://github.com/alphagov/notifications-admin/pull/1619
2017-11-16 14:29:32 +00:00
Chris Hill-Scott
4eaa482b2d Rewrite existing test to use admin_request fixture
Makes it consistent with the other, related, test in this PR.
2017-11-16 14:29:32 +00:00
Chris Hill-Scott
e8a94422e5 Make SMS prefix setting non-nullable
We have now:
- defaulted new services to start with this column set to `true`
- migrated all preexisting services[1] to have either `true` or `false` set
  for this column

There is no way for a service to switch back from `true`/`false` to
`null`.

This means that we can safely enforce a non-nullable constraint on this
column now.

1. There is a little gotcha: the GOV.UK Notify service still relies on
   the `sms_sender` column. It doesn’t have a row in the
   `service_sms_senders` table. This means the previous migration
   never changed this service’s value for `prefix_sms` from `null`. So
   this commit also changes its value to `False`, so that the rest of
   the migration, of the whole column, is possible.
2017-11-16 14:29:32 +00:00
Venus Bailey
bf5e6db666 Merge pull request #1398 from alphagov/migration-data-rename-version
Free sms allowance change db migration version
2017-11-16 13:54:25 +00:00
venusbb
7ac0346961 change migration version 2017-11-16 13:44:55 +00:00
Venus Bailey
bb0c8090c5 Merge pull request #1389 from alphagov/vb-sms-allowance-data-migration
migrate data from service table to annual billing
2017-11-16 13:16:15 +00:00
Athanasios Voutsadakis
1da32f81d0 Bump utils version to 22.1.0 2017-11-16 12:10:55 +00:00
Athanasios Voutsadakis
5d687d87e7 Enable header checking on preview and staging, add test 2017-11-16 12:02:09 +00:00
Athanasios Voutsadakis
819c1a2dc5 Merge branch 'master' into add_proxy_header_check 2017-11-16 11:41:50 +00:00
Chris Hill-Scott
8cb4659701 Merge pull request #1396 from alphagov/pyup-update-pytest-3.2.3-to-3.2.5
Update pytest to 3.2.5
2017-11-16 11:36:16 +00:00
Richard Chapman
38e8451627 Merge pull request #1390 from alphagov/rc-monthly-template-usage-endpoint
Added new endpoint to get the new template stats
2017-11-15 16:20:04 +00:00
Richard Chapman
424f87cb68 Removed unused import
Removed an import which is no longer required.
2017-11-15 16:12:03 +00:00
Richard Chapman
17d1cfe758 Reverted Config on SQLALCHEMY_ECHO
Used for debugging not needed for production so reverted.
2017-11-15 16:00:13 +00:00
Richard Chapman
1e4850b70f Add Template name to response and filter by year
The template name should be returned for the response and the user will
pick a year, so ths adds those two features to the
notifications/templates_usage/monthly endpoint and added some tests to
test the functionality.
2017-11-15 15:55:00 +00:00
Rebecca Law
8f3f6ebffd Merge pull request #1380 from alphagov/remove-initial-update-sms-sender
Remove unused methods for sms sender
2017-11-15 14:41:24 +00:00
Richard Chapman
618c7676e6 Code style fixes
A few code style fixes which were making tests to fail.
2017-11-15 12:58:39 +00:00
Richard Chapman
c27edf5e3c Added new endpoint to get the new template stats
Added a new endpoint which combines the usage of the stats table and the
data from the notifications tables, instead of using all the data from
the notification_history table. This should speed up the query times
and improve the page performance.

- Updated to make the stats create and update function transactional as
it actually wasn't committing the data to the table
- Added the get from the stats table
- Add a a method to combine the two results
- Added the endpoint
2017-11-15 12:58:39 +00:00
Rebecca Law
9fa59c9407 Fix merge conflict 2017-11-15 12:42:49 +00:00
Rebecca Law
fd217e67f5 Merge branch 'master' into remove-initial-update-sms-sender 2017-11-15 12:33:38 +00:00
pyup-bot
46f55bf884 Update pytest from 3.2.3 to 3.2.5 2017-11-15 12:23:10 +00:00
Rebecca Law
d905099962 If the post to a url for the inbound sms message to the service throwns an unknown exception - or RequestException, the base exception for request, the error will be logged and retried. 2017-11-15 11:43:52 +00:00
venusbb
e903257156 version change because of other commits 2017-11-15 11:25:27 +00:00
Alexey Bezhan
d9f885b881 Merge pull request #1394 from alphagov/fix-migration-order-0136
Fix migration numbers after #1383
2017-11-15 11:07:11 +00:00
Rebecca Law
fc5dae8ec2 refactored create_service_with_defined_sms_sender 2017-11-15 11:04:33 +00:00
Alexey Bezhan
d2a220a418 Fix migration numbers after #1383 2017-11-15 11:03:55 +00:00
Rebecca Law
45bf7e1938 Fix db migration merge conflict
Update create_service_with_inbound_number
2017-11-15 11:00:56 +00:00
venusbb
fcfea6844d Merge branch 'master' of https://github.com/alphagov/notifications-api into vb-sms-allowance-data-migration 2017-11-15 10:54:22 +00:00
Alexey Bezhan
bc54d34a22 Merge pull request #1384 from alphagov/notifications-template-history
Fix notifications template history relationship
2017-11-15 10:51:56 +00:00
Venus Bailey
34de0924e6 Merge pull request #1392 from alphagov/vb-free-sms-bridging-code
Bridging API to update annual_billing table
2017-11-15 10:33:14 +00:00
venusbb
f2a9f39ce2 Added an extra test 2017-11-15 09:18:39 +00:00
Rebecca Law
e3f9dab884 Merge branch 'master' into remove-initial-update-sms-sender 2017-11-14 16:27:10 +00:00
venusbb
c111458168 Bridging API to update annual_billing table 2017-11-14 16:15:36 +00:00
venusbb
4e487e708b Bridging API to update annual_billing table 2017-11-14 16:11:59 +00:00
Athanasios Voutsadakis
7a24cd8753 Typos 2017-11-14 16:04:04 +00:00
Leo Hemsted
0dd372bada Merge pull request #1382 from alphagov/migration-fix
remove trailing underscore, which is sometimes created by alembic
2017-11-14 15:59:43 +00:00
Leo Hemsted
27bf927f43 Merge pull request #1383 from alphagov/user-mobile-optional
User mobile optional
2017-11-14 15:59:31 +00:00
Athanasios Voutsadakis
5f1146208d Remove unused import 2017-11-14 14:37:42 +00:00
Athanasios Voutsadakis
c52fae0a30 Bump utils version in requirements 2017-11-14 14:32:11 +00:00
Athanasios Voutsadakis
0f696aa3e8 Use function from utils to check secret header value
This adds a before_request handler to check whether all incoming
requests have the proxy header configured.
2017-11-14 14:26:00 +00:00
venusbb
7c0c2a9a0f migrate data from service table to annual billing 2017-11-14 09:43:28 +00:00
pyup-bot
d45283d0f4 Update sqlalchemy-utils from 0.32.19 to 0.32.21 2017-11-11 19:18:01 +00:00
Leo Hemsted
834eecd0f1 make sure you can't edit password 2017-11-10 15:24:37 +00:00
Alexey Bezhan
9d4b8961cb Add a migration to replace notifications_template foreign key
Removes notifications.template_id foreign key and replaces it with
a composite foreign key constraint to TemplateHistory using the
existing notification columns for template ID and template version.

Foreign key constraint is created as NOT VALID to avoid locking the
notifications table while postgres verifies that existing records
don't break the constraint. From postgres docs:

> If the constraint is marked NOT VALID, the potentially-lengthy initial
> check to verify that all rows in the table satisfy the constraint is
> skipped. The constraint will still be enforced against subsequent
> inserts or updates (that is, they'll fail unless there is a matching
> row in the referenced table, in the case of foreign keys; and they'll
> fail unless the new row matches the specified check constraints). But
> the database will not assume that the constraint holds for all rows
> in the table, until it is validated by using the VALIDATE CONSTRAINT
> option.

VALIDATE CONSTRAINT will be issued as a separate migration in a
follow-up PR.
2017-11-10 15:13:55 +00:00
Alexey Bezhan
0825177f2d Add tests for notification.template returning the right version
Adds test for:
* checking the template version foreign key constraint
* checking that template changes don't affect existing notifications
* notification statistics aren't affected by different template versions
* notification stats always return the current template name
2017-11-10 15:13:55 +00:00