python类task()的实例源码

test_tasks.py 文件源码 项目:fabricio 作者: renskiy 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def test_commands_list(self):
        cases = dict(
            default=dict(
                init_kwargs=dict(service='service'),
                expected_commands_list=['rollback'],
                unexpected_commands_list=['revert', 'migrate', 'migrate-back', 'backup', 'restore', 'pull', 'update', 'prepare', 'push', 'upgrade'],
            ),
            prepare_tasks=dict(
                init_kwargs=dict(service='service', registry='registry'),
                expected_commands_list=['rollback', 'prepare', 'push', 'upgrade'],
                unexpected_commands_list=['backup', 'restore', 'migrate', 'migrate-back', 'pull', 'update', 'revert'],
            ),
            migrate_tasks=dict(
                init_kwargs=dict(service='service', migrate_commands=True),
                expected_commands_list=['rollback', 'migrate', 'migrate-back'],
                unexpected_commands_list=['backup', 'restore', 'prepare', 'push', 'pull', 'update', 'revert', 'upgrade'],
            ),
            backup_tasks=dict(
                init_kwargs=dict(service='service', backup_commands=True),
                expected_commands_list=['rollback', 'backup', 'restore'],
                unexpected_commands_list=['migrate', 'migrate-back', 'prepare', 'push', 'pull', 'update', 'revert', 'upgrade'],
            ),
            revert_task=dict(
                init_kwargs=dict(service='service', revert_command=True),
                expected_commands_list=['rollback', 'revert'],
                unexpected_commands_list=['migrate', 'migrate-back', 'prepare', 'push', 'pull', 'update', 'backup', 'restore', 'upgrade'],
            ),
            pull_task=dict(
                init_kwargs=dict(service='service', pull_command=True),
                expected_commands_list=['rollback', 'pull'],
                unexpected_commands_list=['migrate', 'migrate-back', 'prepare', 'push', 'revert', 'update', 'backup', 'restore', 'upgrade'],
            ),
            update_task=dict(
                init_kwargs=dict(service='service', update_command=True),
                expected_commands_list=['rollback', 'update'],
                unexpected_commands_list=['migrate', 'migrate-back', 'prepare', 'push', 'pull', 'revert', 'backup', 'restore', 'upgrade'],
            ),
            complex=dict(
                init_kwargs=dict(service='service', backup_commands=True, migrate_commands=True, registry='registry', revert_command=True, update_command=True, pull_command=True),
                expected_commands_list=['pull', 'rollback', 'update', 'backup', 'restore', 'migrate', 'migrate-back', 'prepare', 'push', 'revert', 'upgrade'],
                unexpected_commands_list=[],
            ),
            all_tasks=dict(
                init_kwargs=dict(service='service', backup_commands=True, migrate_commands=True, registry='registry', revert_command=True, update_command=True, pull_command=True),
                expected_commands_list=['pull', 'rollback', 'update', 'backup', 'restore', 'migrate', 'migrate-back', 'prepare', 'push', 'revert', 'upgrade', 'deploy'],
                unexpected_commands_list=[],
                env=dict(tasks='task'),
            ),
        )
        for case, data in cases.items():
            with self.subTest(case=case):
                with mock.patch.dict(fab.env, data.get('env', {})):
                    tasks_list = tasks.DockerTasks(**data['init_kwargs'])
                docstring, new_style, classic, default = load_tasks_from_module(tasks_list)
                for expected_command in data['expected_commands_list']:
                    self.assertIn(expected_command, new_style)
                for unexpected_command in data['unexpected_commands_list']:
                    self.assertNotIn(unexpected_command, new_style)


问题


面经


文章

微信
公众号

扫码关注公众号