Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
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")
Ejemplo n.º 3
0
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")
Ejemplo n.º 4
0
    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)