minglis
c67c819f0a
Merge pull request #671 from alphagov/statsd-time-taken-to-be-delivered
...
Statsd time taken to be delivered
2016-09-14 14:53:01 +01:00
Rebecca Law
cb51c69503
Update the timeout_notifications scheduled tasks.
...
We found that if the notifications were in created or pending they are not purged from notifications.
- New bulk update method to set all notificaitons with:
- a status = created|sending|pending to temporary-failure
- and is older then today minus SENDING_NOTIFICATIONS_TIMEOUT_PERIOD (in seconds)
- the scheduled task to timeout notifications use the new bulk update query.
- the task will be more efficient
2016-09-13 16:42:53 +01:00
Martyn Inglis
1a4b303c43
Only record the elapsed time at provider for notifications with a sent_at date,
...
could be that have a problem with state, misaligned tasks, we should just not record as edge case and this is aggregate.
2016-09-13 13:57:06 +01:00
Martyn Inglis
517cec173b
Logs time between sent_at and the provider callback into statsd
2016-09-13 13:04:44 +01:00
Martyn Inglis
8541f6adcd
Change DAO to return the notification from an update, not Boolean
...
- tests reflect this
2016-09-13 12:29:40 +01:00
minglis
d2b936e631
Merge pull request #667 from alphagov/delete-csv-file-after-7-days
...
Delete csv file after 7 days
2016-09-13 09:03:48 +01:00
Rebecca Law
f1b9702dfb
Fix codestyle
2016-09-12 16:41:48 +01:00
Martyn Inglis
e0d46d821d
Merge branch 'master' into delete-csv-file-after-7-days
...
Conflicts:
app/notifications/rest.py
2016-09-12 16:33:01 +01:00
Rebecca Law
bab9360519
Fix a bug in the accept invitation that was throwing a 500.
...
- If the token for invitation was expired, the method would throw a 500 while creating the erorr message.
- Added unit tests.
2016-09-12 16:16:02 +01:00
Martyn Inglis
a6bfc48478
Merge branch 'master' into write-to-postgres-not-sqs
2016-09-08 16:00:31 +01:00
Martyn Inglis
dde22bc58b
Implemented deleted notification if SQS write fails
2016-09-08 16:00:18 +01:00
minglis
c50a0200d4
Merge pull request #664 from alphagov/rationalise-config
...
Simplified the config. Aim is to get the actual secrets in credstash …
2016-09-08 10:27:31 +01:00
Martyn Inglis
b4d40dcd18
Merge branch 'master' into write-to-postgres-not-sqs
...
Conflicts:
app/notifications/rest.py
tests/app/notifications/rest/test_send_notification.py
2016-09-08 09:15:07 +01:00
Martyn Inglis
852e207478
Adds new scheduled task to delete CSV files.
...
Deletes files for jobs older than 7 days, matching delete process for the actual notifications
Runs 1 minutes past the hour at midnight, 1 and 2 am.
2016-09-07 15:36:59 +01:00
Martyn Inglis
c3657839e4
New jobs dao method to get jobs that are older than a certain number of days.
...
Used in deleting CSV files scheduled task
2016-09-07 15:36:07 +01:00
Martyn Inglis
0ecd6f2737
Removed the 'delete job' tasks from the tasks.py file
...
- this was called after processing a job.
- now to be called on a schedule.
2016-09-07 15:35:12 +01:00
imdadahad
6cbd5396ea
Merge pull request #662 from alphagov/remove-send-notification-tests
...
Remove rate limiting tests
2016-09-07 15:18:44 +01:00
Martyn Inglis
cf107d649f
Merge branch 'master' into write-to-postgres-not-sqs
...
Conflicts:
app/celery/tasks.py
2016-09-07 13:51:21 +01:00
Martyn Inglis
770b0c2838
Update rest end point to wrote to the DB not the queue.
...
We wrote to the queue as a performance optimisation , however dev found it confusing to not have immediate access to the notification as it may be perished some minutes later under periods of load. Additionally we had a couple of DB issues which led to us dropping notifications.
Pushing the DB write to earlier in the flow makes the system a little more robust in the early days, we may want to change this when the traffic increases.
2016-09-07 13:47:22 +01:00
Martyn Inglis
99250b2248
Adds a builder method to the notification object.
...
This is used to construct a notification from the sorts of data an API call provides. This is used in both the db-email / db-sms tasks and the notifications rest endpoint to construct the notification DB object.
2016-09-07 13:44:56 +01:00
Imdad Ahad
41681ac001
Fix mocker syntax issue
2016-09-07 11:17:27 +01:00
Imdad Ahad
840b99b277
Fix issue where test key cannot send messages to external numbers
2016-09-07 09:57:20 +01:00
Martyn Inglis
c1b00a5f0c
Simplified the config. Aim is to get the actual secrets in credstash to be env specific, and not the random collection of things we have at the moment.
...
Secret definition also includes env specific things such as URLs / Queue prefixes / URLs for providers and so on.
2016-09-07 09:35:31 +01:00
Martyn Inglis
259fb0cb62
Slightly changed to only unlimited the live services.
...
Logic:
- live services don't check days limit for now
- restricted services check limits
(caveat) simulate keys aren't checking day limit even in restricted mode.
2016-09-06 14:21:36 +01:00
Rebecca Law
727c00af21
Merge pull request #659 from alphagov/update-requirements
...
Update requirements
2016-09-06 14:16:31 +01:00
Chris Hill-Scott
be9fd96d03
Merge pull request #656 from alphagov/add-cancel-job-endpoint
...
Add an endpoint to cancel a job
2016-09-06 12:11:32 +01:00
Imdad Ahad
d6a8780515
Remove send notification test
2016-09-06 11:39:22 +01:00
Rebecca Law
4d1c34fcce
A little bit of clean up.
...
- Remove the deploy to staging | live links in the README
- Update most of the outdated requirements. Left Flask update out for now.
2016-09-05 16:45:54 +01:00
minglis
64bb12c866
Merge pull request #640 from alphagov/scheduled-delivery-of-jobs-cleanup
...
Scheduled delivery of jobs cleanup
2016-09-05 12:29:10 +01:00
Leo Hemsted
6ceb80d32f
Merge pull request #651 from alphagov/contract-tests
...
Contract tests
2016-09-05 11:31:29 +01:00
Chris Hill-Scott
e28ce50d17
Don’t pass notify_db or notify_db_session to test
...
They get set up by the `sample_scheduled_job` fixture.
2016-09-03 08:48:03 +01:00
Chris Hill-Scott
5d4e942fa1
Use fixture for testing scheduled jobs
2016-09-02 12:27:23 +01:00
Chris Hill-Scott
4a7267be8b
Add an endpoint to cancel a job
...
If you schedule a job you might change your mind or circumstances might
change. So you need to be able to cancel it. This commit adds a `POST`
endpoint for individual jobs which sets their status to `cancelled`.
This also means adding a new status of `cancelled`, so there’s a
migration…
2016-09-02 12:27:02 +01:00
Rebecca Law
e3fa8bffd7
Fix merge conflicts in tests.
...
Update new migrations scripts to fix conflict in with script names.
2016-09-02 12:01:38 +01:00
Rebecca Law
8f3e8181fe
Merge branch 'master' into scheduled-delivery-of-jobs-cleanup
...
Conflicts:
tests/app/job/test_rest.py
2016-09-02 11:03:21 +01:00
Rebecca Law
3d41fa9634
Update mmg status code 2 to be a permanent failure.
2016-09-01 10:23:37 +01:00
Leo Hemsted
95e3f39c6f
Merge pull request #632 from alphagov/readme-cleanup
...
cleaned up readme + environment file
2016-08-31 17:08:49 +01:00
minglis
c09fa34edf
Merge pull request #650 from alphagov/add-statistics-to-job
...
Return empty stats list for job creation
2016-08-31 16:25:25 +01:00
Leo Hemsted
5ac4e630d8
remove some legacy code/tests relating to old invite/verification code
2016-08-31 14:49:26 +01:00
Chris Hill-Scott
e98a740dbf
Fix test to expect correct db queue
...
Sending emails was moved to a different queue in:
https://github.com/alphagov/notifications-api/pull/647
At the time that
https://github.com/alphagov/notifications-api/pull/645
was written, the previous queues were still being used.
So when #645 got merged it was testing for the old queues, which broke
the tests.
2016-08-31 13:46:00 +01:00
Chris Hill-Scott
f3495f9dae
Merge pull request #645 from alphagov/no-restrictions-on-test-key
...
Remove restrictions when using simulate API key
2016-08-31 13:25:12 +01:00
Leo Hemsted
7240df0641
replace mock with unittest.mock
2016-08-31 12:39:11 +01:00
Leo Hemsted
c91358673f
add POST response tests
...
assert that the response for emails and sms is formatted as expected
also moved schemas into subdirectory to make folder more legible
2016-08-31 12:33:45 +01:00
Martyn Inglis
57267a36f2
Return empty stats list for job creation
2016-08-31 12:12:09 +01:00
Leo Hemsted
fabbb8b01b
separate tests for api and job notifications
2016-08-31 11:53:54 +01:00
Martyn Inglis
6488feaeec
Remove the status column from jobs, and update the new job status column with the previous values
2016-08-31 10:23:34 +01:00
Leo Hemsted
cb0491cbff
add test for GET /notification
...
simple schema with oneOf [email, sms].
also fixed error where ref'd schemas weren't being picked up
2016-08-30 19:07:46 +01:00
Leo Hemsted
1b7b4a2ccb
separate definitions into separate files to allow reuse
...
see https://github.com/Julian/jsonschema/issues/98
took boring generic things (eg uuid) into definitions.json, and also
separated email and sms notification objects into respective files
2016-08-30 18:45:54 +01:00
Martyn Inglis
e640e048e5
Pushed the notifications from the CSV in the DB queue
2016-08-30 17:27:01 +01:00
Leo Hemsted
aebaea1072
add public contract tests
...
use jsonschema to test the GET /notification/{} endpoint to highlight any key name/format/type changes
2016-08-30 15:55:52 +01:00