Beispiel #1
0
 def may_specify_config_class(self):
     klass = object()
     eq_(Program(config_class=klass).config_class, klass) # noqa
Beispiel #2
0
 def executor_class_defaults_to_Executor(self):
     ok_(Program().executor_class is Executor)
Beispiel #3
0
 def may_specify_executor_class(self):
     klass = object()
     eq_(Program(executor_class=klass).executor_class, klass)  # noqa
Beispiel #4
0
 def honors_program_binary(self):
     expect('-c decorator -h biz',
            out="Usage: notinvoke",
            test=assert_contains,
            program=Program(binary='notinvoke'))
Beispiel #5
0
 def loader_class_defaults_to_FilesystemLoader(self):
     ok_(Program().loader_class is FilesystemLoader)
Beispiel #6
0
 def may_specify_version(self):
     eq_(Program(version='1.2.3').version, '1.2.3')
Beispiel #7
0
 def may_specify_namespace(self):
     foo = load('foo')
     ok_(Program(namespace=foo).namespace is foo)
Beispiel #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)
Beispiel #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()
Beispiel #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)
)
Beispiel #11
0
from invoke import Collection, Program
from minv import tasks

program = Program(namespace=Collection.from_module(tasks), version='0.1.0')
Beispiel #12
0
def interactive():
    Program.initial_context = always_add_task_args_initial_context
    return Program(name="OKCupyd", version=__version__,
                   namespace=tasks.ns).run()
Beispiel #13
0
 def env_prefix_can_be_overridden(self):
     eq_(Program(env_prefix='FOO_').env_prefix, 'FOO_')
Beispiel #14
0
 def env_prefix_defaults_to_INVOKE_(self):
     eq_(Program().env_prefix, 'INVOKE_')
Beispiel #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')))
Beispiel #16
0
 def splits_a_string(self):
     p = Program()
     p.print_version = Mock()
     p.run("inv --version", exit=False)
     p.print_version.assert_called()
Beispiel #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)
Beispiel #18
0
 def uses_overridden_value_when_given(self):
     p = Program(name='NotInvoke')
     expect("--version", out="NotInvoke unknown\n", program=p)
Beispiel #19
0
 def default_version_is_unknown(self):
     eq_(Program().version, 'unknown')
Beispiel #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)
Beispiel #21
0
 def may_specify_name(self):
     eq_(Program(name='Myapp').name, 'Myapp')
Beispiel #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")
Beispiel #23
0
 def may_specify_binary(self):
     eq_(Program(binary='myapp').binary, 'myapp')
Beispiel #24
0
 def displays_name_and_version(self):
     expect("--version",
            program=Program(name="MyProgram", version='0.1.0'),
            out="MyProgram 0.1.0\n")
Beispiel #25
0
 def may_specify_loader_class(self):
     klass = object()
     eq_(Program(loader_class=klass).loader_class, klass)
Beispiel #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)
Beispiel #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)
Beispiel #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)
Beispiel #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
Beispiel #30
0
 def config_class_defaults_to_Config(self):
     ok_(Program().config_class is Config)