| 123456789101112131415161718192021222324252627282930313233 |
- # -*- coding:utf-8 -*-
- from unittest.mock import MagicMock, patch
- import pytest
- from dw_base.datax import cli
- @patch('dw_base.datax.cli.JobConfigGenerator')
- def test_gen_json_invokes_generator(MockGen):
- mock_inst = MagicMock()
- MockGen.return_value = mock_inst
- cli.main(['gen-json', 'some.ini',
- '-start-date', '20260422',
- '-stop-date', '20260423'])
- MockGen.assert_called_once()
- call_args = MockGen.call_args[0]
- # 位置参数:(base_dir, ini, start, stop, output)
- assert call_args[1] == 'some.ini'
- assert call_args[2] == '20260422'
- assert call_args[3] == '20260423'
- assert call_args[4].endswith('some.json')
- mock_inst.run.assert_called_once()
- def test_gen_json_missing_args_exits():
- with pytest.raises(SystemExit):
- cli.main(['gen-json', 'some.ini']) # 缺 -start-date/-stop-date
- def test_unknown_subcommand_exits():
- with pytest.raises(SystemExit):
- cli.main(['bogus-cmd'])
|