def setUp(self): self.config = { "keywords": ["cat", "pig", "frog"], "socket_timeout_sec": 20, "db_path": ":memory:", "sources": [ _make_config_source(1, ["kw1"]), _make_config_source(2, ["kw2"]), ], } self.tracked_entries = Sqlite3TrackedEntries(":memory:") self.factory = BindingFactory(self.config, self.tracked_entries, rss_reader_class=RssReader, issue_creator_class=mock_issue_creator)
class TestBindingFactory(unittest.TestCase): def setUp(self): self.config = { "keywords": ["cat", "pig", "frog"], "socket_timeout_sec": 20, "db_path": ":memory:", "sources": [ _make_config_source(1, ["kw1"]), _make_config_source(2, ["kw2"]), ], } self.tracked_entries = Sqlite3TrackedEntries(":memory:") self.factory = BindingFactory(self.config, self.tracked_entries, rss_reader_class=RssReader, issue_creator_class=mock_issue_creator) def test_create(self): bindings = [self.factory.create(x) for x in self.config['sources']] self.assertEqual(2, len(bindings)) self.assertEqual("http://feed_url1", bindings[0].rss_reader.feed_url) self.assertEqual(20, bindings[0].rss_reader.timeout) self.assertTrue(bindings[0].rss_reader._keyword_match("cat")) self.assertTrue(bindings[0].rss_reader._keyword_match("pig")) self.assertTrue(bindings[0].rss_reader._keyword_match("frog")) self.assertTrue(bindings[0].rss_reader._keyword_match("kw1")) self.assertFalse(bindings[0].rss_reader._keyword_match("kw2")) self.assertEqual("http://feed_url2", bindings[1].rss_reader.feed_url) self.assertEqual(20, bindings[1].rss_reader.timeout) self.assertTrue(bindings[1].rss_reader._keyword_match("cat")) self.assertTrue(bindings[1].rss_reader._keyword_match("pig")) self.assertTrue(bindings[1].rss_reader._keyword_match("frog")) self.assertTrue(bindings[1].rss_reader._keyword_match("kw2")) self.assertFalse(bindings[1].rss_reader._keyword_match("kw1")) bindings[0].issue_creator.assert_called_once_with( actions=None, assignee=None, customFields={}, username="******", name="src1", url="https://jira_url1", password="******", projectKey="jira_proj1", issuetypeName="jira_type1") bindings[1].issue_creator.assert_called_once_with( actions=None, assignee=None, customFields={}, username="******", name="src2", url="https://jira_url2", password="******", projectKey="jira_proj2", issuetypeName="jira_type2")
class TestBindingFactory(unittest.TestCase): def setUp(self): self.config = { "keywords": ["cat", "pig", "frog"], "socket_timeout_sec": 20, "db_path": ":memory:", "sources": [ _make_config_source(1, ["kw1"]), _make_config_source(2, ["kw2"]), ], } self.tracked_entries = Sqlite3TrackedEntries(":memory:") self.factory = BindingFactory(self.config, self.tracked_entries, rss_reader_class=RssReader, issue_creator_class=mock_issue_creator) def test_create(self): bindings = [self.factory.create(x) for x in self.config['sources']] self.assertEqual(2, len(bindings)) self.assertEqual("http://feed_url1", bindings[0].rss_reader.feed_url) self.assertEqual(20, bindings[0].rss_reader.timeout) self.assertTrue(bindings[0].rss_reader.accept_filter("cat")) self.assertTrue(bindings[0].rss_reader.accept_filter("pig")) self.assertTrue(bindings[0].rss_reader.accept_filter("frog")) self.assertTrue(bindings[0].rss_reader.accept_filter("kw1")) self.assertFalse(bindings[0].rss_reader.accept_filter("kw2")) self.assertEqual("http://feed_url2", bindings[1].rss_reader.feed_url) self.assertEqual(20, bindings[1].rss_reader.timeout) self.assertTrue(bindings[1].rss_reader.accept_filter("cat")) self.assertTrue(bindings[1].rss_reader.accept_filter("pig")) self.assertTrue(bindings[1].rss_reader.accept_filter("frog")) self.assertTrue(bindings[1].rss_reader.accept_filter("kw2")) self.assertFalse(bindings[1].rss_reader.accept_filter("kw1")) bindings[0].issue_creator.assert_called_once_with( username="******", name="src1", url="https://jira_url1", password="******", projectKey="jira_proj1", issuetypeName="jira_type1") bindings[1].issue_creator.assert_called_once_with( username="******", name="src2", url="https://jira_url2", password="******", projectKey="jira_proj2", issuetypeName="jira_type2")
def setUp(self): self.config = { "keywords": ["cat", "pig", "frog"], "socket_timeout_sec": 20, "db_path": ":memory:", "sources": [ _make_config_source(1, ["kw1"]), _make_config_source(2, ["kw2"]), ], } self.tracked_entries = Sqlite3TrackedEntries(":memory:") self.factory = BindingFactory(self.config, self.tracked_entries, rss_reader_class=RssReader, issue_creator_class=mock_issue_creator)