mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-24 01:11:38 -05:00
68 lines
2.5 KiB
Python
68 lines
2.5 KiB
Python
import pytest
|
||
from flask import json
|
||
|
||
from tests.app.db import create_organisation, create_service
|
||
|
||
|
||
@pytest.mark.parametrize('path', ['/', '/_status'])
|
||
def test_get_status_all_ok(client, notify_db_session, path):
|
||
response = client.get(path)
|
||
assert response.status_code == 200
|
||
resp_json = json.loads(response.get_data(as_text=True))
|
||
assert resp_json['status'] == 'ok'
|
||
assert resp_json['db_version']
|
||
assert resp_json['git_commit']
|
||
assert resp_json['build_time']
|
||
|
||
|
||
def test_empty_live_service_and_organisation_counts(admin_request):
|
||
assert admin_request.get('status.live_service_and_organisation_counts') == {
|
||
'organisations': 0,
|
||
'services': 0,
|
||
}
|
||
|
||
|
||
def test_populated_live_service_and_organisation_counts(admin_request):
|
||
|
||
# Org 1 has three real live services and one fake, for a total of 3
|
||
org_1 = create_organisation('org 1')
|
||
live_service_1 = create_service(service_name='1')
|
||
live_service_1.organisation = org_1
|
||
live_service_2 = create_service(service_name='2')
|
||
live_service_2.organisation = org_1
|
||
live_service_3 = create_service(service_name='3')
|
||
live_service_3.organisation = org_1
|
||
fake_live_service_1 = create_service(service_name='f1', count_as_live=False)
|
||
fake_live_service_1.organisation = org_1
|
||
inactive_service_1 = create_service(service_name='i1', active=False)
|
||
inactive_service_1.organisation = org_1
|
||
|
||
# This service isn’t associated to an org, but should still be counted as live
|
||
create_service(service_name='4')
|
||
|
||
# Org 2 has no real live services
|
||
org_2 = create_organisation('org 2')
|
||
trial_service_1 = create_service(service_name='t1', restricted=True)
|
||
trial_service_1.organisation = org_2
|
||
fake_live_service_2 = create_service(service_name='f2', count_as_live=False)
|
||
fake_live_service_2.organisation = org_2
|
||
inactive_service_2 = create_service(service_name='i2', active=False)
|
||
inactive_service_2.organisation = org_2
|
||
|
||
# Org 2 has no services at all
|
||
create_organisation('org 3')
|
||
|
||
# This service isn’t associated to an org, and should not be counted as live
|
||
# because it’s marked as not counted
|
||
create_service(service_name='f3', count_as_live=False)
|
||
|
||
# This service isn’t associated to an org, and should not be counted as live
|
||
# because it’s in trial mode
|
||
create_service(service_name='t', restricted=True)
|
||
create_service(service_name='i', restricted=False, active=False)
|
||
|
||
assert admin_request.get('status.live_service_and_organisation_counts') == {
|
||
'organisations': 1,
|
||
'services': 4,
|
||
}
|