mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-11 10:28:55 -04:00
Revert "add DVLA organisations to API"
This commit is contained in:
@@ -90,7 +90,6 @@ def register_blueprint(application):
|
|||||||
from app.provider_details.rest import provider_details as provider_details_blueprint
|
from app.provider_details.rest import provider_details as provider_details_blueprint
|
||||||
from app.spec.rest import spec as spec_blueprint
|
from app.spec.rest import spec as spec_blueprint
|
||||||
from app.organisation.rest import organisation_blueprint
|
from app.organisation.rest import organisation_blueprint
|
||||||
from app.dvla_organisation.rest import dvla_organisation_blueprint
|
|
||||||
from app.delivery.rest import delivery_blueprint
|
from app.delivery.rest import delivery_blueprint
|
||||||
from app.notifications.receive_notifications import receive_notifications_blueprint
|
from app.notifications.receive_notifications import receive_notifications_blueprint
|
||||||
from app.notifications.notifications_ses_callback import ses_callback_blueprint
|
from app.notifications.notifications_ses_callback import ses_callback_blueprint
|
||||||
@@ -149,9 +148,6 @@ def register_blueprint(application):
|
|||||||
organisation_blueprint.before_request(requires_admin_auth)
|
organisation_blueprint.before_request(requires_admin_auth)
|
||||||
application.register_blueprint(organisation_blueprint, url_prefix='/organisation')
|
application.register_blueprint(organisation_blueprint, url_prefix='/organisation')
|
||||||
|
|
||||||
dvla_organisation_blueprint.before_request(requires_admin_auth)
|
|
||||||
application.register_blueprint(dvla_organisation_blueprint, url_prefix='/dvla_organisations')
|
|
||||||
|
|
||||||
letter_job.before_request(requires_admin_auth)
|
letter_job.before_request(requires_admin_auth)
|
||||||
application.register_blueprint(letter_job)
|
application.register_blueprint(letter_job)
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -321,8 +321,7 @@ def create_dvla_file_contents(job_id):
|
|||||||
notification.template.__dict__,
|
notification.template.__dict__,
|
||||||
notification.personalisation,
|
notification.personalisation,
|
||||||
notification_reference=notification.reference,
|
notification_reference=notification.reference,
|
||||||
contact_block=notification.service.letter_contact_block,
|
contact_block=notification.service.letter_contact_block
|
||||||
org_id=notification.service.dvla_organisation.id,
|
|
||||||
))
|
))
|
||||||
for notification in dao_get_all_notifications_for_job(job_id)
|
for notification in dao_get_all_notifications_for_job(job_id)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
from app.models import DVLAOrganisation
|
|
||||||
|
|
||||||
|
|
||||||
def dao_get_dvla_organisations():
|
|
||||||
return DVLAOrganisation.query.all()
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
from flask import Blueprint, jsonify
|
|
||||||
|
|
||||||
from app.dao.dvla_organisation_dao import dao_get_dvla_organisations
|
|
||||||
from app.errors import register_errors
|
|
||||||
|
|
||||||
dvla_organisation_blueprint = Blueprint('dvla_organisation', __name__)
|
|
||||||
register_errors(dvla_organisation_blueprint)
|
|
||||||
|
|
||||||
|
|
||||||
@dvla_organisation_blueprint.route('', methods=['GET'])
|
|
||||||
def get_dvla_organisations():
|
|
||||||
return jsonify({
|
|
||||||
org.id: org.name for org in dao_get_dvla_organisations()
|
|
||||||
})
|
|
||||||
@@ -113,16 +113,6 @@ class Organisation(db.Model):
|
|||||||
name = db.Column(db.String(255), nullable=True)
|
name = db.Column(db.String(255), nullable=True)
|
||||||
|
|
||||||
|
|
||||||
DVLA_ORG_HM_GOVERNMENT = '001'
|
|
||||||
DVLA_ORG_LAND_REGISTRY = '500'
|
|
||||||
|
|
||||||
|
|
||||||
class DVLAOrganisation(db.Model):
|
|
||||||
__tablename__ = 'dvla_organisation'
|
|
||||||
id = db.Column(db.String, primary_key=True)
|
|
||||||
name = db.Column(db.String(255), nullable=True)
|
|
||||||
|
|
||||||
|
|
||||||
class Service(db.Model, Versioned):
|
class Service(db.Model, Versioned):
|
||||||
__tablename__ = 'services'
|
__tablename__ = 'services'
|
||||||
|
|
||||||
@@ -157,14 +147,6 @@ class Service(db.Model, Versioned):
|
|||||||
sms_sender = db.Column(db.String(11), nullable=True)
|
sms_sender = db.Column(db.String(11), nullable=True)
|
||||||
organisation_id = db.Column(UUID(as_uuid=True), db.ForeignKey('organisation.id'), index=True, nullable=True)
|
organisation_id = db.Column(UUID(as_uuid=True), db.ForeignKey('organisation.id'), index=True, nullable=True)
|
||||||
organisation = db.relationship('Organisation')
|
organisation = db.relationship('Organisation')
|
||||||
dvla_organisation_id = db.Column(
|
|
||||||
db.String,
|
|
||||||
db.ForeignKey('dvla_organisation.id'),
|
|
||||||
index=True,
|
|
||||||
nullable=False,
|
|
||||||
default=DVLA_ORG_HM_GOVERNMENT
|
|
||||||
)
|
|
||||||
dvla_organisation = db.relationship('DVLAOrganisation')
|
|
||||||
branding = db.Column(
|
branding = db.Column(
|
||||||
db.String(255),
|
db.String(255),
|
||||||
db.ForeignKey('branding_type.name'),
|
db.ForeignKey('branding_type.name'),
|
||||||
|
|||||||
@@ -177,7 +177,6 @@ class ServiceSchema(BaseSchema):
|
|||||||
created_by = field_for(models.Service, 'created_by', required=True)
|
created_by = field_for(models.Service, 'created_by', required=True)
|
||||||
organisation = field_for(models.Service, 'organisation')
|
organisation = field_for(models.Service, 'organisation')
|
||||||
branding = field_for(models.Service, 'branding')
|
branding = field_for(models.Service, 'branding')
|
||||||
dvla_organisation = field_for(models.Service, 'dvla_organisation')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Service
|
model = models.Service
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
"""empty message
|
|
||||||
|
|
||||||
Revision ID: 0072_add_dvla_orgs
|
|
||||||
Revises: 0071_add_job_error_state
|
|
||||||
Create Date: 2017-04-19 15:25:45.155886
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = '0072_add_dvla_orgs'
|
|
||||||
down_revision = '0071_add_job_error_state'
|
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.create_table('dvla_organisation',
|
|
||||||
sa.Column('id', sa.String(), nullable=False),
|
|
||||||
sa.Column('name', sa.String(length=255), nullable=True),
|
|
||||||
sa.PrimaryKeyConstraint('id')
|
|
||||||
)
|
|
||||||
|
|
||||||
# insert initial values - HMG and Land Reg
|
|
||||||
op.execute("""
|
|
||||||
INSERT INTO dvla_organisation VALUES
|
|
||||||
('001', 'HM Government'),
|
|
||||||
('500', 'Land Registry')
|
|
||||||
""")
|
|
||||||
|
|
||||||
op.add_column('services', sa.Column('dvla_organisation_id', sa.String(), nullable=True))
|
|
||||||
op.add_column('services_history', sa.Column('dvla_organisation_id', sa.String(), nullable=True))
|
|
||||||
|
|
||||||
# set everything to be HMG for now
|
|
||||||
op.execute("UPDATE services SET dvla_organisation_id = '001'")
|
|
||||||
op.execute("UPDATE services_history SET dvla_organisation_id = '001'")
|
|
||||||
|
|
||||||
op.alter_column('services', 'dvla_organisation_id', nullable=False)
|
|
||||||
op.alter_column('services_history', 'dvla_organisation_id', nullable=False)
|
|
||||||
|
|
||||||
op.create_index(
|
|
||||||
op.f('ix_services_dvla_organisation_id'),
|
|
||||||
'services',
|
|
||||||
['dvla_organisation_id'],
|
|
||||||
unique=False
|
|
||||||
)
|
|
||||||
op.create_index(
|
|
||||||
op.f('ix_services_history_dvla_organisation_id'),
|
|
||||||
'services_history',
|
|
||||||
['dvla_organisation_id'],
|
|
||||||
unique=False
|
|
||||||
)
|
|
||||||
|
|
||||||
op.create_foreign_key(None, 'services', 'dvla_organisation', ['dvla_organisation_id'], ['id'])
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
op.drop_column('services_history', 'dvla_organisation_id')
|
|
||||||
op.drop_column('services', 'dvla_organisation_id')
|
|
||||||
op.drop_table('dvla_organisation')
|
|
||||||
@@ -1038,7 +1038,6 @@ def test_create_dvla_file_contents(sample_letter_template, mocker):
|
|||||||
assert calls[1][1]['contact_block'] == 'London,\nSW1A 1AA'
|
assert calls[1][1]['contact_block'] == 'London,\nSW1A 1AA'
|
||||||
assert calls[0][1]['notification_reference'] == '1'
|
assert calls[0][1]['notification_reference'] == '1'
|
||||||
assert calls[1][1]['notification_reference'] == '2'
|
assert calls[1][1]['notification_reference'] == '2'
|
||||||
assert calls[1][1]['org_id'] == '001'
|
|
||||||
|
|
||||||
|
|
||||||
@freeze_time("2017-03-23 11:09:00.061258")
|
@freeze_time("2017-03-23 11:09:00.061258")
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ from app.models import (
|
|||||||
InvitedUser,
|
InvitedUser,
|
||||||
Service,
|
Service,
|
||||||
BRANDING_GOVUK,
|
BRANDING_GOVUK,
|
||||||
DVLA_ORG_HM_GOVERNMENT,
|
|
||||||
KEY_TYPE_NORMAL,
|
KEY_TYPE_NORMAL,
|
||||||
KEY_TYPE_TEAM,
|
KEY_TYPE_TEAM,
|
||||||
KEY_TYPE_TEST
|
KEY_TYPE_TEST
|
||||||
@@ -78,7 +77,6 @@ def test_create_service(sample_user):
|
|||||||
assert service_db.name == "service_name"
|
assert service_db.name == "service_name"
|
||||||
assert service_db.id == service.id
|
assert service_db.id == service.id
|
||||||
assert service_db.branding == BRANDING_GOVUK
|
assert service_db.branding == BRANDING_GOVUK
|
||||||
assert service_db.dvla_organisation_id == DVLA_ORG_HM_GOVERNMENT
|
|
||||||
assert service_db.research_mode is False
|
assert service_db.research_mode is False
|
||||||
assert service.active is True
|
assert service.active is True
|
||||||
assert sample_user in service_db.users
|
assert sample_user in service_db.users
|
||||||
@@ -265,9 +263,7 @@ def test_create_service_creates_a_history_record_with_current_data(sample_user):
|
|||||||
assert sample_user.id == service_history.created_by_id
|
assert sample_user.id == service_history.created_by_id
|
||||||
assert service_from_db.created_by.id == service_history.created_by_id
|
assert service_from_db.created_by.id == service_history.created_by_id
|
||||||
assert service_from_db.branding == BRANDING_GOVUK
|
assert service_from_db.branding == BRANDING_GOVUK
|
||||||
assert service_from_db.dvla_organisation_id == DVLA_ORG_HM_GOVERNMENT
|
|
||||||
assert service_history.branding == BRANDING_GOVUK
|
assert service_history.branding == BRANDING_GOVUK
|
||||||
assert service_history.dvla_organisation_id == DVLA_ORG_HM_GOVERNMENT
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_service_creates_a_history_record_with_current_data(sample_user):
|
def test_update_service_creates_a_history_record_with_current_data(sample_user):
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
from flask import json
|
|
||||||
|
|
||||||
from tests import create_authorization_header
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_dvla_organisations(client):
|
|
||||||
auth_header = create_authorization_header()
|
|
||||||
|
|
||||||
response = client.get('/dvla_organisations', headers=[auth_header])
|
|
||||||
|
|
||||||
assert response.status_code == 200
|
|
||||||
dvla_organisations = json.loads(response.get_data(as_text=True))
|
|
||||||
assert dvla_organisations == {'001': 'HM Government', '500': 'Land Registry'}
|
|
||||||
@@ -10,7 +10,7 @@ from freezegun import freeze_time
|
|||||||
|
|
||||||
from app.dao.users_dao import save_model_user
|
from app.dao.users_dao import save_model_user
|
||||||
from app.dao.services_dao import dao_remove_user_from_service
|
from app.dao.services_dao import dao_remove_user_from_service
|
||||||
from app.models import User, Organisation, DVLA_ORG_LAND_REGISTRY
|
from app.models import User, Organisation
|
||||||
from tests import create_authorization_header
|
from tests import create_authorization_header
|
||||||
from tests.app.conftest import (
|
from tests.app.conftest import (
|
||||||
sample_service as create_service,
|
sample_service as create_service,
|
||||||
@@ -129,7 +129,9 @@ def test_get_service_list_should_return_empty_list_if_no_services(notify_api, no
|
|||||||
assert len(json_resp['data']) == 0
|
assert len(json_resp['data']) == 0
|
||||||
|
|
||||||
|
|
||||||
def test_get_service_by_id(client, sample_service):
|
def test_get_service_by_id(notify_api, sample_service):
|
||||||
|
with notify_api.test_request_context():
|
||||||
|
with notify_api.test_client() as client:
|
||||||
auth_header = create_authorization_header()
|
auth_header = create_authorization_header()
|
||||||
resp = client.get(
|
resp = client.get(
|
||||||
'/service/{}'.format(sample_service.id),
|
'/service/{}'.format(sample_service.id),
|
||||||
@@ -142,7 +144,6 @@ def test_get_service_by_id(client, sample_service):
|
|||||||
assert not json_resp['data']['research_mode']
|
assert not json_resp['data']['research_mode']
|
||||||
assert json_resp['data']['organisation'] is None
|
assert json_resp['data']['organisation'] is None
|
||||||
assert json_resp['data']['branding'] == 'govuk'
|
assert json_resp['data']['branding'] == 'govuk'
|
||||||
assert json_resp['data']['dvla_organisation'] == '001'
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_service_by_id_should_404_if_no_service(notify_api, notify_db):
|
def test_get_service_by_id_should_404_if_no_service(notify_api, notify_db):
|
||||||
@@ -190,7 +191,9 @@ def test_get_service_by_id_should_404_if_no_service_for_user(notify_api, sample_
|
|||||||
assert json_resp['message'] == 'No result found'
|
assert json_resp['message'] == 'No result found'
|
||||||
|
|
||||||
|
|
||||||
def test_create_service(client, sample_user):
|
def test_create_service(notify_api, sample_user):
|
||||||
|
with notify_api.test_request_context():
|
||||||
|
with notify_api.test_client() as client:
|
||||||
data = {
|
data = {
|
||||||
'name': 'created service',
|
'name': 'created service',
|
||||||
'user_id': str(sample_user.id),
|
'user_id': str(sample_user.id),
|
||||||
@@ -211,7 +214,6 @@ def test_create_service(client, sample_user):
|
|||||||
assert json_resp['data']['name'] == 'created service'
|
assert json_resp['data']['name'] == 'created service'
|
||||||
assert json_resp['data']['email_from'] == 'created.service'
|
assert json_resp['data']['email_from'] == 'created.service'
|
||||||
assert not json_resp['data']['research_mode']
|
assert not json_resp['data']['research_mode']
|
||||||
assert json_resp['data']['dvla_organisation'] == '001'
|
|
||||||
|
|
||||||
auth_header_fetch = create_authorization_header()
|
auth_header_fetch = create_authorization_header()
|
||||||
|
|
||||||
@@ -369,11 +371,13 @@ def test_create_service_should_throw_duplicate_key_constraint_for_existing_email
|
|||||||
assert "Duplicate service name '{}'".format(service_name) in json_resp['message']['name']
|
assert "Duplicate service name '{}'".format(service_name) in json_resp['message']['name']
|
||||||
|
|
||||||
|
|
||||||
def test_update_service(client, notify_db, sample_service):
|
def test_update_service(notify_api, notify_db, sample_service):
|
||||||
org = Organisation(colour='#000000', logo='justice-league.png', name='Justice League')
|
org = Organisation(colour='#000000', logo='justice-league.png', name='Justice League')
|
||||||
notify_db.session.add(org)
|
notify_db.session.add(org)
|
||||||
notify_db.session.commit()
|
notify_db.session.commit()
|
||||||
|
|
||||||
|
with notify_api.test_request_context():
|
||||||
|
with notify_api.test_client() as client:
|
||||||
auth_header = create_authorization_header()
|
auth_header = create_authorization_header()
|
||||||
resp = client.get(
|
resp = client.get(
|
||||||
'/service/{}'.format(sample_service.id),
|
'/service/{}'.format(sample_service.id),
|
||||||
@@ -387,8 +391,7 @@ def test_update_service(client, notify_db, sample_service):
|
|||||||
'name': 'updated service name',
|
'name': 'updated service name',
|
||||||
'email_from': 'updated.service.name',
|
'email_from': 'updated.service.name',
|
||||||
'created_by': str(sample_service.created_by.id),
|
'created_by': str(sample_service.created_by.id),
|
||||||
'organisation': str(org.id),
|
'organisation': str(org.id)
|
||||||
'dvla_organisation': DVLA_ORG_LAND_REGISTRY
|
|
||||||
}
|
}
|
||||||
|
|
||||||
auth_header = create_authorization_header()
|
auth_header = create_authorization_header()
|
||||||
@@ -403,7 +406,6 @@ def test_update_service(client, notify_db, sample_service):
|
|||||||
assert result['data']['name'] == 'updated service name'
|
assert result['data']['name'] == 'updated service name'
|
||||||
assert result['data']['email_from'] == 'updated.service.name'
|
assert result['data']['email_from'] == 'updated.service.name'
|
||||||
assert result['data']['organisation'] == str(org.id)
|
assert result['data']['organisation'] == str(org.id)
|
||||||
assert result['data']['dvla_organisation'] == DVLA_ORG_LAND_REGISTRY
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_service_flags(notify_api, sample_service):
|
def test_update_service_flags(notify_api, sample_service):
|
||||||
|
|||||||
+1
-2
@@ -75,8 +75,7 @@ def notify_db_session(notify_db):
|
|||||||
"branding_type",
|
"branding_type",
|
||||||
"job_status",
|
"job_status",
|
||||||
"provider_details_history",
|
"provider_details_history",
|
||||||
"template_process_type",
|
"template_process_type"]:
|
||||||
"dvla_organisation"]:
|
|
||||||
notify_db.engine.execute(tbl.delete())
|
notify_db.engine.execute(tbl.delete())
|
||||||
notify_db.session.commit()
|
notify_db.session.commit()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user