示例#1
0
  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)
示例#2
0
    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]
        )
示例#3
0
  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))
示例#4
0
    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)
示例#5
0
  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))
示例#6
0
    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]
        )
示例#7
0
    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))
示例#8
0
    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])
示例#9
0
    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)