def testJoinParty(self): sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) #Create an inviter inviterUUID = uuid.uuid4() inviter = randomGen() inviter_email = inviter + '@save.world' inviter_id = proxy.habiticaRegister(inviter, inviter_email, inviter, inviterUUID)['data']['id'] inviter_group_id = json.loads( proxy.habiticaProxy(inviterUUID, 'POST', "/api/v3/groups", { 'type': 'party', 'privacy': 'private', 'name': inviter }).text)['data']['id'] #Finally try to make this user (self) join the party group_id_returned = proxy.setup_party(self.testUserUUID, inviter_group_id, inviter_id) self.assertEqual(group_id_returned, inviter_group_id) #Now try to join again, it should throw an error with self.assertRaises(RuntimeError): proxy.setup_party(self.testUserUUID, inviter_group_id, inviter_id) delete_inviter = proxy.habiticaProxy(inviterUUID, "DELETE", "/api/v3/user", {'password': inviter}) edb.get_habitica_db().remove({'user_id': inviterUUID})
def setUp(self): #load test user self.testUUID = uuid.uuid4() autogen_string = randomGen() autogen_email = autogen_string + '@test.com' self.sampleAuthMessage1 = { 'username': autogen_string, 'email': autogen_email, 'password': "******", 'our_uuid': self.testUUID } sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) self.ts = esta.TimeSeries.get_time_series(self.testUUID) bike_habit = { 'type': "habit", 'text': "Bike", 'up': True, 'down': False, 'priority': 2 } bike_habit_id = proxy.create_habit(self.testUUID, bike_habit) walk_habit = { 'type': "habit", 'text': "Walk", 'up': True, 'down': False, 'priority': 2 } walk_habit_id = proxy.create_habit(self.testUUID, walk_habit) logging.debug("in setUp, result = %s" % self.ts)
def testAddNewUser(self): sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) find_it = edb.get_habitica_db().find({"user_id": self.testUserUUID}) self.assertEqual(edb.get_habitica_db().count_documents({"user_id": self.testUserUUID}), 1) user_val = list(find_it)[0] self.assertIsNotNone(user_val['habitica_id']) self.assertEqual(user_val['habitica_username'], sampleAuthMessage1Ad.username)
def testAddNewUser(self): sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) find_it = edb.get_habitica_db().find({"user_id": self.testUserUUID}) self.assertEqual(find_it.count(), 1) user_val = list(find_it)[0] self.assertIsNotNone(user_val['habitica_id']) self.assertEqual(user_val['habitica_username'], sampleAuthMessage1Ad.username)
def testGetUserProfile(self): # The user information is randomly generated every time, so # every test has to start with creating the user sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) ret_profile = proxy.habiticaProxy(self.testUserUUID, "GET", "/api/v3/user", None) ret_json = ret_profile.json() logging.debug("Retrieved profile with keys %s" % list(ret_json.keys())) logging.debug("profile data keys = %s" % list(ret_json['data'].keys())) # User has just been created, so has no gear self.assertEqual(ret_json['data']['achievements']['ultimateGearSets'], {'warrior': False, 'rogue': False, 'wizard': False, 'healer': False}) self.assertEqual(ret_json['data']['newMessages'], {})
def testGetUserProfile(self): # The user information is randomly generated every time, so # every test has to start with creating the user sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) ret_profile = proxy.habiticaProxy(self.testUserUUID, "GET", "/api/v3/user", None) ret_json = ret_profile.json() logging.debug("Retrieved profile with keys %s" % ret_json.keys()) logging.debug("profile data keys = %s" % ret_json['data'].keys()) # User has just been created, so has no gear self.assertEqual(ret_json['data']['achievements']['ultimateGearSets'], {'warrior': False, 'rogue': False, 'wizard': False, 'healer': False}) self.assertEqual(ret_json['data']['newMessages'], {})
def setUp(self): #load test user self.testUUID = uuid.uuid4() autogen_string = randomGen() autogen_email = autogen_string + '@test.com' self.sampleAuthMessage1 = {'username': autogen_string, 'email': autogen_email, 'password': "******", 'our_uuid': self.testUUID} sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) self.ts = esta.TimeSeries.get_time_series(self.testUUID) bike_habit = {'type': "habit", 'text': "Bike", 'up': True, 'down': False, 'priority': 2} bike_habit_id = proxy.create_habit(self.testUUID, bike_habit) walk_habit = {'type': "habit", 'text': "Walk", 'up': True, 'down': False, 'priority': 2} walk_habit_id = proxy.create_habit(self.testUUID, walk_habit) logging.debug("in setUp, result = %s" % self.ts)
def testJoinParty(self): sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) #Create an inviter inviterUUID = uuid.uuid4() inviter = randomGen() inviter_email = inviter + '@save.world' inviter_id = proxy.habiticaRegister(inviter, inviter_email, inviter, inviterUUID)['data']['id'] inviter_group_id = json.loads(proxy.habiticaProxy(inviterUUID, 'POST', "/api/v3/groups", {'type': 'party', 'privacy': 'private', 'name': inviter}).text)['data']['id'] #Finally try to make this user (self) join the party group_id_returned = proxy.setup_party(self.testUserUUID, inviter_group_id, inviter_id) self.assertEqual(group_id_returned, inviter_group_id) #Now try to join again, it should throw an error with self.assertRaises(RuntimeError): proxy.setup_party(self.testUserUUID, inviter_group_id, inviter_id) delete_inviter = proxy.habiticaProxy(inviterUUID, "DELETE", "/api/v3/user", {'password': inviter}) edb.get_habitica_db().remove({'user_id': inviterUUID})
def setUp(self): #load test user party.create_party_leaders() self.testUUID = uuid.uuid4() autogen_string = randomGen() autogen_email = autogen_string + '@test.com' self.sampleAuthMessage1 = { 'username': autogen_string, 'email': autogen_email, 'password': "******", 'our_uuid': self.testUUID } sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) edb.get_habitica_db().update({"user_id": self.testUUID}, { "$set": { 'metrics_data.last_timestamp': arrow.Arrow(2016, 5, 1).timestamp } }, upsert=True) self.ts = esta.TimeSeries.get_time_series(self.testUUID) bike_habit = { 'type': "habit", 'text': "Bike", 'up': True, 'down': False, 'priority': 2 } bike_habit_id = proxy.create_habit(self.testUUID, bike_habit) walk_habit = { 'type': "habit", 'text': "Walk", 'up': True, 'down': False, 'priority': 2 } walk_habit_id = proxy.create_habit(self.testUUID, walk_habit) logging.debug("in setUp, result = %s" % self.ts)
def habiticaRegister(): logging.debug("habitica registration request %s from user = %s" % (request.json, request)) user_uuid = getUUID(request) assert (user_uuid is not None) username = request.json['regConfig']['username'] # TODO: Move this logic into register since there is no point in # regenerating the password if we already have the user autogen_id = requests.get("http://www.dinopass.com/password/simple").text logging.debug("generated id %s through dinopass" % autogen_id) autogen_email = "*****@*****.**" % autogen_id autogen_password = autogen_id return habitproxy.habiticaRegister(username, autogen_email, autogen_password, user_uuid)
def habiticaRegister(): logging.debug("habitica registration request %s from user = %s" % (request.json, request)) user_uuid = getUUID(request) assert(user_uuid is not None) username = request.json['regConfig']['username'] # TODO: Move this logic into register since there is no point in # regenerating the password if we already have the user autogen_id = requests.get("http://www.dinopass.com/password/simple").text logging.debug("generated id %s through dinopass" % autogen_id) autogen_email = "*****@*****.**" % autogen_id autogen_password = autogen_id return habitproxy.habiticaRegister(username, autogen_email, autogen_password, user_uuid)
def testSleep(self): # The user information is randomly generated every time, so # every test has to start with creating the user sampleAuthMessage1Ad = ad.AttrDict(self.sampleAuthMessage1) proxy.habiticaRegister(sampleAuthMessage1Ad.username, sampleAuthMessage1Ad.email, sampleAuthMessage1Ad.password, sampleAuthMessage1Ad.our_uuid) ret_sleep = proxy.habiticaProxy(self.testUserUUID, "POST", "/api/v3/user/sleep", {'data': True}) ret_profile = proxy.habiticaProxy(self.testUserUUID, "GET", "/api/v3/user", None) ret_json = ret_profile.json() # User should be sleeping self.assertEqual(ret_json['data']['preferences']['sleep'], True) ret_sleep = proxy.habiticaProxy(self.testUserUUID, "POST", "/api/v3/user/sleep", {'data': False}) ret_profile = proxy.habiticaProxy(self.testUserUUID, "GET", "/api/v3/user", None) ret_json = ret_profile.json() # User should not be sleeping self.assertEqual(ret_json['data']['preferences']['sleep'], False)
def create_party_leaders(): ju_email = "*****@*****.**" ecwu.User.register(ju_email) ju_uuid = edb.get_uuid_db().find_one({'user_email': ju_email})['uuid'] logging.debug("Found Juliana's uuid %s" % ju_uuid) proxy.habiticaRegister("Juliana", ju_email, "autogenerate_me", ju_uuid) su_email = "*****@*****.**" ecwu.User.register(su_email) su_uuid = edb.get_uuid_db().find_one({'user_email': su_email})['uuid'] logging.debug("Found Sunil's uuid %s" % su_uuid) proxy.habiticaRegister("Sunil", su_email, "autogenerate_me", su_uuid) sh_email = "*****@*****.**" ecwu.User.register(sh_email) sh_uuid = edb.get_uuid_db().find_one({'user_email': sh_email})['uuid'] logging.debug("Found Shankari's uuid %s" % sh_uuid) proxy.habiticaRegister("Shankari", sh_email, "autogenerate_me", sh_uuid)