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})
Пример #9
0
    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)
Пример #10
0
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)
Пример #11
0
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 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)
Пример #14
0
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)