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') responses.add( method=responses.GET, url=f"http://{data_config['hostname']}/api/folders", json=[]) 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