Add unit testing of bitbucket trigger handler

This commit is contained in:
Joseph Schorr 2017-02-13 15:01:09 -05:00
parent ba301b401b
commit 497c90e7ea
7 changed files with 217 additions and 51 deletions

View file

@ -1,24 +1,22 @@
import pytest
from mock import Mock
from datetime import datetime
from buildtrigger.bitbuckethandler import BitbucketBuildTrigger
from buildtrigger.triggerutil import (InvalidPayloadException, SkipRequestException,
TriggerStartException, ValidationRequestException)
from endpoints.building import PreparedBuild
from util.morecollections import AttrDict
from buildtrigger.test.bitbucketmock import get_bitbucket_trigger
@pytest.fixture
def bitbucket_trigger():
return _get_bitbucket_trigger()
return get_bitbucket_trigger()
def get_mock_bitbucket():
client_mock = Mock()
return client_mock
def _get_bitbucket_trigger(subdir=''):
trigger_obj = AttrDict(dict(auth_token='foobar', id='sometrigger'))
trigger = BitbucketBuildTrigger(trigger_obj, {'build_source': 'foo/bar', 'subdir': subdir})
trigger._get_client = get_mock_bitbucket
return trigger
def test_list_build_subdirs(bitbucket_trigger):
assert bitbucket_trigger.list_build_subdirs() == ['']
@pytest.mark.parametrize('subdir, contents', [
('', 'hello world'),
('somesubdir', 'hi universe'),
('unknownpath', None),
])
def test_load_dockerfile_contents(subdir, contents):
trigger = get_bitbucket_trigger(subdir)
assert trigger.load_dockerfile_contents() == contents