def test_post(self): resp = self.post('post', data='silowe html') self.assertEqual(200, resp.status_code, resp.get_data(as_text=True)) self.assert_equals(self.activities[0], util.trim_nulls(resp.json)) activities = Activity.query().fetch() self.assertEqual(1, len(activities)) self.assertEqual(self.source, activities[0].source) self.assert_equals(self.activities[0], util.trim_nulls(json_loads(activities[0].activity_json))) self.assertEqual('silowe html', activities[0].html)
def queryActivities(self, request): """Query for activities.""" activities = Activity.query() if request.fil: activities = Activity.query(Activity.tribe==request.fil) # need to fetch organiser displayName from profiles # get all keys and use get_multi for speed organisers = [(ndb.Key(Profile, acti.organizerUID)) for acti in activities] profiles = ndb.get_multi(organisers) # put display names in a dict for easier fetching names = {} for profile in profiles: names[profile.key.id()] = profile.displayName # return individual ActivityForm object per Activity return ActivityForms( items=[self._copyActivityToForm(acti, names[acti.organizerUID]) for acti in \ activities] )
def test_post(self): self.source.put() resp = self.get_response('post', data=HTML_VIDEO_COMPLETE) self.assertEqual(200, resp.status_code, resp.get_data(as_text=True)) self.assertEqual(HTML_VIDEO_ACTIVITY_FULL, resp.json) activities = Activity.query().fetch() self.assertEqual(1, len(activities)) self.assertEqual(self.source.key, activities[0].source) self.assertEqual(HTML_VIDEO_ACTIVITY_FULL, json_loads(activities[0].activity_json))
def test_post(self): resp = self.get_response('post', text='silowe html') self.assertEqual(200, resp.status_int, resp.text) self.assert_equals(self.activities_no_extras[0], util.trim_nulls(resp.json)) activities = Activity.query().fetch() self.assertEqual(1, len(activities)) self.assertEqual(self.source, activities[0].source) self.assert_equals( self.activities_no_extras[0], util.trim_nulls(json_loads(activities[0].activity_json))) self.assertEqual('silowe html', activities[0].html)
def test_post(self): self.source.put() gr_facebook.now_fn().MultipleTimes().AndReturn(datetime(1999, 1, 1)) self.mox.ReplayAll() resp = self.get_response(f'post', text=MBASIC_HTML_POST) self.assertEqual(200, resp.status_int, resp.text) self.assertEqual(MBASIC_ACTIVITY, resp.json) activities = Activity.query().fetch() self.assertEqual(1, len(activities)) self.assertEqual(self.source.key, activities[0].source) self.assertEqual(MBASIC_ACTIVITY, json_loads(activities[0].activity_json))
def getActivitiesCreated(self, request): """Return activities created by user.""" # make sure user is authed user = endpoints.get_current_user() if not user: raise endpoints.UnauthorizedException('Authorization required') user_id = getUserId(user) # create ancestor query for all key matches for this user actis = Activity.query(ancestor=ndb.Key(Profile, user_id)) prof = ndb.Key(Profile, user_id).get() # return set of ActivityForm objects per Activity return ActivityForms( items=[self._copyActivityToForm(acti, getattr(prof, 'displayName')) for acti in actis] )
def test_post(self): source = Instagram.create_new(self.handler, actor={'username': '******'}) resp = app.application.get_response( '/instagram/browser/post?token=towkin', method='POST', text=HTML_VIDEO_COMPLETE) self.assertEqual(200, resp.status_int, resp.text) self.assertEqual(HTML_VIDEO_ACTIVITY_FULL, resp.json) activities = Activity.query().fetch() self.assertEqual(1, len(activities)) self.assertEqual(source.key, activities[0].source) self.assertEqual(HTML_VIDEO_ACTIVITY_FULL, json_loads(activities[0].activity_json))
def get_activities_response(self, *args, **kwargs): """Uses Activity entities stored in the datastore.""" activities = [] activity_id = kwargs.get('activity_id') if activity_id: activity = Activity.get_by_id(self.gr_source.tag_uri(activity_id)) if activity: activities = [activity] else: activities = Activity.query(Activity.source == self.key)\ .order(-Activity.updated).fetch(50) return self.gr_source.make_activities_base_response( [json_loads(a.activity_json) for a in activities])
def get_activities_response(self, *args, **kwargs): """Uses Activity entities stored in the datastore.""" activities = [] activity_id = kwargs.get('activity_id') if activity_id: activity = Activity.get_by_id(self.gr_source.tag_uri(activity_id)) if activity: activities = [activity] else: activities = Activity.query(Activity.source == self.key)\ .order(-Activity.updated).fetch(50) activities = [json_loads(a.activity_json) for a in activities] for a in activities: microformats2.prefix_image_urls(a, IMAGE_PROXY_URL_BASE) return self.gr_source.make_activities_base_response(activities)