示例#1
0
文件: test_init.py 项目: lytex/pydo
    def test_task_manager_is_initialized_when_needed(self, session,
                                                     subcommand):
        self.parser_args.subcommand = subcommand

        main()

        self.tm.assert_called_once_with(self.session)
示例#2
0
文件: test_init.py 项目: d3vv3/pydo
    def test_session_is_initialized_when_needed(self, session, subcommand):
        self.parser_args.subcommand = subcommand

        main()

        self.sessionmaker.return_value.assert_called_once_with(
            bind=self.engine.connect.return_value)
示例#3
0
文件: test_init.py 项目: d3vv3/pydo
    def test_delete_subcomand_deletes_task(self):
        arguments = ['del', ulid.new().str]
        self.parser_args.subcommand = arguments[0]
        self.parser_args.ulid = arguments[1]

        main()

        self.tm.return_value.delete.assert_called_once_with(id=arguments[1])
示例#4
0
文件: test_init.py 项目: d3vv3/pydo
    def test_list_subcomand_prints_report_by_default(self, subcommand):
        self.parser_args.subcommand = subcommand

        main()

        self.ls.assert_called_once_with(
            self.sessionmaker.return_value.return_value)
        self.ls.return_value.print.assert_called_once_with(
            columns=self.config.get('report.list.columns').split(', '),
            labels=self.config.get('report.list.labels').split(', '),
        )
示例#5
0
文件: test_init.py 项目: d3vv3/pydo
    def test_add_subcomand_creates_task(self):
        description = self.fake.sentence()
        self.parser_args.subcommand = 'add'
        self.tm.return_value._parse_arguments.return_value = {
            'description': description,
        }

        main()

        self.tm.return_value.add.assert_called_once_with(
            description=description, )
示例#6
0
文件: test_init.py 项目: lytex/pydo
    def test_unfreeze_parent_subcommand_unfreezes_task(self):
        arguments = ['unfreeze', '-p', ulid.new().str]
        self.parser_args.subcommand = arguments[0]
        self.parser_args.ulid = arguments[1]
        self.parser_args.parent = True

        main()

        self.tm.return_value.unfreeze.assert_called_once_with(
            id=arguments[1],
            parent=True,
        )
示例#7
0
文件: test_init.py 项目: lytex/pydo
    def test_freeze_subcommand_freezes_task(self):
        arguments = ['freeze', ulid.new().str]
        self.parser_args.subcommand = arguments[0]
        self.parser_args.ulid = arguments[1]
        self.parser_args.parent = False

        main()

        self.tm.return_value.freeze.assert_called_once_with(
            id=arguments[1],
            parent=False,
        )
示例#8
0
文件: test_init.py 项目: lytex/pydo
    def test_tags_subcommand_prints_report(self, tagsMock):
        arguments = [
            'tags',
        ]
        self.parser_args.subcommand = arguments[0]

        main()

        tagsMock.assert_called_once_with(self.session)

        tagsMock.return_value.print.assert_called_once_with(
            columns=self.config.get('report.tags.columns'),
            labels=self.config.get('report.tags.labels'))
示例#9
0
文件: test_init.py 项目: d3vv3/pydo
    def test_projects_subcomand_prints_report(self, projectMock):
        arguments = [
            'projects',
        ]
        self.parser_args.subcommand = arguments[0]

        main()

        projectMock.assert_called_once_with(
            self.sessionmaker.return_value.return_value)

        projectMock.return_value.print.assert_called_once_with(
            columns=self.config.get('report.projects.columns').split(', '),
            labels=self.config.get('report.projects.labels').split(', '))
示例#10
0
文件: test_init.py 项目: lytex/pydo
    def test_frozen_subcommand_prints_frozen_parent_tasks(self, mock):
        self.parser_args.subcommand = 'frozen'

        main()

        assert call(models.Task) in mock.mock_calls
        assert call(state='frozen') in mock.return_value.filter_by.mock_calls

        self.task_report.assert_called_once_with(self.session,
                                                 models.RecurrentTask)
        self.task_report.return_value.print.assert_called_once_with(
            tasks=mock.return_value.filter_by.return_value,
            columns=self.config.get('report.frozen.columns'),
            labels=self.config.get('report.frozen.labels'),
        )
