def test_list_scores(self): """ Test routine for getting a list of all scores """ for i in range(10): User(email=str(i) + "@dot.net", password=bcrypt.generate_password_hash("toor")).save() Item(name=str(i), description="bla").save() users = User.objects().all() self.items = Item.objects().all() for i in range(50): try: Score(score=np.random.randint(1, 6), user=users[np.random.randint(0, 10)].id, item=self.items[np.random.randint(0, 10)].id).save() except: continue resp = self.c.get('/scores/') self.assertEqual(resp.status_code, 200) self.assertTrue(len(json.loads(resp.data)['data']) > 0)
def test_recommendations(self): """ Test routine for user creation, login, logout and getting recommendations """ for i in range(100): User(email=str(i) + "@dot.net", password=bcrypt.generate_password_hash("toor")).save() Item(name=str(i), description="bla").save() users = User.objects().all() self.items = Item.objects().all() for i in range(1000): try: Score(score=np.random.randint(1, 6), user=users[np.random.randint(0, 100)].id, item=self.items[np.random.randint(0, 100)].id).save() except: continue user1 = self.c.post('/users/', data=json.dumps({ "email": "*****@*****.**", "password": "******" })) self.assertEqual(user1.status_code, 200) self.assertEqual(json.loads(user1.data)["email"], "*****@*****.**") headers = {'Content-type': 'application/x-www-form-urlencoded'} login = self.c.post('/login', data={ "email": "*****@*****.**", "password": "******" }, headers=headers) self.assertEqual(json.loads(login.data)["status"][1]["result"], "logged in") for i in range(30): try: Score(score=np.random.randint(1, 6), user=json.loads(user1.data)['id'], item=self.items[np.random.randint(0, 50)].id).save() except: continue resp = self.c.get('/recommend') self.assertEqual(resp.status_code, 200) self.assertTrue(len(json.loads(resp.data)) > 0) logout = self.c.get('/logout') self.assertEqual(json.loads(logout.data)["status"], "logged out")