5032 Commits
Author SHA1 Message Date
Leo Hemsted dd9fd6cf92 still return RECEIVED even if we couldn't find a matching service
mmg don't need to retry that message or anything. just log it.
2017-06-01 13:13:51 +01:00
Martyn Inglis 7f65aa3eef Merge branch 'master' into remove-nasty-query-from-dashboard
Conflicts:
	app/service/rest.py
	tests/app/service/test_rest.py
2017-06-01 13:11:54 +01:00
Rebecca Law 40aadf2748 Merge pull request #991 from alphagov/invite-service-to-schedule
Invite the service to schedule notifications from the API
2017-06-01 12:37:32 +01:00
Chris Hill-Scott 78d071f22f Ignore one-off messages in job list on dashboard
Same as how we ignore ‘send yourself a test’ messages (see:
d8467bfc3c). The dashboard gets clogged
up with one off messages otherwise, which affects:
- performance
- users ability to find their jobs
2017-06-01 12:30:47 +01:00
Leo Hemsted d33698216c Revert "Revert "Remove nulls from sms_sender"" 2017-06-01 11:00:26 +01:00
Martyn Inglis a7fd624db5 Added simple logging endpoint for fire text inbound SMS calls
- logs post data
- OK to log all as not currently in use so no real user data expected.
2017-06-01 08:21:18 +01:00
Rebecca Law e3baf71016 Update error message 2017-05-31 16:22:56 +01:00
Martyn Inglis 3c416d3631 Simple end point for fire text inbound SMS callbacks. 2017-05-31 16:15:25 +01:00
Leo Hemsted ea0ba8d87a Revert "Remove nulls from sms_sender" 2017-05-31 14:52:48 +01:00
Leo Hemsted 6c5affbebc Merge pull request #988 from alphagov/non-null-again
Remove nulls from sms_sender
2017-05-31 14:27:49 +01:00
Chris Hill-Scott 9ada8b2753 Don’t 500 when searching with bad email address
In the future we might want to validate email addresses before
attempting to search by them. But for a first pass we can just return
no results when a user types in something that isn’t an email address
or phone number.

It definitely better than returning a 500.
2017-05-30 14:50:48 +01:00
Leo Hemsted ef799d0515 add sad path tests for inbound sms 2017-05-30 11:14:18 +01:00
Leo Hemsted db4b3e371a remove null sms sender test
it's no longer possible for an sms_sender to be null
2017-05-30 10:47:52 +01:00
Leo Hemsted 25011f09ef test no longer applicable as null sms_sender is an error now 2017-05-30 10:47:15 +01:00
Leo Hemsted eb6edf06a3 add upgrade script to remove non-null values from the sender column 2017-05-30 10:47:15 +01:00
Leo Hemsted 58503c855a set sms_sender to be 'GOVUK' if not otherwise specified
this is a precursor to making the column non-nullable
2017-05-30 10:47:15 +01:00
Leo Hemsted 4a85818c34 add inbound sms table 2017-05-30 10:47:01 +01:00
Martyn Inglis 75c5e5e5d5 Merge branch 'master' into redo-queue-visibitlity-timeout
Conflicts:
	app/notifications/process_notifications.py
	app/v2/notifications/post_notifications.py
