Merge "Fix bug when passing url and key into grafana"

This commit is contained in:
Jenkins 2015-10-24 18:02:40 +00:00 committed by Gerrit Code Review
commit 57e4e17f20
3 changed files with 12 additions and 5 deletions

View File

@ -29,7 +29,8 @@ class Builder(object):
config.get('cache', 'cachedir'),
config.getboolean('cache', 'enabled'))
self.grafana = Grafana(
config.get('grafana', 'apikey'), config.get('grafana', 'url'))
url=config.get('grafana', 'url'),
key=config.get('grafana', 'apikey'))
self.parser = YamlParser()
def delete_dashboard(self, path):

View File

@ -33,8 +33,10 @@ class Grafana(object):
:type key: str
"""
self.server = url
self.auth = None
base_url = urljoin(url, 'api/dashboards/db/')
base_url = urljoin(self.server, 'api/dashboards/db/')
session = requests.Session()
session.headers.update({
'Content-Type': 'application/json',
@ -42,8 +44,7 @@ class Grafana(object):
# NOTE(pabelanger): Grafana 2.1.0 added basic auth support so now the
# api key is optional.
if key:
session.headers.update({
'Authorization': 'Bearer %s' % key,
})
self.auth = {'Authorization': 'Bearer %s' % key}
session.headers.update(self.auth)
self.dashboard = Dashboard(base_url, session)

View File

@ -39,6 +39,11 @@ class TestCaseBuilder(TestCase):
builder2.delete_dashboard(path)
self.assertEqual(mock_grafana.call_count, 1)
def test_grafana_defaults(self):
self.assertEqual(
self.builder.grafana.server, 'http://grafana.example.org')
self.assertEqual(self.builder.grafana.auth, None)
@mock.patch('grafana_dashboards.grafana.Dashboard.create')
def test_update_dashboard(self, mock_grafana):
path = os.path.join(