예제 #1
0
파일: program.py 프로젝트: spiette/invoke
 def may_specify_config_class(self):
     klass = object()
     eq_(Program(config_class=klass).config_class, klass) # noqa
예제 #2
0
 def executor_class_defaults_to_Executor(self):
     ok_(Program().executor_class is Executor)
예제 #3
0
 def may_specify_executor_class(self):
     klass = object()
     eq_(Program(executor_class=klass).executor_class, klass)  # noqa
예제 #4
0
 def honors_program_binary(self):
     expect('-c decorator -h biz',
            out="Usage: notinvoke",
            test=assert_contains,
            program=Program(binary='notinvoke'))
예제 #5
0
 def loader_class_defaults_to_FilesystemLoader(self):
     ok_(Program().loader_class is FilesystemLoader)
예제 #6
0
 def may_specify_version(self):
     eq_(Program(version='1.2.3').version, '1.2.3')
예제 #7
0
 def may_specify_namespace(self):
     foo = load('foo')
     ok_(Program(namespace=foo).namespace is foo)
예제 #8
0
from invoke import Collection, Program

from witch import VERSION
from .tasks import dev, prod, utils, db, aws

namespace = Collection()
namespace.add_collection(prod)
namespace.add_collection(dev)
namespace.add_collection(db)
namespace.add_collection(utils)
namespace.add_collection(aws)
namespace.add_task(prod.deploy)
namespace.add_task(prod.exec)

program = Program(namespace=namespace, version=VERSION)
예제 #9
0
 def uses_a_list_unaltered(self):
     p = Program()
     p.print_version = Mock()
     p.run(['inv', '--version'], exit=False)
     p.print_version.assert_called()
예제 #10
0
from invoke.config import Config  # , merge_dicts

from rscli import tasks

__VERSION__ = '0.2.0'


class RSConfig(Config):

    prefix = 'rscli'

    '''
    @staticmethod
    def global_defaults():
        their_defaults = Config.global_defaults()
        my_defaults = {
            'debug': True,
            'run': {
                'echo': True,
            },
        }
        return merge_dicts(their_defaults, my_defaults)
    '''


program = Program(
    version=__VERSION__,
    config_class=RSConfig,
    namespace=Collection.from_module(tasks)
)
예제 #11
0
from invoke import Collection, Program
from minv import tasks

program = Program(namespace=Collection.from_module(tasks), version='0.1.0')
예제 #12
0
def interactive():
    Program.initial_context = always_add_task_args_initial_context
    return Program(name="OKCupyd", version=__version__,
                   namespace=tasks.ns).run()
예제 #13
0
파일: program.py 프로젝트: spiette/invoke
 def env_prefix_can_be_overridden(self):
     eq_(Program(env_prefix='FOO_').env_prefix, 'FOO_')
예제 #14
0
파일: program.py 프로젝트: spiette/invoke
 def env_prefix_defaults_to_INVOKE_(self):
     eq_(Program().env_prefix, 'INVOKE_')
예제 #15
0
 def does_not_seek_tasks_module_if_namespace_was_given(self):
     expect('foo',
            err="No idea what 'foo' is!\n",
            program=Program(namespace=Collection('blank')))
예제 #16
0
 def splits_a_string(self):
     p = Program()
     p.print_version = Mock()
     p.run("inv --version", exit=False)
     p.print_version.assert_called()
예제 #17
0
 def turns_KeyboardInterrupt_into_exit_code_1(self, mock_exit):
     p = Program()
     p.execute = Mock(side_effect=KeyboardInterrupt)
     p.run("myapp -c foo mytask")
     mock_exit.assert_called_with(1)
예제 #18
0
 def uses_overridden_value_when_given(self):
     p = Program(name='NotInvoke')
     expect("--version", out="NotInvoke unknown\n", program=p)
예제 #19
0
 def default_version_is_unknown(self):
     eq_(Program().version, 'unknown')
예제 #20
0
 def uses_overridden_value_when_given(self):
     expect("myapp --help",
            out="nope [--core-opts]",
            program=Program(binary='nope'),
            invoke=False,
            test=assert_contains)
예제 #21
0
 def may_specify_name(self):
     eq_(Program(name='Myapp').name, 'Myapp')
예제 #22
0
 def use_binary_basename_when_invoked_absolutely(self):
     Program().run("/usr/local/bin/myapp --help", exit=False)
     stdout = sys.stdout.getvalue()
     assert_contains(stdout, "myapp [--core-opts]")
     assert_not_contains(stdout, "/usr/local/bin")
예제 #23
0
 def may_specify_binary(self):
     eq_(Program(binary='myapp').binary, 'myapp')
예제 #24
0
 def displays_name_and_version(self):
     expect("--version",
            program=Program(name="MyProgram", version='0.1.0'),
            out="MyProgram 0.1.0\n")
예제 #25
0
 def may_specify_loader_class(self):
     klass = object()
     eq_(Program(loader_class=klass).loader_class, klass)
예제 #26
0
 def uses_loader_class_given(self):
     klass = Mock(side_effect=FilesystemLoader)
     Program(loader_class=klass).run("myapp --help foo", exit=False)
     klass.assert_called_with(start=ANY)
예제 #27
0
 def _test_flag(self, flag, key, value=True):
     p = Program()
     p.execute = Mock()  # neuter
     p.run('inv {0} foo'.format(flag))
     eq_(p.config.run[key], value)
예제 #28
0
 def uses_executor_class_given(self):
     klass = Mock()
     Program(executor_class=klass).run("myapp foo", exit=False)
     klass.assert_called_with(ANY, ANY, ANY)
     klass.return_value.execute.assert_called_with(ANY)
예제 #29
0
 def config_class_init_kwarg_is_honored(self):
     klass = Mock()
     Program(config_class=klass).run("myapp foo", exit=False)
     eq_(len(klass.call_args_list), 1)  # don't care about actual args
예제 #30
0
파일: program.py 프로젝트: spiette/invoke
 def config_class_defaults_to_Config(self):
     ok_(Program().config_class is Config)