Commit Graph

1562 Commits

Author SHA1 Message Date
Rebecca Law
5ef0450e37 Update the json in the post to the service for the inbound sms. 2017-06-22 10:15:08 +01:00
Rebecca Law
e0d23f40f6 Merge pull request #1038 from alphagov/push-inbound-sms
Push inbound sms
2017-06-21 15:49:32 +01:00
Rebecca Law
c608f5997b New task to send the inbound sms to the service.
If the service has not set the url then nothing happens.
If the request to the service url returns with 500 or greater the task is retries.
The task is created when the SMS provider post the inbound SMS.
2017-06-20 17:13:40 +01:00
Leo Hemsted
ac7665bfc6 celery test cleanup
* Alter config so an error will be raised if you forget to mock out a
  celery call in one of your tests
* Remove an unneeded exception type that was masking errors
2017-06-20 12:06:49 +01:00
Leo Hemsted
88a479a4bb make client request fixture args conform 2017-06-20 12:06:49 +01:00
Leo Hemsted
a1e570dea7 persist created_by_id when using the one off notification endpoint 2017-06-20 12:06:49 +01:00
Leo Hemsted
729faf579d block one-off sms with long content counts 2017-06-20 12:06:47 +01:00
Leo Hemsted
10b851b456 add send_notification file for handling sending one off messages
currently, they're made by creating a one-line job, but we want to
reduce task/csv file noise so we're moving them to persist in the
same vein as API usage. However, we can't just call through to that
since there are some differences:

* no api keys
* tighter control over API format
* no scheduling
* no client references

etc.

So, re-using as much of the v2 validation stuff as possible, I've
created this file that just does basic validation, and then calls
through to persist_notification and schedules a task. Woo.
2017-06-20 11:51:36 +01:00
Leo Hemsted
9f307fd1c5 add created_by to notifications
this is so one-off notifications can be tied to a user
(jobs have a created_by, and api notifications don't make sense
 to have one)
2017-06-20 11:51:17 +01:00
Rebecca Law
ff5e8c1f33 Query to return the inbound api data for the service 2017-06-19 16:35:15 +01:00
Rebecca Law
bd3704d123 Merge pull request #1034 from alphagov/push-inbound-sms
Push inbound sms
2017-06-19 15:15:07 +01:00
Rebecca Law
3a66027d6a Refactor ApiKeys.secret and ServiceInboundApi.bearer_token to use the same encryption method and get rid of the duplicate code. 2017-06-19 14:32:22 +01:00
Rebecca Law
6202da7dea Update model to remove the string length restriction.
Moved logic to the dao from the endpoint.
2017-06-19 12:25:05 +01:00
Martyn Inglis
9280648ca5 Some more tests for under, over and exactly 7 days 2017-06-16 14:51:45 +01:00
Martyn Inglis
e3644bae96 Merge branch 'master' into template-query-to-not-limit-by-days 2017-06-16 14:06:56 +01:00
Rebecca Law
effb99dca8 Add fetch request for service inbound api.
Add unique constraint on service_id for service_inbound_api.
2017-06-15 16:19:12 +01:00
Rebecca Law
828d5cd493 New table to store the inbound api information for a service. The table is versioned.
There is a new endpoint to create the inbound api and one to update it.
2017-06-15 11:32:51 +01:00
Rebecca Law
3fdd180515 New endpoint to set ServiceInboundApi data. 2017-06-13 18:00:25 +01:00
Imdad Ahad
7faf444534 Merge pull request #1032 from alphagov/imdad-feat-remove-dvla-response-files
Remove DVLA response files older than 7 days
2017-06-13 17:23:58 +01:00
kentsanggds
ac136cf1ca Merge pull request #1029 from alphagov/post-version-of-search-form
Post version of search form
2017-06-13 15:49:02 +01:00
Rebecca Law
b186cad046 Add a new table to store the api information for a service inbound sms message.
Including:
 - url to push the inbound sms to
 - bearer_token to be added to the header of the request.

