Exemplo n.º 1
0
 def get(self):
     try:
         user_id = self.request.get('user_id')
         limit = int(self.request.get('limit', DEFAULT_FAVS_LIMIT))
         start_time = self.request.get('older_than', default_value=datetime.datetime.now().isoformat())
         start_time = sfdatetime.fromisoformat(start_time)
         fav_ids, oldest = Fav.fav_ids_for_user(user_id, limit, start_time)
         result = {'favorites': fav_ids, 'status': True}
         if oldest is not None:
             result['oldest_created_at'] = oldest.isoformat()
         else:
             result['favorites'] = [BLANK_SLATE_POST_ID]
         self.respond(result)
     except Exception, err:
         self.bail_with_message(err, {'favorites': [], 'status': False})
Exemplo n.º 2
0
 def test_page_past_the_end(self):
     '''Requesting past the end of the list gives an empty result'''
     ids, oldest = Fav.fav_ids_for_user(self.user_id, self.page_length, self.favs[0].created_at)
     self.assertEqual([], ids)
     self.assertNone(oldest)
Exemplo n.º 3
0
 def test_get_last_page(self):
     '''Last page is not necessarily page_length long'''
     ids, oldest = Fav.fav_ids_for_user(self.user_id, self.page_length, self.favs[1].created_at)
     self.assertEqual(['0'], ids)
     self.assertEqual(oldest, self.favs[0].created_at)
Exemplo n.º 4
0
 def test_get_page_from_oldest(self):
     '''Paging is done by giving an older_than datetime'''
     ids, oldest = Fav.fav_ids_for_user(self.user_id, self.page_length, self.favs[-self.page_length].created_at)
     self.assertEqual(['3', '2', '1'], ids)
     self.assertEqual(oldest, self.favs[-(self.page_length * 2)].created_at)
Exemplo n.º 5
0
 def test_get_first_page(self):
     '''Get first page of the user's fav ids'''
     ids, oldest = Fav.fav_ids_for_user(self.user_id, self.page_length)
     self.assertEqual(['6', '5', '4'], ids)
     self.assertEqual(oldest, self.favs[-self.page_length].created_at)