mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-19 14:08:47 -04:00
add an admin_request fixture
this gets rid of some boilerplate around mocking requests from the front-end
This commit is contained in:
@@ -1,11 +1,12 @@
|
|||||||
import requests_mock
|
import json
|
||||||
import pytest
|
|
||||||
import uuid
|
import uuid
|
||||||
from datetime import (datetime, date, timedelta)
|
from datetime import (datetime, date, timedelta)
|
||||||
|
|
||||||
|
import requests_mock
|
||||||
|
import pytest
|
||||||
from sqlalchemy import asc
|
from sqlalchemy import asc
|
||||||
from sqlalchemy.orm.session import make_transient
|
from sqlalchemy.orm.session import make_transient
|
||||||
from flask import current_app
|
from flask import current_app, url_for
|
||||||
|
|
||||||
from app import db
|
from app import db
|
||||||
from app.models import (
|
from app.models import (
|
||||||
@@ -35,6 +36,7 @@ from app.dao.invited_user_dao import save_invited_user
|
|||||||
from app.dao.provider_rates_dao import create_provider_rates
|
from app.dao.provider_rates_dao import create_provider_rates
|
||||||
from app.clients.sms.firetext import FiretextClient
|
from app.clients.sms.firetext import FiretextClient
|
||||||
|
|
||||||
|
from tests import create_authorization_header
|
||||||
from tests.app.db import create_user, create_template, create_notification
|
from tests.app.db import create_user, create_template, create_notification
|
||||||
|
|
||||||
|
|
||||||
@@ -976,3 +978,41 @@ def restore_provider_details(notify_db, notify_db_session):
|
|||||||
notify_db.session.add_all(existing_provider_details)
|
notify_db.session.add_all(existing_provider_details)
|
||||||
notify_db.session.add_all(existing_provider_details_history)
|
notify_db.session.add_all(existing_provider_details_history)
|
||||||
notify_db.session.commit()
|
notify_db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def admin_request(client):
|
||||||
|
class AdminRequest:
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get(endpoint, endpoint_kwargs=None, expected_status=200):
|
||||||
|
resp = client.get(
|
||||||
|
url_for(endpoint, **(endpoint_kwargs or {})),
|
||||||
|
headers=[create_authorization_header()]
|
||||||
|
)
|
||||||
|
json_resp = json.loads(resp.get_data(as_text=True))
|
||||||
|
assert resp.status_code == expected_status
|
||||||
|
return json_resp
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def post(endpoint, endpoint_kwargs=None, data=None, expected_status=200):
|
||||||
|
resp = client.post(
|
||||||
|
url_for(endpoint, **(endpoint_kwargs or {})),
|
||||||
|
data=json.dumps(data),
|
||||||
|
headers=[('Content-Type', 'application/json'), create_authorization_header()]
|
||||||
|
)
|
||||||
|
json_resp = json.loads(resp.get_data(as_text=True))
|
||||||
|
assert resp.status_code == expected_status
|
||||||
|
return json_resp
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def delete(endpoint, endpoint_kwargs=None, expected_status=204):
|
||||||
|
resp = client.delete(
|
||||||
|
url_for(endpoint, **(endpoint_kwargs or {})),
|
||||||
|
headers=[create_authorization_header()]
|
||||||
|
)
|
||||||
|
json_resp = json.loads(resp.get_data(as_text=True))
|
||||||
|
assert resp.status_code == expected_status
|
||||||
|
return json_resp
|
||||||
|
|
||||||
|
return AdminRequest
|
||||||
|
|||||||
Reference in New Issue
Block a user