Пример #1
0
    def test_cmd_helper_mkdir_merge(self):
        mkdir_kwargs_lhs = {
            'mode': 'a+x',
            'parents': False,
            'verbose': True,
            'context': 'CTX',
            'help': True,
            'version': True,
            'name': 'lhs',
        }
        cmd_lhs = mkdir_cmd.CmdMkdir(**mkdir_kwargs_lhs)
        cmd_lhs.check_args()

        mkdir_kwargs_rhs = {
            'mode': 'a+x',
            'parents': True,
            'verbose': False,
            'context': 'CTX',
            'help': False,
            'version': False,
            'name': 'rhs',
        }
        cmd_rhs = mkdir_cmd.CmdMkdir(**mkdir_kwargs_rhs)
        cmd_rhs.check_args()

        cmd = mkdir_cmd.CmdMkdir.merge(cmd_lhs, cmd_rhs)
        cmd.check_args()

        assert cmd['name'] == 'rhs'
        assert cmd['parents']
        assert not cmd['verbose']
        assert cmd._to_dict(cmd) == mkdir_kwargs_rhs
Пример #2
0
    def test_cmd_helper_mkdir_kwarg_unset(self):
        mkdir_kwargs = {
            'mode': 'a+x',
            'parents': False,
            'verbose': True,
            'context': 'CTX',
            'help': True,
            'version': True,
            'name': 'some/dir/name',
        }
        cmd = mkdir_cmd.CmdMkdir(**mkdir_kwargs)
        cmd.check_args()

        cmd.unset(mode='',
                  parents='',
                  verbose='',
                  context='',
                  version='',
                  **{'help': ''})
        cmd.check_args()

        output_list = mkdir_cmd.MkdirArgumentBuilder.ARGS_ORDERED
        output_dict = {
            'name': 'some/dir/name',
        }
        _args_list = self._build_args_list(output_list, output_dict)

        assert 'name' in cmd
        assert 'parents' not in cmd
        assert mkdir_kwargs['name'] == cmd['name']
        assert _args_list == cmd.to_args_list()
Пример #3
0
    def test_cmd_helper_mkdir_kwargs_extend(self):
        mkdir_kwargs = {
            'mode': 'a+x',
            'parents': False,
            'verbose': True,
            'context': 'CTX',
            'help': True,
            'version': True,
            'name': 'some/dir/name',
        }
        cmd = mkdir_cmd.CmdMkdir(**mkdir_kwargs)
        cmd.check_args()

        cmd.extend(parents=True, version=False)
        cmd.check_args()

        output_list = mkdir_cmd.MkdirArgumentBuilder.ARGS_ORDERED
        output_dict = {
            'mode': '-m=a+x',
            'parents': '-p',
            'verbose': '-v',
            'context': '-Z=CTX',
            'help': '--help',
            'version': '--version',
            'name': ['some/dir/name'],
        }
        _args_list = self._build_args_list(output_list, output_dict)

        assert 'name' in cmd
        assert 'parents' in cmd
        assert mkdir_kwargs['name'] == cmd['name']
        assert _args_list == cmd.to_args_list()
Пример #4
0
 def test_cmd_helper_start_ok(self):
     mkdir_cmd.CmdMkdir(name=object()).check_args()
Пример #5
0
 def test_cmd_helper_start_unknown(self):
     with pytest.raises(UnknownArguments):
         mkdir_cmd.CmdMkdir(unknown_argument=object()).check_args()
Пример #6
0
 def test_cmd_helper_start_empty(self):
     with pytest.raises(ArgumentsCollision):
         mkdir_cmd.CmdMkdir().check_args()