mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 15:46:07 -05:00
make perf platform client handle more stuff sensibly
specifically, all of the performance platform specific data layout now happens in performance_platform_client.py - stuff like setting the _timestamp, period etc, and the perf platform-specific nomenclature is all handled there.
This commit is contained in:
@@ -6,7 +6,7 @@ from app.clients.performance_platform.performance_platform_client import Perform
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def perf_client(mocker):
|
||||
def perf_client(client, mocker):
|
||||
perf_client = PerformancePlatformClient()
|
||||
current_app = mocker.Mock(config={
|
||||
'PERFORMANCE_PLATFORM_ENABLED': True,
|
||||
@@ -24,15 +24,15 @@ def test_should_not_call_if_not_enabled(perf_client):
|
||||
with requests_mock.Mocker() as request_mock:
|
||||
request_mock.post('https://performance-platform-url/foo', json={}, status_code=200)
|
||||
perf_client._active = False
|
||||
perf_client.send_stats_to_performance_platform(dataset='foo', payload={})
|
||||
perf_client.send_stats_to_performance_platform({'dataType': 'foo'})
|
||||
|
||||
assert request_mock.called is False
|
||||
|
||||
|
||||
def test_should_call_if_enabled(perf_client):
|
||||
def test_should_call_datatype_endpoint_if_enabled(perf_client):
|
||||
with requests_mock.Mocker() as request_mock:
|
||||
request_mock.post('https://performance-platform-url/foo', json={}, status_code=200)
|
||||
perf_client.send_stats_to_performance_platform(dataset='foo', payload={})
|
||||
perf_client.send_stats_to_performance_platform({'dataType': 'foo'})
|
||||
|
||||
assert request_mock.call_count == 1
|
||||
assert request_mock.last_request.method == 'POST'
|
||||
@@ -46,7 +46,7 @@ def test_should_use_correct_token(perf_client, dataset, token):
|
||||
with requests_mock.Mocker() as request_mock:
|
||||
request_mock.post('https://performance-platform-url/foo', json={}, status_code=200)
|
||||
request_mock.post('https://performance-platform-url/bar', json={}, status_code=200)
|
||||
perf_client.send_stats_to_performance_platform(dataset=dataset, payload={})
|
||||
perf_client.send_stats_to_performance_platform({'dataType': dataset})
|
||||
|
||||
assert request_mock.call_count == 1
|
||||
assert request_mock.last_request.headers.get('authorization') == 'Bearer {}'.format(token)
|
||||
@@ -55,4 +55,4 @@ def test_should_use_correct_token(perf_client, dataset, token):
|
||||
def test_should_raise_for_status(perf_client):
|
||||
with pytest.raises(requests.HTTPError), requests_mock.Mocker() as request_mock:
|
||||
request_mock.post('https://performance-platform-url/foo', json={}, status_code=403)
|
||||
perf_client.send_stats_to_performance_platform(dataset='foo', payload={})
|
||||
perf_client.send_stats_to_performance_platform({'dataType': 'foo'})
|
||||
|
||||
Reference in New Issue
Block a user