示例#1
0
    def setUp(self):
        self.db_name = "test%04d" % random.randint(0, 1000)
        self.members = None
        self.message = None

        from amane.cmd import smtpd
        self.handler = smtpd.AmaneSMTPServer(listen_address="127.0.0.1",
                                             listen_port=25,
                                             relay_host="localhost",
                                             relay_port=1025,
                                             db_url="mongodb://localhost",
                                             db_name=self.db_name,
                                             domain="example.net")
        self.tenant_name = "tenant1"
        config = {
            "admins": {"hoge"},
            "charset": "iso-2022-jp",
            "ml_name_format": "ml-%06d",
            "new_ml_account": "new",
            "days_to_close": 7,
            "days_to_orphan": 7,
            "welcome_msg": "welcome_msg",
            "readme_msg": "readme_msg",
            "add_msg": "add_msg",
            "remove_msg": "remove_msg",
            "reopen_msg": "reopen_msg",
            "goodbye_msg": "goodbye_msg",
            "report_subject": "report_subject",
            "report_msg": "report_msg",
            "orphaned_subject": "orphaned_subject",
            "orphaned_msg": "orphaned_msg",
            "closed_subject": "closed_subject",
            "closed_msg": "closed_msg",
        }
        fake_db.create_tenant(self.tenant_name, "hoge", config)
示例#2
0
    def setUp(self):
        fake_db.init_db(0, 0)

        self.tenant_name = "tenant1"
        config = {
            "admins": {"hoge"},
            "charset": "iso-2022-jp",
            "ml_name_format": "ml1-%06d",
            "new_ml_account": "ml1-new",
            "days_to_close": 7,
            "days_to_orphan": 7,
            "welcome_msg": "welcome_msg",
            "readme_msg": "readme_msg",
            "add_msg": "add_msg",
            "remove_msg": "remove_msg",
            "reopen_msg": "reopen_msg",
            "goodbye_msg": "goodbye_msg",
            "report_subject": "report_subject",
            "report_msg": self.report_msg,
            "orphaned_subject": "orphaned_subject",
            "orphaned_msg": "orphaned_msg",
            "closed_subject": "closed_subject",
            "closed_msg": "closed_msg",
        }
        fake_db.create_tenant(self.tenant_name, "hoge", config)
示例#3
0
    def _test(self, old_status, new_status, days, altered):
        self.tenant_name = "tenant1"
        config = {
            "admins": set(),
            "charset": "iso-2022-jp",
            "ml_name_format": "ml-%06d",
            "new_ml_account": "new",
            "days_to_close": days,
            "days_to_orphan": days,
            "welcome_msg": "welcome_msg",
            "readme_msg": "readme_msg",
            "add_msg": "add_msg",
            "remove_msg": "remove_msg",
            "reopen_msg": "reopen_msg",
            "goodbye_msg": "goodbye_msg",
            "report_subject": "report_subject",
            "report_msg": "report_msg",
            "orphaned_subject": "orphaned_subject",
            "orphaned_msg": "orphaned_msg",
            "closed_subject": "closed_subject",
            "closed_msg": "closed_msg",
        }
        fake_db.create_tenant(self.tenant_name, "hoge", config)

        members = {"*****@*****.**", "*****@*****.**",
                   "*****@*****.**", "*****@*****.**"}
        fake_db.create_ml(self.tenant_name, 'ml-000010', "hoge", members,
                          "*****@*****.**")

        if old_status:
            fake_db.change_ml_status('ml-000010', old_status, "xxx")

        from amane.cmd import reviewer
        self.reviewer = reviewer.Reviewer(
            relay_host="localhost",
            relay_port=1025,
            db_url="mongodb://localhost",
            db_name=self.db_name,
            domain="example.net",
            charset="iso-2022-jp")

        with mock.patch.object(self.reviewer, 'send_post') as m:
            m.side_effect = self._send_post
            self.reviewer.notify(
                const.STATUS_ORPHANED, const.STATUS_CLOSED)
            self.reviewer.notify(
                const.STATUS_OPEN, const.STATUS_ORPHANED)
            ret = fake_db.get_ml('ml-000010')
            self.assertEqual(ret['status'], new_status)
            if altered:
                self.assertEqual(m.call_count, 1)
                self.assertEqual(self.ml_name_arg, 'ml-000010')
                self.assertEqual(self.members_arg, members)
            else:
                self.assertEqual(m.call_count, 0)
示例#4
0
文件: test_ctl.py 项目: yosshy/amane
    def setUp(self):
        from amane.cmd import ctl
        self.ctl = ctl
        self.tester = lambda *x: CliRunner().invoke(self.ctl.cli, x)
        self.db_name = "test%04d" % random.randint(0, 1000)
        self.ml_name_arg = None
        self.content_arg = None
        self.members_arg = None

        fake_db.init_db("", self.db_name)
        self.tenant_name = "tenant1"
        fake_db.create_tenant(self.tenant_name, "*****@*****.**",
                              TENANT_CONFIG)

        self.ctx = mock.MagicMock()
        self.ctx.obj = dict(
            config=dict(
                 db_name=self.db_name, db_url="mongodb://localhost/",
                 relay_host="localhost", relay_port=25,
                 listen_address="192.168.0.1", listen_port=25,
                 log_file="/var/log/amane.log", domain="example.com"),
            debug=False)