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)
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)
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])
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(', '), )
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, )
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, )
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, )
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'))
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(', '))
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'), )
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'), )
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, )
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, )
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"])
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', )
def test_export_subcommand_calls_export(self, exportMock): self.parser_args.subcommand = 'export' main() assert exportMock.called
def test_install_subcomand_calls_install(self, installMock): self.parser_args.subcommand = 'install' main() assert installMock.called
def test_main_loads_logger(self, loggerMock): self.parser.parse_args = True main() assert loggerMock.called
def test_main_loads_parser(self): self.parser.parse_args = True main() assert self.parser.called
def run(self): install.run(self) import pydo pydo.main(["install"])