コード例 #1
0
def test_init_app_task():

    ac = flexmock()

    def configure(binder):
        binder.bind(ApplicationController, ac)

    with inject_services(configure):

        ac.should_receive('get').and_raise(AppDoesNotExist)
        ac.should_receive('create').with_args(
            'foo', {
                'path': 'some/path',
                'deployment': None,
                'source': 'foo',
                'env': 'prod'
            }).and_return(defer.succeed(flexmock()))
        ac.should_receive('list').and_return(
            defer.succeed('result-of-list-operation'))

        ts = TaskService()

        r = yield ts.task_init(123123,
                               'foo',
                               'some/path',
                               config='foo',
                               env='prod')
        assert r is True
コード例 #2
0
def test_list_deployments_task():

    ac = flexmock()
    dc = flexmock()

    def configure(binder):
        binder.bind(ApplicationController, ac)
        binder.bind(DeploymentController, dc)

    with inject_services(configure):

        ac.should_receive('get').with_args('foo').and_return(
            defer.succeed(Application({'path': 'some/path'}))).once()
        dc.should_receive('list').and_return(
            defer.succeed([
                Deployment(public_domain='foo.bar', name='baz', apps=['foo'])
            ])).once()

        ts = TaskService()

        r = yield ts.task_deployments(123123)

        assert r == [{
            'name': 'baz',
            'public_domain': 'foo.bar',
            'apps': [{
                'name': 'foo',
                'config': {
                    'path': 'some/path'
                }
            }]
        }]
コード例 #3
0
ファイル: test_tasks.py プロジェクト: hydface2/mcloud
def test_list_deployments_task():

    ac = flexmock()
    dc = flexmock()

    def configure(binder):
        binder.bind(ApplicationController, ac)
        binder.bind(DeploymentController, dc)

    with inject_services(configure):

        ac.should_receive('get').with_args('foo').and_return(defer.succeed(Application({'path': 'some/path'}))).once()
        dc.should_receive('list').and_return(defer.succeed([Deployment(public_domain='foo.bar', name='baz', apps=['foo'])])).once()

        ts = TaskService()

        r = yield ts.task_deployments(123123)


        assert r == [{
            'name': 'baz',
            'public_domain': 'foo.bar',
            'apps': [
                {
                    'name': 'foo',
                    'config': {'path': 'some/path'}
                }
            ]
        }]
コード例 #4
0
def test_tasks_are_registered():

    with injector({}):

        ts = TaskService()
        tasks = ts.collect_tasks()

        assert tasks['help'] == ts.task_help
コード例 #5
0
ファイル: test_tasks.py プロジェクト: hydface2/mcloud
def test_tasks_are_registered():

    with injector({}):

        ts = TaskService()
        tasks = ts.collect_tasks()

        assert tasks['help'] == ts.task_help
コード例 #6
0
def test_push_task():

    ac = flexmock()

    ac.should_receive('list').and_return(defer.succeed(['foo', 'bar'])).once()

    def configure(binder):
        binder.bind(ApplicationController, ac)

    with inject_services(configure):

        ts = TaskService()

        r = yield ts.task_list(123123)
        assert r == ['foo', 'bar']
コード例 #7
0
ファイル: test_tasks.py プロジェクト: hydface2/mcloud
def test_push_task():

    ac = flexmock()

    ac.should_receive('list').and_return(defer.succeed(['foo', 'bar'])).once()

    def configure(binder):
        binder.bind(ApplicationController, ac)

    with inject_services(configure):

        ts = TaskService()

        r = yield ts.task_list(123123)
        assert r == ['foo', 'bar']
コード例 #8
0
ファイル: test_tasks.py プロジェクト: hydface2/mcloud
def test_deployment_new_app_task_source():

    dc = flexmock()

    def configure(binder):
        binder.bind(DeploymentController, dc)

    with inject_services(configure):

        dc.should_receive('new_app').with_args('baz', 'foo', {'source': 'foo: bar'}).and_return(defer.succeed(flexmock())).once()

        ts = TaskService()

        r = yield ts.task_deployment_new_app_source(123123, 'baz', 'foo', 'foo: bar')
        assert r is True
