Пример #1
0
 def create_player(self, **kwargs):
     kwargs = merge_args(
         {
             'bid': randint(0, 1e9),
             'region': Region.EU,
             'realm': 1,
             'mode': Mode.TEAM_1V1,
             'season': self.season,
             'race': Race.ZERG,
             'name': uniqueid(12),
             'clan': uniqueid(32),
             'tag': uniqueid(6)
         }, **kwargs)
     self.player = Player(**kwargs)
     self.player.save()
     return self.player
Пример #2
0
def gen_member(**kwargs):
    """ Generate member as returned from ApiLadder and used by process_ladder. """
    return merge_args(
        {
            "bid": randint(1, 1e6),
            "realm": 0,
            "name": uniqueid(length=12),
            "clan": uniqueid(length=32),
            "tag": uniqueid(length=6),
            "join_time": int(to_unix(utcnow())),
            "points": float(randint(0, 2000)),
            "wins": randint(0, 200),
            "mmr": randint(1000, 5000),
            "losses": randint(0, 200),
            "race": choice([Race.ZERG, Race.PROTOSS, Race.TERRAN, Race.RANDOM])
        }, **kwargs)
Пример #3
0
def gen_api_data(l_bid,
                 *p_bids,
                 mmq="HOTS_SOLO",
                 league="SILVER",
                 race="ZERG",
                 join_time=None,
                 join_times=None,
                 season="currentSeason",
                 team_size=None):
    """ Generate api data from blizzard. Returns <ladder_data,
    player_ladder_data>. Player ladder data will contain one team. """

    join_time = join_time or utcnow()
    join_times = join_times or [join_time]

    team_size = team_size or len(p_bids)

    names = [uniqueid(10) for _ in p_bids]

    pld = {
        "ladderId": l_bid,
        "league": league,
        "matchMakingQueue": mmq,
        "wins": 20,
        "losses": 22
    }

    ppds = [{
        "id": p_bid,
        "realm": 1,
        "displayName": name,
        "profilePath": "/profile/%d/1/%s/" % (p_bid, name)
    } for p_bid, name in zip(p_bids, names)]

    members = [{
        "character": {
            "id": p_bid,
            "realm": 1,
            "profilePath": "/profile/%d/1/%s/" % (p_bid, name)
        },
        "joinTimestamp": int(jt.strftime("%s")),
        "points": 102.2,
        "wins": 20,
        "losses": 22,
        "favoriteRaceP1": race
    } for p_bid, jt, name in zip(p_bids, itertools.cycle(join_times), names)]

    for member in members:
        if team_size > 1: member['favoriteRaceP2'] = race
        if team_size > 2: member['favoriteRaceP3'] = race
        if team_size > 3: member['favoriteRaceP4'] = race

    l = {"ladderMembers": members}
    p = {season: [{"ladder": [pld], "characters": ppds}]}

    # To simplify l_bid = p_bid.
    return ApiLadder(l, '/ladder/%d/' % l_bid), ApiPlayerLadders(
        p, '/profile/%d/' % l_bid)
Пример #4
0
    def create_cache(self, type=Cache.LADDER, members=None, **kwargs):
        data = kwargs.pop('data', None)
        if data is None and members is not None:
            data = gen_ladder_data(members)

        kwargs = merge_args(
            {
                'bid': randint(1, 1e6),
                'url': 'http://bnet/' + uniqueid(10),
                'type': type,
                'region': Region.EU,
                'created': utcnow(),
                'updated': utcnow(),
                'status': 200,
                'retry_count': 0
            }, **kwargs)
        kwargs['data'] = json.dumps(data)

        self.cache = Cache(**kwargs)
        self.cache.save()
        return self.cache
Пример #5
0
 def create_teams(self, count=1, **kwargs):
     teams = []
     for i in range(count):
         self.create_player(name="%s-%d" % (uniqueid(8), i))
         teams.append(self.create_team(**kwargs))
     return teams
Пример #6
0
# See comment in aid.test.base.

from django import setup
from django.conf import settings

from rocky import syspath

syspath.add('../..', __file__)
syspath.add('../../site', __file__)

if not settings.configured:

    from common.utils import uniqueid
    from common.settings import site_settings

    test_settings = site_settings()
    test_settings['DATABASES']['default']['NAME'] = 'rankedftw-' + uniqueid(6)
    settings.configure(**test_settings)
    setup()