Newer
Older
import json
import responses
from brian_dashboard_manager.grafana.folder import find_folder
from brian_dashboard_manager.grafana.utils.request import TokenRequest
def generate_folder(data):
return {
"id": 555,
"uid": data['uid'],
"title": data['title'],
"url": f"/dashboards/f/{data['uid']}/{data['title'].lower()}",
"hasAcl": False,
"canSave": True,
"canEdit": True,
"canAdmin": True,
"createdBy": "Anonymous",
"created": "2021-02-23T15:33:46Z",
"updatedBy": "Anonymous",
"updated": "2021-02-23T15:33:46Z",
"version": 1
}
@responses.activate
def test_find_folder(data_config):
TITLE = 'testfolder123'
request = TokenRequest(**data_config, token='test')
method=responses.GET,
url=f"http://{data_config['hostname']}/api/folders",
def folder_post(request):
data = json.loads(request.body)
return 200, {}, json.dumps(generate_folder(data))
responses.add_callback(
method=responses.POST,
url=f"http://{data_config['hostname']}/api/folders",
callback=folder_post)
folder = find_folder(request, TITLE)
assert folder['id'] == 555
assert folder['title'] == TITLE