123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- # -*- coding: utf-8 -*-
- # !/usr/bin/env python
- import datetime
- from mongoengine import DateTimeField, ListField, StringField, IntField
- from apps.web.core import ROLE
- from apps.web.core.db import Searchable
- from apps.web.common.models import UserSearchable
- from apps.web.constant import Const
- from apps.web.core.sysparas import SysParas
- class TestEntry(Searchable):
- createdTime = DateTimeField(default = datetime.datetime.now)
- meta = {
- "collection": "test_entry",
- "db_alias": "logdata"
- }
- class Tester(UserSearchable):
- features = ListField(verbose_name = 'features', default = Const.TESTER_DEFAULT_FEATURES)
- more = StringField(verbose_name = u'备注', default = '')
- search_fields = ('username', 'nickname', 'remarks')
- meta = {
- 'collection': 'tester', 'db_alias': 'default'
- }
- def to_dict(self, shadow = False):
- rv = super(Tester, self).to_dict()
- return rv
- def has_privilage(self, privilage):
- special_privilage = SysParas.get_special_privilage(ROLE.tester) # type: dict
- if not special_privilage or privilage not in special_privilage:
- return False
- if self.username not in special_privilage[privilage]:
- return False
- return True
- class TestRecord(Searchable):
- testerName = StringField(verbose_name = 'username', default = '')
- nickname = StringField(verbose_name = 'nickname', default = '')
- dateTimeAdded = DateTimeField(verbose_name = 'dateTimeAdded', default = None)
- logicalCode = StringField(verbose_name = 'logicalCode', default = '')
- result = StringField(verbose_name = 'result', default = '')
- desc = StringField(verbose_name = 'desc', default = '')
- search_fields = ('logicalCode', 'desc')
- meta = {
- "collection": "test_record",
- "db_alias": "logdata"
- }
- class TestStats(Searchable):
- date = StringField(verbose_name = 'date', default = '')
- testerName = StringField(verbose_name = 'username', default = '')
- all = IntField(verbose_name = 'allCount', default = '')
- success = IntField(verbose_name = 'successCount', default = 0) # 成功的台数
- failed = IntField(verbose_name = 'successCount', default = 0)
- okScale = IntField(verbose_name = u'测试通过率', default = 0)
- meta = {
- "collection": "test_stats",
- "db_alias": "logdata"
- }
|