The services will be expected to manage these properties.
2017-06-13 15:27:13 +01:00
Imdad Ahad
1dacc6c3a3 Updates:
* Skip the decorated tests as that doesn't work as we expect
* Remove magic numbers in tests
2017-06-13 15:22:31 +01:00
Rebecca Law
0596b210a5 Merge pull request #1033 from alphagov/job-stats-for-dashboard
Job stats for dashboard
2017-06-13 14:35:58 +01:00
Imdad Ahad
f29ebb34f6 Add scheduled task to delete response files older than 7 days 2017-06-13 12:40:58 +01:00
Imdad Ahad
a1a5377f9c Add methods to get and remove s3 bucket objects 2017-06-13 12:36:34 +01:00
Imdad Ahad
dfeda93bc5 Merge pull request #1015 from alphagov/imdad-feat-return-content-outbound
Return notification content for outbound messages
2017-06-13 12:27:16 +01:00
Rebecca Law
b65ee1d99a Fix missing slash 2017-06-13 12:08:09 +01:00
Rebecca Law
a83e744c68 Remove join to Template table.
Fix typo in unit test.
2017-06-13 11:55:14 +01:00
Rebecca Law
4fefec6aa3 New endpoints to return job stats.
Next step is to use the new endpoints in admin.
2017-06-13 10:56:03 +01:00
Imdad Ahad
34f4829362 Merge pull request #1025 from alphagov/imdad-feat-remove-dvla-transformed-files
Remove transformed DVLA files older than 7 days
2017-06-13 10:23:31 +01:00
Rebecca Law
cc04b5eb1d Added new endpoint for job statistics.
The structure has been flattened, so I need to create a new endpoint, start using that endpoint, then change the name back.
Added template_id and version to the get job stats by id.
2017-06-12 17:15:32 +01:00
Rebecca Law
c7707873e4 Queries to get job statistics by job_id or by service_id. 2017-06-12 14:25:17 +01:00
Martyn Inglis
9bbb3c6a56 Merge branch 'master' into firetext-inbound-sms-not-null-provider
Conflicts:
	tests/app/db.py
2017-06-09 11:56:32 +01:00
Martyn Inglis
7dccf796dd Adds a POST version of get inbound messages by phone number. Allows us to POST the search so the phone number is hidden 2017-06-09 10:34:02 +01:00
Martyn Inglis
3702ebdd93 This is a bit gnarly. When querying the notifications table for template usage, we don't apply the days limit if we're trying to get exactly 7 days.
This is because 7days should be the amount of data in that table so don't restrict.

Note not all queries do this in the same way and a pivotal bug has been raised to align this. This is a bug fix as right now the numbers are out in prod.
2017-06-08 13:42:41 +01:00
Rebecca Law
03c6e74c46 Merge pull request #1024 from alphagov/job-stats-for-dashboard
Change the job_statistics table structure
2017-06-08 13:19:15 +01:00
Imdad Ahad
c6db12731a Add test to check dvla files (unexpected) are not removed 2017-06-08 13:06:24 +01:00
minglis
1b0ff63b1e Merge pull request #1022 from alphagov/remove-nasty-query-from-dashboard
Remove nasty query from dashboard
2017-06-08 10:58:35 +01:00
Imdad Ahad
c4a89b77e3 Add task to remove transformed dvla files:
* Runs at 4:40am
* Remove files older than 7 days and only two day's worth
2017-06-07 16:39:23 +01:00
Imdad Ahad
1d30d93c6f Add s3 method to remove transformed dvla files 2017-06-07 16:31:14 +01:00
Imdad Ahad
fd85a840d3 Merge pull request #1020 from alphagov/service-notification-by-id
Add private endpoint to get notification by ID
2017-06-07 16:24:47 +01:00
Imdad Ahad
7e22f3823f Merge pull request #1021 from alphagov/imdad-feat-get-inbound-by-id
Add endpoint to get inbound sms by id
2017-06-07 16:24:17 +01:00
Martyn Inglis
d5fc02b14b removed print statement :-( 2017-06-07 15:13:48 +01:00
Imdad Ahad
5b4ceda1c6 Refactor:
* Filter inbound by service_id
* Refactor to return 404 instead of 400 for consistency
2017-06-07 14:23:31 +01:00
Martyn Inglis
fa0d51b66c Added the free limit to the detailed service representation. 2017-06-07 14:19:25 +01:00
Chris Hill-Scott
6b5451ea87 Add test for invalid UUID 2017-06-07 13:18:51 +01:00
Rebecca Law
1b4097cb16 Add three new columns to job_statistics for sent, delivered and failed.
A job only ever has one notification type.
This is the first deploy, where the columns are added and populated.

Next a data migration will happen to populate these new columns for the older jobs that do not have the values set.
Then we stop populating the old columns and remove them.
This refactoring of the table structure will make the queries to the table much easier to handle.
2017-06-07 11:15:05 +01:00
Martyn Inglis
d97c7c8e56 - Fix up free tier on the service object, use it only on dump not create/update in marshmallow
- Ensure tests leave config as was after a test run that alters free tier quantity
2017-06-07 09:58:57 +01:00
Imdad Ahad
ee488d416a Add endpoint to get inbound by id 2017-06-06 17:12:21 +01:00
Imdad Ahad
23a501af16 Add dao to get inbound sms by id 2017-06-06 17:11:59 +01:00