2017-05-30 10:18:18 +01:00
Ken Tsang 18b8382d6e Refactor schema and improve tests 2017-05-26 17:17:15 +01:00
Rebecca Law 3dc70b8c39 Check service.permissions for the existence of schedule_notifications if the notications is being created with a scheduled_for param. 2017-05-26 15:41:14 +01:00
kentsanggds 263adac805 Merge pull request #984 from alphagov/ken-update-api-service-permissions-handling
Ken update api service permissions handling
2017-05-26 14:39:27 +01:00
Ken Tsang 7aca3d8f43 Remove flags process in service_dao.create_service 2017-05-26 12:04:16 +01:00
Imdad Ahad 77b82305f4 Search normalised in get_notifications_for_service:
* Use dao method to search against normalised(recipient)
* Add filter to accept one or more statuses
2017-05-26 11:58:50 +01:00
Imdad Ahad 78c10b7d30 Search notification against normalised recipient with filter for status 2017-05-26 11:45:56 +01:00
Imdad Ahad cfe08a4d8b Store the normalised number on the notification 2017-05-26 11:36:24 +01:00
Imdad Ahad 6c4377bd44 Persist normalised email 2017-05-26 10:26:07 +01:00
Imdad Ahad cbc92a6173 Store the normalised number on the notification 2017-05-26 10:26:07 +01:00
Ken Tsang 1375bbe400 Refactor schema to improve error response 2017-05-25 17:55:24 +01:00
Ken Tsang 54d85fd8df Add tests for services with no permissions 2017-05-25 17:48:09 +01:00
Ken Tsang 8488895612 Refactored tests 2017-05-25 17:48:09 +01:00
Ken Tsang f7a18f77cf Update model to cascade permissions assoc proxy 2017-05-25 17:48:09 +01:00
Ken Tsang 234312ece0 Update service permissions to ensure state in sync 2017-05-25 17:48:09 +01:00
Ken Tsang 2f626fa6fc Add permissions validation in service schema 2017-05-25 17:47:21 +01:00
Ken Tsang e59a1ab104 Update tests for existing flags to set service permissions 2017-05-25 17:47:21 +01:00
Ken Tsang 8e3e31faaf Updated service DAO and API end points 2017-05-25 17:47:21 +01:00
Rebecca Law b745e13a28 Merge branch 'master' into schedule-api-notification 2017-05-25 13:37:04 +01:00
Leo Hemsted d23a92fbc0 Merge pull request #952 from alphagov/international-delivery-receipts
update delivery receipts for countries that return them
2017-05-25 13:13:49 +01:00
Rebecca Law f555c7a73b Refactor tests to use the create_notication in tests.app.db 2017-05-25 11:41:07 +01:00
Martyn Inglis 4768f0b9fd Change retries policy.
Before we had a long back off, now we have more, but shorter backoffs.

- PREVIOUS
When we had an error talking to a provider we retried quickly and if we still got errors we backed off more and more. Maximum attempts was 5, max delay 4hours. This was to allow us time to ship a build if that was required.

- NOW
Backing off 48 times of 5 minutes each. This gives us the same total backoff, but many more tries in that period.

- WHY
Having the long back off meant messages could be delayed 4 hours. This was happening more and more, as PaaS deploys can place things into the "inflight" state in SQS. The inflight state MUST have an expiry time LONGER than the maximum retry back off. This meant that messages would be delayed 4 hours, even when there was no app error.

By doing this we can reduce this delay to 5 minutes. Whilst still giving us time to fix issues.
2017-05-25 11:12:40 +01:00
Leo Hemsted 57b7cb8d24 Merge pull request #986 from alphagov/create-service-bug
separate service deserialization from validation
2017-05-25 10:52:38 +01:00
Martyn Inglis 2591d3a1df This massive set of changes uses the new queue names object throughout the app and tests.
Lots of changes, all changing the line of code that puts things into queues, and the code that tests that.
2017-05-25 10:51:49 +01:00
Leo Hemsted 4b8b6ca91e add test to ensure that updating other things doesnt affect sms sender 2017-05-25 10:37:17 +01:00
Rebecca Law 9f6c037530 Use iso8601 to validate scheduled_for datetime.
Added a validation method that always fails for scheduled notifications.
Comment out config for scheduled task.
The schedule notifications will be turned on once we can invite services to use it.
Waiting for the service permission story, must commit this in order to keep things from going stale.
2017-05-24 16:27:15 +01:00
Leo Hemsted 554a193cff separate service deserialization from validation
Marshmallow validates and deserialises - BUT, when it deserialises,
it explicitly sets `sms_sender=None`, even when you haven't passed
sms_sender in. This is problematic, because we wanted to take advantage
of sqlalchemy's default value to set sms_sender to `GOVUK` when the
actual DB commit happens.

Instead, still use marshmallow for validating, but manually carry out
the json deserialisation in the model class.

This fixes a bug that only manifested when the database was upgraded,
but the code hadn't updated. 🎉
2017-05-24 16:27:12 +01:00
Rebecca Law 383dee3bb2 Updated the serialization of Notification.scheduled_for to include minutes. 2017-05-24 14:52:32 +01:00
Rebecca Law 96b0e42959 Merge branch 'master' into schedule-api-notification
Conflicts:
	app/celery/scheduled_tasks.py
	tests/app/celery/test_scheduled_tasks.py
2017-05-24 13:21:22 +01:00
minglis 8a2715e3e1 Merge pull request #980 from alphagov/change-delete-jobs-to-delete-by-type
Change delete jobs to delete by type
2017-05-24 12:35:04 +01:00
Martyn Inglis 03346f467f updated cache to store map not single value, to accommodate the billable units and the total cost. 2017-05-24 09:59:37 +01:00
Martyn Inglis 0db8297693 Removed print statement 2017-05-24 09:59:07 +01:00
Martyn Inglis 78a55bafe0 Added new cost field to yearly billable sms endpoint. 2017-05-24 08:57:41 +01:00