Skip to content
Snippets Groups Projects
Commit d18ece36 authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

sphinx docs and provision test fix

parent 0207198e
No related branches found
No related tags found
No related merge requests found
...@@ -25,7 +25,7 @@ import sys ...@@ -25,7 +25,7 @@ import sys
sys.path.insert(0, os.path.abspath( sys.path.insert(0, os.path.abspath(
os.path.join( os.path.join(
os.path.dirname(__file__), os.path.dirname(__file__),
'..', '..', 'inventory_provider'))) '..', '..', 'brian_dashboard_manager')))
class RenderAsJSON(Directive): class RenderAsJSON(Directive):
...@@ -37,14 +37,14 @@ class RenderAsJSON(Directive): ...@@ -37,14 +37,14 @@ class RenderAsJSON(Directive):
module_path, member_name = self.arguments[0].rsplit('.', 1) module_path, member_name = self.arguments[0].rsplit('.', 1)
member_data = getattr(import_module(module_path), member_name) member_data = getattr(import_module(module_path), member_name)
code = json.dumps(member_data, indent=2) code = json.dumps(member_data, indent=2, ensure_ascii=False)
literal = nodes.literal_block(code, code) literal = nodes.literal_block(code, code)
literal['language'] = 'json' literal['language'] = 'json'
return [ return [
addnodes.desc_name(text=member_name), addnodes.desc_name(text=member_name),
addnodes.desc_content('', literal) addnodes.desc_content('', literal)
] ]
...@@ -68,9 +68,9 @@ release = '0.0' ...@@ -68,9 +68,9 @@ release = '0.0'
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones. # ones.
extensions = [ extensions = [
'sphinx_rtd_theme', 'sphinx_rtd_theme',
'sphinx.ext.autodoc', 'sphinx.ext.autodoc',
'sphinx.ext.coverage' 'sphinx.ext.coverage'
] ]
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.
......
...@@ -12,6 +12,10 @@ similarly to `config.json.example`, and the name ...@@ -12,6 +12,10 @@ similarly to `config.json.example`, and the name
of this file should be stored in the environment of this file should be stored in the environment
variable `CONFIG_FILENAME` when running the service. variable `CONFIG_FILENAME` when running the service.
Config
---------
.. automodule:: brian_dashboard_manager.config
Running this module Running this module
--------------------- ---------------------
...@@ -29,4 +33,4 @@ This module has been tested in the following execution environments: ...@@ -29,4 +33,4 @@ This module has been tested in the following execution environments:
* As a `gunicorn` wsgi service. * As a `gunicorn` wsgi service.
* Details of `gunicorn` configuration can be found in the * Details of `gunicorn` configuration can be found in the
brian_dashboard_manager Puppet repository. brian_dashboard_manager Puppet repository.
\ No newline at end of file
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
contain the root `toctree` directive. contain the root `toctree` directive.
Inventory Provider BRIAN Dashboard Manager
================== =======================
The BRIAN Dashboard Manager is used The BRIAN Dashboard Manager is used
provision Organizations and Dashboards in Grafana for BRIAN. provision Organizations and Dashboards in Grafana for BRIAN.
......
...@@ -2,7 +2,7 @@ import responses ...@@ -2,7 +2,7 @@ import responses
import json import json
from brian_dashboard_manager.templating.nren_access import get_nrens from brian_dashboard_manager.templating.nren_access import get_nrens
from brian_dashboard_manager.grafana.provision import provision_folder, \ from brian_dashboard_manager.grafana.provision import provision_folder, \
generate_all_nrens generate_all_nrens, provision
from brian_dashboard_manager.grafana.provision import is_re_customer, \ from brian_dashboard_manager.grafana.provision import is_re_customer, \
is_cls, is_ias_customer, is_ias_private, is_ias_public, is_ias_upstream, \ is_cls, is_ias_customer, is_ias_private, is_ias_public, is_ias_upstream, \
is_lag_backbone, is_phy_upstream, is_re_peer, is_gcs, \ is_lag_backbone, is_phy_upstream, is_re_peer, is_gcs, \
...@@ -236,7 +236,8 @@ def test_provision_folder(data_config, mocker): ...@@ -236,7 +236,8 @@ def test_provision_folder(data_config, mocker):
for dashboard in dashboards: for dashboard in dashboards:
provision_folder(None, 'testfolder', dashboards[dashboard], provision_folder(None, 'testfolder', dashboards[dashboard],
TEST_INTERFACES, 'testdatasource') TEST_INTERFACES,
'testdatasource', ['CLS TESTDASHBOARD'])
def test_provision_nrens(data_config, mocker): def test_provision_nrens(data_config, mocker):
...@@ -316,6 +317,11 @@ def test_provision(data_config, mocker, client): ...@@ -316,6 +317,11 @@ def test_provision(data_config, mocker, client):
url=f"{data_config['inventory_provider']}/poller/interfaces", url=f"{data_config['inventory_provider']}/poller/interfaces",
callback=get_callback) callback=get_callback)
responses.add_callback(
method=responses.GET,
url=f"{data_config['inventory_provider']}/data/interfaces",
callback=get_callback)
def folder_get(request): def folder_get(request):
return 200, {}, json.dumps([]) return 200, {}, json.dumps([])
...@@ -416,7 +422,4 @@ def test_provision(data_config, mocker, client): ...@@ -416,7 +422,4 @@ def test_provision(data_config, mocker, client):
'brian_dashboard_manager.grafana.provision.delete_api_token') 'brian_dashboard_manager.grafana.provision.delete_api_token')
# we dont care about this, tested separately # we dont care about this, tested separately
_mocked_delete_api_token.return_value = None _mocked_delete_api_token.return_value = None
response = client.get('/update/', headers=DEFAULT_REQUEST_HEADERS) provision(data_config)
assert response.status_code == 200
data = json.loads(response.data.decode('utf-8'))['data']
assert data is not None # == EXISTING_ORGS + [PROVISIONED_ORGANIZATION]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment