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
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
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
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
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
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
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
Chris Hill-Scott
635fb8fe44
Add private endpoint to get notification by ID
...
We need this for the two way stuff in the admin app.
We already have this as a public endpoint, but the admin app can’t use
it, because the admin app auths with its own key, not that of the
service it’s acting on behalf of.
This endpoint makes sure that a request originating from one service
can’t be used to see notifications belonging to another service.
2017-06-06 16:21:57 +01:00
Martyn Inglis
75bf693f44
Add the yearly free limit to the service model.
...
This allows us to reference it across the API code base and return it in the API.
But not currently attached to the service DB model - a static method on the class.
2017-06-06 14:49:05 +01:00
Imdad Ahad
3177a6ddc4
Return personalisation dump of notifications + small refactor
2017-06-05 15:54:40 +01:00
Martyn Inglis
c29f95381e
Remved test re-added as part of a merge
2017-06-01 14:57:46 +01:00
Martyn Inglis
a60d40bbc0
Merge branch 'master' into remove-nasty-query-from-dashboard
...
Conflicts:
tests/app/service/test_rest.py
2017-06-01 14:47:00 +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
Leo Hemsted
d33698216c
Revert "Revert "Remove nulls from sms_sender""
2017-06-01 11:00:26 +01:00
Leo Hemsted
ea0ba8d87a
Revert "Remove nulls from sms_sender"
2017-05-31 14:52:48 +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
Ken Tsang
18b8382d6e
Refactor schema and improve tests
2017-05-26 17:17:15 +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
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
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
Leo Hemsted
4b8b6ca91e
add test to ensure that updating other things doesnt affect sms sender
2017-05-25 10:37:17 +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
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
78a55bafe0
Added new cost field to yearly billable sms endpoint.
2017-05-24 08:57:41 +01:00
Leo Hemsted
e9b1fd4dde
Revert "Non null sender"
2017-05-23 16:32:03 +01:00
Leo Hemsted
1cd94e3d3d
Merge pull request #977 from alphagov/non-null-sender
...
Non null sender
2017-05-23 16:08:56 +01:00
Martyn Inglis
e987668b0c
Merge branch 'master' into remove-nasty-query-from-dashboard
2017-05-23 13:55:30 +01:00
Imdad Ahad
d745df3f44
Fix test that doesn't account for notifications being created in a different order
2017-05-23 12:50:26 +01:00
Leo Hemsted
afd748bab2
test no longer applicable as null sms_sender is an error now
2017-05-23 11:43:23 +01:00
Leo Hemsted
47560515dc
add upgrade script to remove non-null values from the sender column
2017-05-23 11:33:43 +01:00
Leo Hemsted
147c50f87b
set sms_sender to be 'GOVUK' if not otherwise specified
...
this is a precursor to making the column non-nullable
2017-05-23 11:33:31 +01:00