cubicweb/test/unittest_cwctl.py
changeset 12736 5add82b08a6d
parent 12735 17d1b1f4eddd
child 12737 56f7386bc6b9
equal deleted inserted replaced
12735:17d1b1f4eddd 12736:5add82b08a6d
   106                                  version=cw_version, check_duplicated_command=False)
   106                                  version=cw_version, check_duplicated_command=False)
   107         cwcfg.load_cwctl_plugins()
   107         cwcfg.load_cwctl_plugins()
   108         self.CWCTL.register(_TestCommand)
   108         self.CWCTL.register(_TestCommand)
   109         self.CWCTL.register(_TestFailCommand)
   109         self.CWCTL.register(_TestFailCommand)
   110 
   110 
       
   111         self.fake_config = MagicMock()
       
   112         self.fake_config.global_set_option = MagicMock()
       
   113 
   111         # pretend that this instance exists
   114         # pretend that this instance exists
   112         patcher = patch.object(cwcfg, 'config_for', return_value=object())
   115         patcher = patch.object(cwcfg, 'config_for', return_value=self.fake_config)
   113         patcher.start()
   116         patcher.start()
   114         self.addCleanup(patcher.stop)
   117         self.addCleanup(patcher.stop)
   115 
   118 
   116     @patch.object(_TestCommand, 'test_instance', return_value=0)
   119     @patch.object(_TestCommand, 'test_instance', return_value=0)
   117     def test_getting_called(self, test_instance):
   120     def test_getting_called(self, test_instance):
   165             self.CWCTL.run(["test_fail", "some_instance"])
   168             self.CWCTL.run(["test_fail", "some_instance"])
   166         self.assertEqual(cm.exception.code, 2)
   169         self.assertEqual(cm.exception.code, 2)
   167 
   170 
   168         test_fail_instance.assert_called_once()
   171         test_fail_instance.assert_called_once()
   169 
   172 
       
   173     def test_set_loglevel(self):
       
   174         LOG_LEVELS = ('debug', 'info', 'warning', 'error')
       
   175 
       
   176         for log_level in LOG_LEVELS:
       
   177             with self.assertRaises(SystemExit) as cm:
       
   178                 self.CWCTL.run(["test", "some_instance", "--loglevel", log_level])
       
   179             self.assertEqual(cm.exception.code, 0)
       
   180 
       
   181             self.fake_config.global_set_option.assert_called_with('log-threshold',
       
   182                                                                   log_level.upper())
       
   183 
   170 
   184 
   171 if __name__ == '__main__':
   185 if __name__ == '__main__':
   172     unittest.main()
   186     unittest.main()