コード例 #1
0
 def create_group(self, group_name: str, group_pin: str) -> Group:
     if group_name in self.data.group:
         raise DuplicateResourceIdException(group_name, 'group')
     g = Group(group_name, group_pin, date.today())
     self.data.group[group_name] = g
     self.save()
     return g
コード例 #2
0
 def create_group(self, group_name, group_pin) -> Group:
     g = Group(group_name, group_pin, date.today())
     sql = '''
         INSERT INTO `groups` 
             (group_name, group_pin, date_created)
             VALUE (%s, %s, %s);
     '''
     val = (g.group_name, g.group_pin, g.date_created)
     try:
         self._execute_insert_query(sql, val)
     except Exception as e:
         raise ResourceAccessException(g.group_name, e)
     return g
コード例 #3
0
def client():
    from web import app
    from server.db import wigo_db, redis
    from server.models.group import Group
    from server.models.user import User
    from server.models import model_cache
    from server.models import cache_maker as model_cache_maker
    from server.models.group import cache_maker as group_cache_maker
    from server.rest import cache_maker as rest_cache_maker
    from server.models.location import WigoCity

    assert isinstance(wigo_db.redis, MockRedis)
    assert isinstance(redis, MockRedis)

    logging.getLogger().setLevel(level=logging.FATAL)
    logging.getLogger('web').setLevel(level=logging.FATAL)
    logging.getLogger('wigo').setLevel(level=logging.FATAL)

    model_cache.clear()
    group_cache_maker.clear()
    model_cache_maker.clear()
    rest_cache_maker.clear()

    app.debug = True
    wigo_db.redis.flushdb()

    def zscan_iter(name, match=None, count=None):
        cursor = '0'
        while cursor != 0:
            cursor, data = wigo_db.redis.zscan(name,
                                               cursor=cursor,
                                               match=match,
                                               count=count)
            for item in data:
                yield item

    wigo_db.redis.zscan_iter = zscan_iter

    def new_id():
        global NEXT_ID
        next_id = NEXT_ID
        NEXT_ID += 1
        return next_id

    wigo_db.gen_id = new_id

    city = WigoCity(city_id=4930956, name='Boston', lat=42.3584, lon=-71.0598)
    city.save(wigo_db.redis)

    city = WigoCity(city_id=5391811,
                    name='San Diego',
                    lat=32.7153,
                    lon=-117.157)
    city.save(wigo_db.redis)

    boston = Group({
        'name': 'Boston',
        'code': 'boston',
        'city_id': 4930956,
        'latitude': 42.3584,
        'longitude': -71.0598
    }).save()

    san_diego = Group({
        'name': 'San Diego',
        'code': 'san_diego',
        'city_id': 5391811,
        'latitude': 32.7153,
        'longitude': -117.157
    }).save()

    u = User({
        'username': '******',
        'group_id': boston.id,
        'facebook_id': 'xxx1',
        'facebook_token': 'xxx1',
        'facebook_token_expires': datetime.utcnow() + timedelta(days=7),
        'email': '*****@*****.**',
        'key': 'test'
    }).save()

    u = User({
        'username': '******',
        'group_id': boston.id,
        'facebook_id': 'xxx2',
        'facebook_token': 'xxx2',
        'facebook_token_expires': datetime.utcnow() + timedelta(days=7),
        'email': '*****@*****.**',
        'key': 'test2'
    }).save()

    u = User({
        'username': '******',
        'group_id': boston.id,
        'facebook_id': 'xxx3',
        'facebook_token': 'xxx3',
        'facebook_token_expires': datetime.utcnow() + timedelta(days=7),
        'email': '*****@*****.**',
        'key': 'test3'
    }).save()

    with app.test_client() as client:
        yield client