class TrackersManagerTest(TestCase): def setUp(self): super(TrackersManagerTest, self).setUp() self.tracker1 = Tracker1() self.tracker2 = Tracker2() self.trackers_manager = TrackersManager( TrackerSettings(10), OrderedDict(((TRACKER1_PLUGIN_NAME, self.tracker1), (TRACKER2_PLUGIN_NAME, self.tracker2)))) def test_get_settings(self): self.assertIsNone( self.trackers_manager.get_settings(TRACKER1_PLUGIN_NAME)) credentials2 = {'login': '******'} get_credentials_mock = MagicMock(return_value=credentials2) self.tracker2.get_credentials = get_credentials_mock self.assertEqual( self.trackers_manager.get_settings(TRACKER2_PLUGIN_NAME), credentials2) get_credentials_mock.assert_called_with() def test_set_settings(self): credentials1 = {'login': '******'} self.assertFalse( self.trackers_manager.set_settings(TRACKER1_PLUGIN_NAME, credentials1)) credentials2 = {'login': '******', 'password': '******'} update_credentials_mock2 = MagicMock() self.tracker2.update_credentials = update_credentials_mock2 self.assertTrue( self.trackers_manager.set_settings(TRACKER2_PLUGIN_NAME, credentials2)) update_credentials_mock2.assert_called_with(credentials2) def test_check_connection(self): self.assertFalse( self.trackers_manager.check_connection(TRACKER1_PLUGIN_NAME)) verify_mock = MagicMock(return_value=True) self.tracker2.verify = verify_mock self.assertTrue( self.trackers_manager.check_connection(TRACKER2_PLUGIN_NAME)) verify_mock.assert_called_with() def test_prepare_add_topic_1(self): parsed_url = {'display_name': "Some Name / Translated Name"} prepare_add_topic_mock1 = MagicMock(return_value=parsed_url) self.tracker1.prepare_add_topic = prepare_add_topic_mock1 result = self.trackers_manager.prepare_add_topic( 'http://tracker.com/1/') self.assertIsNotNone(result) prepare_add_topic_mock1.assert_called_with('http://tracker.com/1/') self.assertEqual(result, { 'form': TrackerPluginBase.topic_form, 'settings': parsed_url }) def test_prepare_add_topic_2(self): prepare_add_topic_mock1 = MagicMock(return_value=None) self.tracker1.prepare_add_topic = prepare_add_topic_mock1 parsed_url = {'display_name': "Some Name / Translated Name"} prepare_add_topic_mock2 = MagicMock(return_value=parsed_url) self.tracker2.prepare_add_topic = prepare_add_topic_mock2 result = self.trackers_manager.prepare_add_topic( 'http://tracker.com/1/') self.assertIsNotNone(result) prepare_add_topic_mock1.assert_called_with('http://tracker.com/1/') prepare_add_topic_mock2.assert_called_with('http://tracker.com/1/') self.assertEqual(result, { 'form': TrackerPluginBase.topic_form, 'settings': parsed_url }) def test_prepare_add_topic_3(self): prepare_add_topic_mock1 = MagicMock(return_value=None) self.tracker1.prepare_add_topic = prepare_add_topic_mock1 prepare_add_topic_mock2 = MagicMock(return_value=None) self.tracker2.prepare_add_topic = prepare_add_topic_mock2 result = self.trackers_manager.prepare_add_topic( 'http://tracker.com/1/') self.assertIsNone(result) prepare_add_topic_mock1.assert_called_with('http://tracker.com/1/') prepare_add_topic_mock2.assert_called_with('http://tracker.com/1/') def test_add_topic_1(self): can_parse_url_mock1 = MagicMock(return_value=True) add_topic_mock1 = MagicMock(return_value=True) self.tracker1.can_parse_url = can_parse_url_mock1 self.tracker1.add_topic = add_topic_mock1 params = {'display_name': "Some Name / Translated Name"} url = 'http://tracker.com/1/' self.assertTrue(self.trackers_manager.add_topic(url, params)) can_parse_url_mock1.assert_called_with(url) add_topic_mock1.assert_called_with(url, params) def test_add_topic_2(self): can_parse_url_mock1 = MagicMock(return_value=False) add_topic_mock1 = MagicMock(return_value=False) self.tracker1.can_parse_url = can_parse_url_mock1 self.tracker1.add_topic = add_topic_mock1 can_parse_url_mock2 = MagicMock(return_value=True) add_topic_mock2 = MagicMock(return_value=True) self.tracker2.can_parse_url = can_parse_url_mock2 self.tracker2.add_topic = add_topic_mock2 params = {'display_name': "Some Name / Translated Name"} url = 'http://tracker.com/1/' self.assertTrue(self.trackers_manager.add_topic(url, params)) can_parse_url_mock1.assert_called_with(url) add_topic_mock1.assert_not_called() can_parse_url_mock2.assert_called_with(url) add_topic_mock2.assert_called_with(url, params) def test_add_topic_3(self): can_parse_url_mock1 = MagicMock(return_value=False) add_topic_mock1 = MagicMock(return_value=False) self.tracker1.can_parse_url = can_parse_url_mock1 self.tracker1.add_topic = add_topic_mock1 can_parse_url_mock2 = MagicMock(return_value=False) add_topic_mock2 = MagicMock(return_value=False) self.tracker2.can_parse_url = can_parse_url_mock2 self.tracker2.add_topic = add_topic_mock2 params = {'display_name': "Some Name / Translated Name"} url = 'http://tracker.com/1/' self.assertFalse(self.trackers_manager.add_topic(url, params)) can_parse_url_mock1.assert_called_with(url) add_topic_mock1.assert_not_called() can_parse_url_mock2.assert_called_with(url) add_topic_mock2.assert_not_called()
class TrackersManagerTest(TestCase): def setUp(self): super(TrackersManagerTest, self).setUp() self.tracker1 = Tracker1() self.tracker2 = Tracker2() tracker_settings = TrackerSettings(10, None) settings_manager = Mock() settings_manager.tracker_settings = tracker_settings # noinspection PyTypeChecker self.trackers_manager = TrackersManager(settings_manager, OrderedDict(( (TRACKER1_PLUGIN_NAME, self.tracker1), (TRACKER2_PLUGIN_NAME, self.tracker2)) )) def test_get_settings(self): self.assertIsNone(self.trackers_manager.get_settings(TRACKER1_PLUGIN_NAME)) credentials2 = {'login': '******'} get_credentials_mock = MagicMock(return_value=credentials2) self.tracker2.get_credentials = get_credentials_mock self.assertEqual(self.trackers_manager.get_settings(TRACKER2_PLUGIN_NAME), credentials2) get_credentials_mock.assert_called_with() def test_set_settings(self): credentials1 = {'login': '******'} self.assertFalse(self.trackers_manager.set_settings(TRACKER1_PLUGIN_NAME, credentials1)) credentials2 = {'login': '******', 'password': '******'} update_credentials_mock2 = MagicMock() self.tracker2.update_credentials = update_credentials_mock2 self.assertTrue(self.trackers_manager.set_settings(TRACKER2_PLUGIN_NAME, credentials2)) update_credentials_mock2.assert_called_with(credentials2) def test_check_connection(self): self.assertFalse(self.trackers_manager.check_connection(TRACKER1_PLUGIN_NAME)) verify_mock = MagicMock(return_value=True) self.tracker2.verify = verify_mock self.assertTrue(self.trackers_manager.check_connection(TRACKER2_PLUGIN_NAME)) verify_mock.assert_called_with() def test_prepare_add_topic_1(self): parsed_url = {'display_name': "Some Name / Translated Name"} prepare_add_topic_mock1 = MagicMock(return_value=parsed_url) self.tracker1.prepare_add_topic = prepare_add_topic_mock1 result = self.trackers_manager.prepare_add_topic('http://tracker.com/1/') self.assertIsNotNone(result) prepare_add_topic_mock1.assert_called_with('http://tracker.com/1/') self.assertEqual(result, {'form': TrackerPluginBase.topic_form, 'settings': parsed_url}) def test_prepare_add_topic_2(self): prepare_add_topic_mock1 = MagicMock(return_value=None) self.tracker1.prepare_add_topic = prepare_add_topic_mock1 parsed_url = {'display_name': "Some Name / Translated Name"} prepare_add_topic_mock2 = MagicMock(return_value=parsed_url) self.tracker2.prepare_add_topic = prepare_add_topic_mock2 result = self.trackers_manager.prepare_add_topic('http://tracker.com/1/') self.assertIsNotNone(result) prepare_add_topic_mock1.assert_called_with('http://tracker.com/1/') prepare_add_topic_mock2.assert_called_with('http://tracker.com/1/') self.assertEqual(result, {'form': TrackerPluginBase.topic_form, 'settings': parsed_url}) def test_prepare_add_topic_3(self): prepare_add_topic_mock1 = MagicMock(return_value=None) self.tracker1.prepare_add_topic = prepare_add_topic_mock1 prepare_add_topic_mock2 = MagicMock(return_value=None) self.tracker2.prepare_add_topic = prepare_add_topic_mock2 result = self.trackers_manager.prepare_add_topic('http://tracker.com/1/') self.assertIsNone(result) prepare_add_topic_mock1.assert_called_with('http://tracker.com/1/') prepare_add_topic_mock2.assert_called_with('http://tracker.com/1/') def test_add_topic_1(self): can_parse_url_mock1 = MagicMock(return_value=True) add_topic_mock1 = MagicMock(return_value=True) self.tracker1.can_parse_url = can_parse_url_mock1 self.tracker1.add_topic = add_topic_mock1 params = {'display_name': "Some Name / Translated Name"} url = 'http://tracker.com/1/' self.assertTrue(self.trackers_manager.add_topic(url, params)) can_parse_url_mock1.assert_called_with(url) add_topic_mock1.assert_called_with(url, params) def test_add_topic_2(self): can_parse_url_mock1 = MagicMock(return_value=False) add_topic_mock1 = MagicMock(return_value=False) self.tracker1.can_parse_url = can_parse_url_mock1 self.tracker1.add_topic = add_topic_mock1 can_parse_url_mock2 = MagicMock(return_value=True) add_topic_mock2 = MagicMock(return_value=True) self.tracker2.can_parse_url = can_parse_url_mock2 self.tracker2.add_topic = add_topic_mock2 params = {'display_name': "Some Name / Translated Name"} url = 'http://tracker.com/1/' self.assertTrue(self.trackers_manager.add_topic(url, params)) can_parse_url_mock1.assert_called_with(url) add_topic_mock1.assert_not_called() can_parse_url_mock2.assert_called_with(url) add_topic_mock2.assert_called_with(url, params) def test_add_topic_3(self): can_parse_url_mock1 = MagicMock(return_value=False) add_topic_mock1 = MagicMock(return_value=False) self.tracker1.can_parse_url = can_parse_url_mock1 self.tracker1.add_topic = add_topic_mock1 can_parse_url_mock2 = MagicMock(return_value=False) add_topic_mock2 = MagicMock(return_value=False) self.tracker2.can_parse_url = can_parse_url_mock2 self.tracker2.add_topic = add_topic_mock2 params = {'display_name': "Some Name / Translated Name"} url = 'http://tracker.com/1/' self.assertFalse(self.trackers_manager.add_topic(url, params)) can_parse_url_mock1.assert_called_with(url) add_topic_mock1.assert_not_called() can_parse_url_mock2.assert_called_with(url) add_topic_mock2.assert_not_called()