Skip to content
Snippets Groups Projects
test_grafana_folder.py 1.27 KiB
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