56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
|
import pytest
|
||
|
import json
|
||
|
|
||
|
from data import model
|
||
|
from endpoints.api.trigger_analyzer import is_parent
|
||
|
from endpoints.api.trigger import BuildTrigger
|
||
|
from endpoints.api.test.shared import conduct_api_call
|
||
|
from endpoints.test.shared import client_with_identity
|
||
|
from test.fixtures import *
|
||
|
|
||
|
|
||
|
@pytest.mark.parametrize('context,dockerfile_path,expected', [
|
||
|
("/", "/a/b", True),
|
||
|
("/a", "/a/b", True),
|
||
|
("/a/b", "/a/b", False),
|
||
|
("/a//", "/a/b", True),
|
||
|
("/a", "/a//b/c", True),
|
||
|
("/a//", "a/b", True),
|
||
|
("/a/b", "a/bc/d", False),
|
||
|
("/d", "/a/b", False),
|
||
|
("/a/b", "/a/b.c", False),
|
||
|
("/a/b", "/a/b/b.c", True),
|
||
|
("", "/a/b.c", False),
|
||
|
("/a/b", "", False),
|
||
|
("", "", False),
|
||
|
])
|
||
|
def test_super_user_build_endpoints(context, dockerfile_path, expected):
|
||
|
assert is_parent(context, dockerfile_path) == expected
|
||
|
|
||
|
|
||
|
def test_enabled_disabled_trigger(app, client):
|
||
|
trigger = model.build.list_build_triggers('devtable', 'building')[0]
|
||
|
trigger.config = json.dumps({'hook_id': 'someid'})
|
||
|
trigger.save()
|
||
|
|
||
|
params = {
|
||
|
'repository': 'devtable/building',
|
||
|
'trigger_uuid': trigger.uuid,
|
||
|
}
|
||
|
|
||
|
body = {
|
||
|
'enabled': False,
|
||
|
}
|
||
|
|
||
|
with client_with_identity('devtable', client) as cl:
|
||
|
result = conduct_api_call(cl, BuildTrigger, 'PUT', params, body, 200).json
|
||
|
assert not result['enabled']
|
||
|
|
||
|
body = {
|
||
|
'enabled': True,
|
||
|
}
|
||
|
|
||
|
with client_with_identity('devtable', client) as cl:
|
||
|
result = conduct_api_call(cl, BuildTrigger, 'PUT', params, body, 200).json
|
||
|
assert result['enabled']
|