import requests import uuid import random import json import time DELAY = 1 class FakeUser(object): platforms = ('ios','android','amazon') app_versions = ('1.0.0','1.1.0','1.2.1','1.3.0','2.0.0','2.0.1') games = ('minigame1','minigame2','minigame3','minigame4','minigame5','minigame6') packages = { 'cheap':0.99, 'mid' : 9.99, 'expensive' : 19.99 } endpoints = ('https://sb9bwncpuf.execute-api.us-west-2.amazonaws.com/demo/events-incoming',) def __init__(self): self.app_name = 'Fake Application' self.platform = random.choice(self.platforms) self.app_version = random.choice(self.app_versions) self.game_keyword = random.choice(self.games) self.device_id = uuid.uuid4().hex self.install() def tick(self): if random.randint(1,10) == 1: self.change_game() if random.randint(1,100) == 1: self.purchase() else: self.playGame() if random.randint(1,10) == 1: self.__init__() def create_base_event(self): params = { 'device_id' : self.device_id, 'platform' : self.platform, 'app_version' : self.app_version, 'app_name' : self.app_name, 'game_keyword' : self.game_keyword } return params def change_game(self): self.game_keyword = random.choice(self.games) def install(self): params = self.create_base_event() params['client_event_time'] = int(time.time()) payload = { 'eventName' : 'installEvent', 'eventParams' : params } self.send_event(payload) def purchase(self): params = self.create_base_event() params['bundleId'] = random.choice(self.packages.keys()) params['amount'] = self.packages[params['bundleId']] params['client_event_time'] = int(time.time()) payload = { 'eventName' : 'purchaseEvent', 'eventParams' : params } self.send_event(payload) def playGame(self): params = self.create_base_event() params['game_keyword'] = self.game_keyword params['scoreAdjustment'] = random.randint(-1000,1000) params['client_event_time'] = int(time.time()) payload = { 'eventName': 'scoreAdjustment', 'eventParams' : params } self.send_event(payload) def send_event(self, payload): data = json.dumps(payload) for endpoint in self.endpoints: res = requests.post(endpoint, data) if res.status_code != 502: print res
Event Generator
Simulates a fake user playing a mobile game
Last refresh: Never