Rebecca Law
53efb4e033
Merge branch 'master' into schedule-api-notification
...
Conflicts:
tests/app/v2/notifications/test_post_notifications.py
2017-05-23 13:58:50 +01:00
Ken Tsang
3d2c12128b
Update services test
2017-05-22 17:27:26 +01:00
Ken Tsang
de7ad6fb95
Refactored service_permissions data model
2017-05-22 17:25:58 +01:00
kentsanggds
f5d3eed7e0
Revert "Refactored service permissisons data model"
2017-05-22 16:05:31 +01:00
Rebecca Law
9bfba52f53
Add pending flag to scheduled_notifications.
...
Set pending flag to false when the notification has been sent to provider task.
2017-05-22 15:07:16 +01:00
Rebecca Law
3a3161ecc4
Merge branch 'master' into schedule-api-notification
...
Conflicts:
app/celery/scheduled_tasks.py
app/v2/notifications/post_notifications.py
tests/app/celery/test_scheduled_tasks.py
2017-05-22 14:05:57 +01:00
Ken Tsang
052004bef0
Refactored data model to remove cascade
2017-05-22 13:33:43 +01:00
Ken Tsang
28ef9a1853
Refactored service permissisons data model
2017-05-22 10:58:41 +01:00
Martyn Inglis
8dc7a86148
Merge branch 'master' into async-job-stats
...
Conflicts:
app/dao/services_dao.py
2017-05-18 09:34:54 +01:00
Rebecca Law
973cc2c4c9
Changed the scheduled_for datetime to only send and hour of a day to send.
...
Also expect the date being passed in is BST. The date is converted to UTC before saving. And converted to BST when returning a notification.
2017-05-17 15:06:15 +01:00
Ken Tsang
edff192efc
Remove whitespace
2017-05-17 14:18:12 +01:00
Ken Tsang
54446d5f4d
Add default permissions when creating a service
2017-05-17 14:18:12 +01:00
Martyn Inglis
83a1b1526e
Merge branch 'master' into async-job-stats
...
Conflicts:
app/notifications/notifications_ses_callback.py
2017-05-17 09:49:43 +01:00
Rebecca Law
1034762489
Ensure the relationship between Notification and ScheduledNotification is one-to-one.
...
Update db script with the right number
2017-05-16 15:29:31 +01:00
kentsanggds
c4964d8cf4
Merge pull request #956 from alphagov/add-service-permissions
...
Add service permissions DAO and refactor user service permission mock
2017-05-16 14:26:15 +01:00
Rebecca Law
2e078f9fc8
Add scheduled task to send scheduled notifcations.
...
Fix the query to fetch scheduled notifications.
2017-05-16 13:47:22 +01:00
Ken Tsang
2a48891025
Removed unused pytest from test
2017-05-16 12:54:32 +01:00
Ken Tsang
b233ae46f3
Tidy up test code for service permissions
2017-05-16 12:53:46 +01:00
Martyn Inglis
a5dae0bebd
Fixed test - I had deliberately failed the test as part of debugging and not fixed the assert. Doh.
2017-05-16 12:49:20 +01:00
Ken Tsang
733c16b2bb
Update to strip down DAO and clarify tests
2017-05-16 12:33:27 +01:00
Martyn Inglis
d1aff5bb6e
Complex test to check updating one type of notification job, doesn't update the other
...
- so if we timeout both SMS and Email the counts are correct
2017-05-16 11:36:52 +01:00
Ken Tsang
54d801979c
Refactored to handle single service permission
2017-05-16 10:57:57 +01:00
Rebecca Law
3c0da9c8fd
Merge branch 'master' into schedule-api-notification
2017-05-16 10:50:53 +01:00
Rebecca Law
579227dfc1
Method to return scheduled notifications that are ready to send
2017-05-16 10:48:04 +01:00
Ken Tsang
114d4d84d4
Add service permissions DAO and refactor user service permission mock
2017-05-15 17:28:14 +01:00
Rebecca Law
f0e2713bef
Add scheduled_for in the post notification request form.
...
Return scheduled for in get_notification requests.
2017-05-15 17:27:38 +01:00
Imdad Ahad
aa5f8ba443
Refactor tests for clarity
2017-05-15 15:02:16 +01:00
Martyn Inglis
4751673f43
Fixed service test that deletes all the things to delete the job stats too.
2017-05-12 13:08:09 +01:00
Martyn Inglis
f84694fb29
updated the timeout query to base outcome on notifications
...
Previous:
assumed discrepancy in stats counts to be related to timeouts
Now:
If discrepancy exists do the math on the notifications for that job to work out counts based on statuses to redo stats.
2017-05-12 12:19:27 +01:00
Martyn Inglis
8d4ccc3003
Updated jobs_Dao to make a job stats row when making a job - saves the ambiguity later as to whether the row exists.
2017-05-12 12:17:34 +01:00
Martyn Inglis
d324d72926
Merge branch 'master' into async-job-stats
2017-05-11 15:41:20 +01:00
Imdad Ahad
048861b968
Add dao to get active users for service
2017-05-11 15:39:15 +01:00
Martyn Inglis
b519321798
Adds a query to timeout the job counts.
...
After three days we timeout the notifications that we have not received a receipt for.
In the same way we bump the failed count to match the job count if there is a descepenecy. We do this after the same period that we do for notifications.
2017-05-11 15:22:43 +01:00
Martyn Inglis
22a47106af
Refactored the DAO to be clearer, and wrote tests for the bug whereby different types of inserts/updates caused others to reset.
2017-05-11 12:09:57 +01:00
Leo Hemsted
348183d93b
Merge pull request #942 from alphagov/status-as-table
...
notification status as table
2017-05-10 13:54:49 +01:00
Martyn Inglis
4faafe01d9
Tightened the error checking.
...
- Looks now for a specific Integrity error, not a generic SQLAlchemy error when checking for an insert failure
- If the update fails post an insert error, then there is an issue so raise an exception so tasks can be retried.
2017-05-09 14:41:29 +01:00
Martyn Inglis
15065c4bc7
Added DAO methods to add and update the stats table for JOBS
...
- create_or_update_job_sending_statistics
This will try and update an existing row. if this fails as it hasn't been created, then it will insert a row. If this fails as another process has got there first then it should try and update again.
This is a code version of upset
- update_job_stats_outcome_count
Will update the outcome states. Uses the NOTIFICATION_STATUS_TYPES_FAILED to determine if the notification failed.
Any thing in DELIVERED will be marked as delivered. Statues not in the FAILED array or delivered provoke no update to the table.
2017-05-09 14:06:27 +01:00
Martyn Inglis
b669c4930a
Building the methods around async stats work
2017-05-09 12:30:31 +01:00
Leo Hemsted
4ff4717fdf
make sure we update both statuses when updating notification history
2017-05-09 11:09:16 +01:00
Rebecca Law
d252dc8976
New endpoint to search by "to" field of the notification.
...
The query ignores case and spaces.
2017-05-05 14:12:50 +01:00
Leo Hemsted
7e52fa4d13
add new notification_status column to models.py
...
We now have a new column in the database, but it isn't being
populated. The first step is to make sure we update this column,
while still keeping the old enum based column up to date as well.
A couple of changes have had to happen to support this - one irritating
thing is that if we're ever querying columns individually, including
`Notification.status`, then we'll need to give that column a label,
since under the hood it translates to `Notification._status_enum`.
Accessing status through the ORM (i.e., my_noti.status = 'sending' or
similar) will work fine.
2017-05-04 17:24:28 +01:00
Rebecca Law
81e10896ea
Remove print statement
2017-05-04 09:47:27 +01:00
Rebecca Law
93e76d2362
Update the valid_from date for the rate that is intended to start at the begining of the financial year.
...
It was the start of the financial year in BST, needed to convert it to UTC.
Small change to the logic to find the rates.
2017-05-03 17:11:48 +01:00
Ken Tsang
03885fea2f
Update tests with new rates
2017-05-03 13:13:13 +01:00
Ken Tsang
a1a8397f74
Update billing data to handle future dates
2017-05-02 19:23:57 +01:00
Rebecca Law
c40111a576
Split up a test
2017-05-02 11:20:01 +01:00
Rebecca Law
3e0221adec
Change get_financial_year to return ending date as 1 microsecond earlier.
...
That way we can write the queries as between start and end dates, making it easier to read.
This makes more sense.
2017-05-02 10:00:47 +01:00
Rebecca Law
88d92d6070
Fix the logic gettting the rates for a financial year.
...
The is_between_end_date_exclusive is a bit funny.
Perhaps the better way to handle it is to make the function is_between but change the financial year function return an enddate that is one millisecond less. That way we can always use the between logic and it will be easier to use.
2017-04-28 16:55:41 +01:00
Imdad Ahad
34de722e73
Add test to check for sent notification
2017-04-28 13:32:23 +01:00
Rebecca Law
3b41478a0a
Updated Notification model to use Float(asdecimal=False) for rate_mutliplier.
...
Added test with multiple rows for a month.
2017-04-28 10:10:49 +01:00