Adding radiator json testing

Signed-off-by: Mike Terzo <mike@terzo.org>
This commit is contained in:
Mike Terzo
2017-01-23 18:29:12 -05:00
parent 0570372d97
commit 2e4acc3e3f

View File

@@ -1,4 +1,5 @@
import pytest import pytest
import json
from puppetboard import app from puppetboard import app
from pypuppetdb.types import Node from pypuppetdb.types import Node
from puppetboard import default_settings from puppetboard import default_settings
@@ -61,7 +62,19 @@ def mock_puppetdb_default_nodes(mocker):
latest_report_hash='1234567', latest_report_hash='1234567',
catalog_timestamp='2013-08-01T09:57:00.000Z', catalog_timestamp='2013-08-01T09:57:00.000Z',
facts_timestamp='2013-08-01T09:57:00.000Z', facts_timestamp='2013-08-01T09:57:00.000Z',
status='noop') status='noop'),
Node('_', 'node-unchanged',
report_timestamp='2013-08-01T09:57:00.000Z',
latest_report_hash='1234567',
catalog_timestamp='2013-08-01T09:57:00.000Z',
facts_timestamp='2013-08-01T09:57:00.000Z',
status='unchanged'),
Node('_', 'node-skipped',
report_timestamp='2013-08-01T09:57:00.000Z',
latest_report_hash='1234567',
catalog_timestamp='2013-08-01T09:57:00.000Z',
facts_timestamp='2013-08-01T09:57:00.000Z',
status='skipped')
] ]
return mocker.patch.object(app.puppetdb, 'nodes', return mocker.patch.object(app.puppetdb, 'nodes',
@@ -219,6 +232,31 @@ def test_radiator_view(client, mocker,
assert '10' in total.text assert '10' in total.text
def test_radiator_view_json(client, mocker,
mock_puppetdb_environments,
mock_puppetdb_default_nodes):
query_data = {
'nodes': [[{'count': 10}]],
'resources': [[{'count': 40}]],
}
dbquery = MockDbQuery(query_data)
mocker.patch.object(app.puppetdb, '_query', side_effect=dbquery.get)
rv = client.get('/radiator', headers={'Accept': 'application/json'})
assert rv.status_code == 200
json_data = json.loads(rv.data.decode('utf-8'))
assert json_data['unreported'] == 1
assert json_data['noop'] == 1
assert json_data['failed'] == 1
assert json_data['changed'] == 1
assert json_data['skipped'] == 1
assert json_data['unchanged'] == 1
def test_radiator_view_bad_env(client, mocker): def test_radiator_view_bad_env(client, mocker):
mock_puppetdb_environments(mocker) mock_puppetdb_environments(mocker)
mock_puppetdb_default_nodes(mocker) mock_puppetdb_default_nodes(mocker)