Add some tests to catalogs

This commit is contained in:
redref
2017-02-03 22:29:16 +01:00
parent b947bf05c2
commit 4190e36278
3 changed files with 48 additions and 8 deletions

View File

@@ -853,7 +853,6 @@ def catalogs(env, compare):
if not app.config['ENABLE_CATALOG']:
log.warn('Access to catalog interface disabled by administrator')
abort(403)
return
return render_template(
'catalogs.html',

View File

@@ -4,12 +4,10 @@
"recordsFiltered": {{total_filtered}},
"data": [
{% for catalog in catalogs -%}
{%- if catalog_flag %},{%- endif %}
{%- set catalog_flag = True -%}
{%- if not loop.first %},{%- endif -%}
[
{%- for column in columns -%}
{%- if column_flag %},{%- endif -%}
{%- set column_flag = True -%}
{%- if not loop.first %},{%- endif -%}
{%- if column.attr == 'catalog_timestamp' -%}
"<a rel=\"utctimestamp\" href=\"{{url_for('catalog_node', env=current_env, node_name=catalog.certname)}}\">{{ catalog.catalog_timestamp }}</a>"
{%- elif column.type == 'node' -%}

View File

@@ -537,9 +537,6 @@ def test_json_daily_reports_chart_ok(client, mocker):
]
}
import logging
logging.error(query_data)
dbquery = MockDbQuery(query_data)
mocker.patch.object(app.puppetdb, '_query', side_effect=dbquery.get)
@@ -558,3 +555,49 @@ def test_json_daily_reports_chart_ok(client, mocker):
cur_day = next_day
assert rv.status_code == 200
def test_catalogs_disabled(client, mocker,
mock_puppetdb_environments,
mock_puppetdb_default_nodes):
app.app.config['ENABLE_CATALOG'] = False
rv = client.get('/catalogs')
assert rv.status_code == 403
def test_catalogs_view(client, mocker,
mock_puppetdb_environments,
mock_puppetdb_default_nodes):
app.app.config['ENABLE_CATALOG'] = True
rv = client.get('/catalogs')
assert rv.status_code == 200
soup = BeautifulSoup(rv.data, 'html.parser')
assert soup.title.contents[0] == 'Puppetboard'
def test_catalogs_json(client, mocker,
mock_puppetdb_environments,
mock_puppetdb_default_nodes):
app.app.config['ENABLE_CATALOG'] = True
rv = client.get('/catalogs/json')
assert rv.status_code == 200
result_json = json.loads(rv.data.decode('utf-8'))
assert 'data' in result_json
for line in result_json['data']:
assert len(line) == 3
def test_catalogs_json_compare(client, mocker,
mock_puppetdb_environments,
mock_puppetdb_default_nodes):
app.app.config['ENABLE_CATALOG'] = True
rv = client.get('/catalogs/compare/1234567/json')
assert rv.status_code == 200
result_json = json.loads(rv.data.decode('utf-8'))
assert 'data' in result_json
for line in result_json['data']:
assert len(line) == 3