Beispiel #1
0
class UserClerkTest(unittest.TestCase):
    def setUp(self):
        clerk = MockClerk(schema)
        self.fred = personas.makeFred(clerk)
        self.uclerk = UserClerk(self.fred, clerk)

    #@TODO: def test_safeDomain(self):
    #@TODO: def test_safeDNSRec(self):
    #@TODO: def test_safeSite(self):

    def test_safeEmailRule_new(self):
        rule = self.uclerk.safeEmailRule(None)
        assert rule.ID == 0, rule.ID

    def test_safeEmailRule_existing(self):
        rID = self.fred.domains[0].rules[0].ID
        rule = self.uclerk.safeEmailRule(rID)
        self.assertEquals(rule.ID, rID)
        self.assertEquals(rule.virtuser, 'spam')
        self.assertEquals(rule.mailto, EmailRule.BOUNCE)
Beispiel #2
0
class UserClerkTest(unittest.TestCase):
    def setUp(self):
        clerk = MockClerk(schema)
        self.fred = personas.makeFred(clerk)
        self.uclerk = UserClerk(self.fred, clerk)

    #@TODO: def test_safeDomain(self):
    #@TODO: def test_safeDNSRec(self):
    #@TODO: def test_safeSite(self):

    def test_safeEmailRule_new(self):
        rule = self.uclerk.safeEmailRule(None)
        assert rule.ID == 0, rule.ID

    def test_safeEmailRule_existing(self):
        rID = self.fred.domains[0].rules[0].ID
        rule = self.uclerk.safeEmailRule(rID)
        self.assertEquals(rule.ID, rID)
        self.assertEquals(rule.virtuser, 'spam')
        self.assertEquals(rule.mailto, EmailRule.BOUNCE)
Beispiel #3
0
 def setUp(self):
     clerk = MockClerk(schema)
     self.fred = personas.makeFred(clerk)
     self.uclerk = UserClerk(self.fred, clerk)
Beispiel #4
0
 def setUp(self):
     clerk = MockClerk(schema)
     self.fred = personas.makeFred(clerk)
     self.uclerk = UserClerk(self.fred, clerk)
Beispiel #5
0
def fredClerk():
    clerk = MockClerk(Schema(DBMAP))
    return UserClerk(makeFred(clerk), clerk)
Beispiel #6
0
    def __init__(self, uobj, clerk, sess, isAdmin=False):
        super(UserApp, self).__init__(UserClerk(uobj, clerk))

        # @TODO: need self.clerk because CornerApp uses it. ugh :(
        self.sess = sess
        self.isAdmin = isAdmin

        s = self.addScreen
        c = self.addCommand
        ni = None  # no intercept

        ### screens ####################

        s('add_domain')
        s('add_rule')
        s('add_subdomain')
        s('added_domain')
        s('admin')
        s('cron')
        s('delete_box')
        s('delete_db')
        s('edit_catchall')
        s('edit_dns_mx')
        s('edit_dns_txt')
        s('edit_domain')
        s('edit_rule')
        s('edit_site')
        s('email')
        s('list_boxes')
        s('list_databases')
        s('list_domains')
        s('list_sites')
        s('password')
        s('show_box')
        s('show_database')

        # special case for analog:
        s('analog', remote.AnalogFeature)

        ### commands ###################

        # remote, 5 commands
        c('create_database', remote.CreateDatabaseCommand, "list_databases",
          "?action=list_databases&changed=1")
        c('set_password', remote.SetPasswordCommand, "password",
          "?action=password&changed=1")
        c('set_mysql_password', remote.SetMySQLPasswordCommand,
          'list_databases', "?action=list_databases&changed=1")
        c("really_delete_db", remote.DropDatabaseCommand, ni,
          "?action=list_databases&deleted=1")
        c('setcron', remote.SetCronCommand, "cron", "?action=cron&changed=1")

        # this should probably be in remote:
        c('set_box_password', email.SetBoxPasswordCommand, "show_box",
          "?action=list_boxes&changed=True")

        # email, 4 (+1) commands
        c('create_box', email.CreateBoxCommand, "list_boxes",
          "?action=show_box&mailbox=%(mailbox)s")
        c("really_delete_box", email.DeleteBoxCommand, ni,
          "?action=list_boxes&deleted=1")
        c('delete_rule', email.DeleteRuleCommand, ni,
          "?action=email&changed=1")
        c('save_new_rule', email.SaveRuleCommand, "add_rule",
          "?action=email&changed=1")
        c('save_rule', email.SaveRuleCommand, "edit_rule",
          "?action=email&changed=1")
        c('save_catchall', email.SaveCatchallCommand, "edit_catchall",
          "?action=email&changed=1")

        # dns, 8 commands
        c('create_domain', dns.CreateDomainCommand, "add_domain",
          "?action=added_domain&name=%(domName)s&hadSite=%(create_site)s")
        c(
            'create_subdomain', dns.CreateSubdomainCommand, 'add_subdomain',
            "?action=added_domain&name=%(subName)s.%(domName)s&hadSite=%(create_site)s"
        )
        c('delete_domain', dns.DeleteDomainCommand, ni,
          "?action=list_domains&changed=1")
        c('delete_record', dns.DeleteDNSRecCommand, ni,
          "?action=list_domains&changed=1")
        c('save_dns_mx', dns.SaveDNSRecCommand, "edit_dns_mx",
          "?action=list_domains")
        c('save_dns_txt', dns.SaveDNSRecCommand, "edit_dns_txt",
          "?action=list_domains")
        c('save_domain', dns.SaveDomainCommand, "edit_domain",
          "?action=edit_domain&name=%(name)s&changed=1")
        c('repoint', dns.RepointDomainCommand, ni,
          "?action=edit_domain&name=%(name)s&changed=1")

        # site, 2 commands
        c('delete_site', site.DeleteSiteCommand, ni,
          "?action=edit_domain&name=%(name)s")

        c('save_site', site.SaveSiteCommand, "edit_site",
          "?action=edit_site&name=%(name)s&changed=1")