示例#11
0
文件: test_init.py 项目: lytex/pydo
    def test_open_subcommand_prints_report_by_default(self, mock, subcommand):
        self.parser_args.subcommand = subcommand

        main()

        assert call(models.Task) in mock.mock_calls
        assert call(state='open', type='task') \
            in mock.return_value.filter_by.mock_calls

        self.task_report.assert_called_once_with(self.session)
        self.task_report.return_value.print.assert_called_once_with(
            tasks=mock.return_value.filter_by.return_value,
            columns=self.config.get('report.open.columns'),
            labels=self.config.get('report.open.labels'),
        )
示例#12
0
文件: test_init.py 项目: d3vv3/pydo
    def test_add_subcomand_creates_task_with_project(self):
        description = self.fake.sentence()
        project_id = self.fake.word()

        self.parser_args.subcommand = 'add'
        self.tm.return_value._parse_arguments.return_value = {
            'description': description,
            'project_id': project_id,
        }

        main()

        self.tm.return_value.add.assert_called_once_with(
            description=description,
            project_id=project_id,
        )
示例#13
0
文件: test_init.py 项目: d3vv3/pydo
    def test_add_subcomand_creates_task_with_priority(self):
        description = self.fake.sentence()
        priority = self.fake.random_number()

        self.parser_args.subcommand = 'add'
        self.tm.return_value._parse_arguments.return_value = {
            'description': description,
            'priority': priority,
        }

        main()

        self.tm.return_value.add.assert_called_once_with(
            description=description,
            priority=priority,
        )
示例#14
0
文件: setup.py 项目: lytex/pydo
    def run(self):
        egg_info.run(self)
        try:
            data_directory = os.path.expanduser("~/.local/share/pydo")
            os.makedirs(data_directory)
            log.info("Data directory created")
        except FileExistsError:
            log.info("Data directory already exits")

        config_path = os.path.join(data_directory, 'config.yaml')
        if os.path.isfile(config_path) and os.access(config_path, os.R_OK):
            log.info(
                "Configuration file already exists, check the documentation "
                "for the new version changes.")
        else:
            shutil.copyfile('assets/config.yaml', config_path)
            log.info("Copied default configuration template")
        import pydo

        pydo.main(["install"])
示例#15
0
文件: test_init.py 项目: lytex/pydo
    def test_modify_subcommand_modifies_task(self):
        arguments = [
            'mod',
            ulid.new().str,
            'pro:test',
        ]
        self.parser_args.subcommand = arguments[0]
        self.parser_args.parent = False
        self.parser_args.ulid = arguments[1]
        self.parser_args.modify_argument = arguments[2]
        self.tm.return_value._parse_arguments.return_value = {
            'project': 'test',
        }

        main()

        self.tm.return_value.modify.assert_called_once_with(
            arguments[1],
            project='test',
        )
示例#16
0
文件: test_init.py 项目: lytex/pydo
 def test_export_subcommand_calls_export(self, exportMock):
     self.parser_args.subcommand = 'export'
     main()
     assert exportMock.called
示例#17
0
文件: test_init.py 项目: d3vv3/pydo
 def test_install_subcomand_calls_install(self, installMock):
     self.parser_args.subcommand = 'install'
     main()
     assert installMock.called
示例#18
0
文件: test_init.py 项目: d3vv3/pydo
 def test_main_loads_logger(self, loggerMock):
     self.parser.parse_args = True
     main()
     assert loggerMock.called
示例#19
0
文件: test_init.py 项目: d3vv3/pydo
 def test_main_loads_parser(self):
     self.parser.parse_args = True
     main()
     assert self.parser.called
示例#20
0
文件: setup.py 项目: lytex/pydo
    def run(self):
        install.run(self)
        import pydo

        pydo.main(["install"])