示例#1
0
    def assert_event(self, job_run_status, event_type, event_index, table='test.test_uniqueness_success'):
        c = Check(check_type=CheckType.uniqueness, check_metadata={'column': 'id'})
        j = JobRun(status=job_run_status, scheduled_at=now())
        d = self.dummy_datasource()
        
        self.s.add_all([c, j, d])
        self.s.commit()

        c.run(j, d, table)

        l = c.logs[0]

        event = l.log[event_index]

        print event
        self.assertEqual(event['event'], event_type)
示例#2
0
class Drowner(Foe):
    areal = Areal.forest
    name = 'Утопец'
    level = 1
    traits = [
        FoeTrait.night,
        FoeTrait.weak,
        FoeTrait.water,
        FoeTrait.pack,
    ]
    skills = [foe_skill.Slippery]
    hits = 5
    attack = 3
    to_hit = 5
    damage = 1
    evade = Check(Attr.dex)
    block = Check(Attr.str, +1)
示例#3
0
class Ekimma(Foe):
    areal = Areal.mountain
    name = 'Экимма'
    level = 1
    traits = [
        FoeTrait.night,
        FoeTrait.weak,
        FoeTrait.scoffer,
    ]
    skills = [
        foe_skill.Agile,
        foe_skill.Press,
    ]
    hits = 3
    attack = 2
    to_hit = 4
    damage = 1
    evade = Check(Attr.dex, -1)
    block = Check([Attr.str, Attr.dex], difficulty=2)
    resistance = [ItemTrait.steel]
示例#4
0
    def test_rule_runs_include_children_rule_checks(self, r, d, jr):
        r.children.append(
            Rule(condition=RuleCondition.if_table_name_matches,
                 conditional={'pattern': 'test_uniqueness'},
                 checks=[
                     Check(check_type=CheckType.null,
                           check_metadata={'column': 'id'})
                 ]))

        checks_to_run = self.run_rule(r, d, jr)

        self.assertTrue((d, 'test.test_uniqueness_success',
                         r.children[0].checks[0]) in checks_to_run)
示例#5
0
 def _decorator(self, *args, **kwargs):
     r = Rule(condition=RuleCondition.if_col_present,
              conditional={'column': 'id'},
              checks=[
                  Check(check_type=CheckType.uniqueness,
                        check_metadata={'column': 'id'})
              ])
     d = self.dummy_datasource()
     jr = self.dummy_job_run(d)
     self.s.add_all([r, d, jr])
     d.open_connection()
     func(self, r, d, jr)
     d.close_connection()
示例#6
0
 def _decorator(self, *args, **kwargs):
     jt = JobTemplate(log_level=LogLevel.complete, name="Gob")
     r = Rule(condition=RuleCondition.if_col_present,
              conditional={'column': 'id'},
              checks=[
                  Check(check_type=CheckType.uniqueness,
                        check_metadata={'column': 'id'})
              ])
     jt.data_sources.append(self.dummy_datasource())
     jt.rules.append(r)
     self.s.add_all([jt, r])
     # Actually runs the job
     jr = JobRun.create_job_run(jt)
     # Refresh Obj from DB
     jr = self.s.query(JobRun).get(jr.id)
     jt = self.s.query(JobTemplate).get(jt.id)
     func(self, jt, jr)
        def _decorator(self, *args, **kwargs):
            jt = JobTemplate(log_level=LogLevel.complete, name="Gob")
            r = Rule(condition=RuleCondition.if_col_present,
                     conditional={'column': 'id'},
                     checks=[
                         Check(check_type=CheckType.uniqueness,
                               check_metadata={'column': 'id'})
                     ],
                     children=[
                         Rule(condition=RuleCondition.if_col_present,
                              conditional={'column': 'bloo'})
                     ])
            jt.data_sources.append(self.dummy_datasource())
            jt.rules.append(r)
            db_session.add(jt)
            db_session.commit()

            jt.become_read_only_clone()
            func(self, jt)
示例#8
0
 def post(self, *args, **kwargs):
     input_username = self.get_argument('username')
     input_password = self.get_argument('password')
     #验证用户时需要与数据库交互,放到单独的模块中
     check_result = Check.login_check(input_username, input_password)
     if check_result == 'Invalid user':
         self.render('user/login.html',
                     login_strings=dict(username='******',
                                        password='******'))
     elif check_result == 'Incorrect password':
         self.render('user/login.html',
                     login_strings=dict(username='******',
                                        password='******'))
     elif check_result == 'admin':
         #登录成功才注入cookie,cookie键名可配置,值是用户名
         self.set_secure_cookie(COOKIE_NAME, input_username, expires_days=1)
         self.redirect('/main')
     else:
         self.set_secure_cookie(COOKIE_NAME, input_username, expires_days=1)
         self.redirect('user/login.html')
示例#9
0
#! /usr/bin/python
# encoding: utf-8
from models.category import Category
from models.user import User
from models.check import Check
from models.base import get_database
import sys


if __name__ == '__main__':
    if 'create' in sys.argv:
        print 'Creating database... .'
        db = get_database()
        db.connect()
        db.create_tables([User, Check, Category], safe=True)
        print 'Creating database complete.'
    elif 'fixtures' in sys.argv:
        User.create('*****@*****.**', 'pass').save()
        User.create('*****@*****.**', 'pass1').save()
    elif 'count' in sys.argv:
        print 'User', User.select().count()
        print 'Category', Category.select().count()
        print 'Check', Check.select().count()
    else:
        print 'Available actions are [create, fixtures, count]'