コード例 #9
0
ファイル: test_tasks.py プロジェクト: hydface2/mcloud
def test_init_app_task():

    ac = flexmock()

    def configure(binder):
        binder.bind(ApplicationController, ac)

    with inject_services(configure):

        ac.should_receive('get').and_raise(AppDoesNotExist)
        ac.should_receive('create').with_args('foo', {'path': 'some/path', 'deployment': None, 'source': 'foo', 'env': 'prod'}).and_return(defer.succeed(flexmock()))
        ac.should_receive('list').and_return(defer.succeed('result-of-list-operation'))

        ts = TaskService()

        r = yield ts.task_init(123123, 'foo', 'some/path', config='foo', env='prod')
        assert r is True
コード例 #10
0
def test_set_var_task():
    def timeout():
        print('Can not connect to redis!')
        reactor.stop()

    redis = yield txtimeout(txredisapi.Connection(dbid=2), 2, timeout)
    yield redis.flushdb()

    def configure(binder):
        binder.bind(txredisapi.Connection, redis)

    with inject_services(configure):

        ts = TaskService()

        r = yield ts.task_list_vars(123123)
        assert r == {}

        r = yield ts.task_set_var(123123, 'boo', '123')
        assert r == {'boo': 123}

        r = yield ts.task_list_vars(123123)
        assert r == {'boo': 123}

        r = yield ts.task_set_var(123123, 'boo2', '1234')
        assert r == {'boo': 123, 'boo2': 1234}

        r = yield ts.task_rm_var(123123, 'boo')
        assert r == {'boo2': 1234}
コード例 #11
0
def test_deployment_new_app_task_source():

    dc = flexmock()

    def configure(binder):
        binder.bind(DeploymentController, dc)

    with inject_services(configure):

        dc.should_receive('new_app').with_args('baz', 'foo', {
            'source': 'foo: bar'
        }).and_return(defer.succeed(flexmock())).once()

        ts = TaskService()

        r = yield ts.task_deployment_new_app_source(123123, 'baz', 'foo',
                                                    'foo: bar')
        assert r is True
コード例 #12
0
def test_register_file():

    rc = yield txredisapi.Connection(dbid=2)
    yield rc.flushdb()

    def configure(binder):
        binder.bind(txredisapi.Connection, rc)

    with inject_services(configure):

        ts = TaskService()

        r = yield ts.task_register_file(None)
        assert r == 1

        r = yield ts.task_register_file(None)
        assert r == 2

        r = yield ts.task_register_file(None)
        assert r == 3
コード例 #13
0
ファイル: test_tasks.py プロジェクト: hydface2/mcloud
def test_register_file():

    rc = yield txredisapi.Connection(dbid=2)
    yield rc.flushdb()

    def configure(binder):
        binder.bind(txredisapi.Connection, rc)

    with inject_services(configure):

        ts = TaskService()

        r = yield ts.task_register_file(None)
        assert r == 1

        r = yield ts.task_register_file(None)
        assert r == 2

        r = yield ts.task_register_file(None)
        assert r == 3
コード例 #14
0
ファイル: test_tasks.py プロジェクト: hydface2/mcloud
def test_set_var_task():

    def timeout():
        print('Can not connect to redis!')
        reactor.stop()

    redis = yield txtimeout(txredisapi.Connection(dbid=2), 2, timeout)
    yield redis.flushdb()

    def configure(binder):
        binder.bind(txredisapi.Connection, redis)

    with inject_services(configure):

        ts = TaskService()

        r = yield ts.task_list_vars(123123)
        assert r == {}

        r = yield ts.task_set_var(123123, 'boo', '123')
        assert r == {'boo': 123}

        r = yield ts.task_list_vars(123123)
        assert r == {'boo': 123}

        r = yield ts.task_set_var(123123, 'boo2', '1234')
        assert r == {'boo': 123, 'boo2': 1234}

        r = yield ts.task_rm_var(123123, 'boo')
        assert r == {'boo2': 1234}