Related to https://github.com/grafana/oncall-private/issues/2826 Related to https://github.com/grafana/irm/pull/459 Allow org sync requests from service account users. Also trigger a sync during public API requests if the org wasn't yet setup.
18 lines
760 B
Python
18 lines
760 B
Python
import json
|
|
|
|
import httpretty
|
|
|
|
|
|
def setup_service_account_api_mocks(grafana_url, perms=None, user_data=None, perms_status=200, user_status=200):
|
|
# requires enabling httpretty
|
|
if perms is None:
|
|
perms = {}
|
|
mock_response = httpretty.Response(status=perms_status, body=json.dumps(perms))
|
|
perms_url = f"{grafana_url}/api/access-control/user/permissions"
|
|
httpretty.register_uri(httpretty.GET, perms_url, responses=[mock_response])
|
|
|
|
if user_data is None:
|
|
user_data = {"login": "some-login", "uid": "service-account:42"}
|
|
mock_response = httpretty.Response(status=user_status, body=json.dumps(user_data))
|
|
user_url = f"{grafana_url}/api/user"
|
|
httpretty.register_uri(httpretty.GET, user_url, responses=[mock_response])
|