Exemplo n.º 1
0
    def test_get_registers_appropriate_tasks(self):
        moxer = Mox()
        request, response = new_mock_request_response(moxer)

        _stub_taskqueue(moxer)
        moxer.StubOutWithMock(Feed, "find_active", use_mock_anything=True)

        def create_call(i):
            source_name = "source-%i" % i
            source = MockEntity(key_name=source_name, name=source_name)
            return MockEntity(key_name="feed-%i" % i,
                              artifact_source=source,
                              url="hi")

        q_range = xrange(0, 5)
        Feed.find_active().AndReturn(
            MockQuery(q_range, create_call=create_call))

        # expects queued tasks for each feed
        for i in q_range:
            taskqueue.add(name=IgnoreArg(), url=IgnoreArg())

        moxer.ReplayAll()
        handler = CronIngestDriverHandler()
        handler.initialize(request, response)
        handler.get()
        moxer.VerifyAll()
Exemplo n.º 2
0
    def test_get(self):
        request, response = new_mock_request_response(self.m)
        self.m.StubOutWithMock(ArtifactSourceAccessor, "find_artifact_counts")
        self.m.StubOutWithMock(ArtifactSourceAccessor, "find_artifact_counts_newer")
        self.m.StubOutWithMock(memcache, "get_stats")
        self.m.StubOutWithMock(ConfigurationAccessor, "get_or_create")
        
        ArtifactSourceAccessor.find_artifact_counts().AndReturn({})
        ArtifactSourceAccessor.find_artifact_counts_newer(IgnoreArg()).AndReturn({})
        memcache.get_stats().AndReturn({})
        
        # token = "oauth_token_secret=hi&oauth_token=hi"
        # config = MockEntity(key_name="hi", twitter_oauth_enabled=True, twitter_access_token=token, twitter_read_only=False)
        # ConfigurationAccessor.get_or_create().AndReturn(config)

        api = new_mock_twitter_api(self.m)
        api.GetUserTimeline(count=IgnoreArg()).AndReturn(())
        api.GetDirectMessages(since=IgnoreArg()).AndReturn(())
        api.GetReplies(since=IgnoreArg()).AndReturn(())
                    
        handler = StatsHandler()
        handler.initialize(request, response)
        
        self.m.ReplayAll()
        handler.get()
        self.m.VerifyAll()
Exemplo n.º 3
0
 def _test_post_no_user(self):
     moxer = Mox()
     
     request, response = new_mock_request_response(moxer)
     moxer.StubOutWithMock(users, "get_current_user", use_mock_anything=True)
     moxer.StubOutWithMock(User, "__init__", use_mock_anything=True)
     moxer.StubOutWithMock(Feed, "get_by_source_name", use_mock_anything=True)
     moxer.StubOutWithMock(model, "ingest_feed_entries")
     
     source_name = "hi"
     username = Services.API_USER
     user = MockEntity(key_name=username, email=lambda: username)
     
     # passes auth (via cron)
     users.get_current_user().AndReturn(user)
     handler = IngestHandler()
     # no logged in user
     users.get_current_user()
     User.__init__(username)
     handler.initialize(request, response)
     feed = MockEntity(key_name=source_name, url="no")
     Feed.get_by_source_name(source_name, return_none=True).AndReturn(feed)
     model.ingest_feed_entries(feed, None, error_call=IgnoreArg()).AndReturn(())
     
     moxer.ReplayAll()
     handler.post(source_name)
     moxer.VerifyAll()
Exemplo n.º 4
0
    def test_cron_twitter_actor_handler(self):
        moxer = Mox()
        request, response = new_mock_request_response(moxer)

        _stub_taskqueue(moxer)

        taskqueue.add(url=IgnoreArg(), countdown=IgnoreArg())
        moxer.ReplayAll()
        handler = CronTwitterActorHandler()
        handler.initialize(request, response)
        handler.get()
        moxer.VerifyAll()
Exemplo n.º 5
0
 def test_cron_twitter_actor_handler(self):
     moxer = Mox()
     request, response = new_mock_request_response(moxer)
     
     _stub_taskqueue(moxer)
     
     taskqueue.add(url=IgnoreArg(), countdown=IgnoreArg())
     moxer.ReplayAll()
     handler = CronTwitterActorHandler()
     handler.initialize(request, response)
     handler.get()
     moxer.VerifyAll()
Exemplo n.º 6
0
 def test_get_no_q(self):
     moxer = mox.Mox()
     
     request, response = new_mock_request_response(moxer)
     handler = MixtureResponseHandler()
     handler.initialize(request, response)
     
     request.get("q", None).AndReturn(None)
     response.set_status(400)
     response.clear()
     
     moxer.ReplayAll()
     handler.get()
     moxer.VerifyAll()
Exemplo n.º 7
0
 def test_get_q(self):
     moxer = mox.Mox()
     
     request, response = new_mock_request_response(moxer)
     handler = MixtureResponseHandler()
     handler.initialize(request, response)
     
     message = "hello"
     request.get("q", None).AndReturn(message)
     mixer = mixer_stub(moxer)
     mixer.mix_response(message).AndReturn(((Mock(name="source1")), "all your base are belong to us"))
     
     moxer.ReplayAll()
     handler.get()
     moxer.VerifyAll()
Exemplo n.º 8
0
    def test_post_handles_ingest_error(self):
        m = Mox()
        request, response = new_mock_request_response(m)
        m.StubOutWithMock(Feed, "get_by_source_name" )
        
        request.get("keep").AndReturn(None)
        feed_name = "blah"
        Feed.get_by_source_name(feed_name, return_none=True).AndRaise(Exception("real bad"))

        # response.set_status(200)

        m.ReplayAll()
        handler = CronIngestHandler()
        handler.initialize(request, response)
        _assert_handles_error(lambda: handler.post(feed_name))
        m.VerifyAll()
Exemplo n.º 9
0
 def test_post_unauthorized(self):
     moxer = Mox()
     
     request, response = new_mock_request_response(moxer)
     moxer.StubOutWithMock(users, "get_current_user", use_mock_anything=True)
     
     handler = IngestHandler()
     handler.initialize(request, response)
     username = "******"
     users.get_current_user().AndReturn(MockEntity(key_name=username, email=lambda: username))
     response.set_status(403)     
     response.clear()
     
     moxer.ReplayAll()
     handler.post("hi")
     moxer.VerifyAll()
Exemplo n.º 10
0
    def test_post_handles_ingest_error(self):
        m = Mox()
        request, response = new_mock_request_response(m)
        m.StubOutWithMock(Feed, "get_by_source_name")

        request.get("keep").AndReturn(None)
        feed_name = "blah"
        Feed.get_by_source_name(feed_name, return_none=True).AndRaise(
            Exception("real bad"))

        # response.set_status(200)

        m.ReplayAll()
        handler = CronIngestHandler()
        handler.initialize(request, response)
        _assert_handles_error(lambda: handler.post(feed_name))
        m.VerifyAll()
Exemplo n.º 11
0
 def __init(self):
     moxer = mox.Mox()
     
     # moxer.StubOutWithMock(users, "get_current_user")
     
     request, response = new_mock_request_response(moxer)
     
     handler = MixtureHandler()
     handler.initialize(request, response)
     # username = Services.API_USER
     # users.get_current_user().AndReturn(Mock(email=lambda: username))
     
     # defaults to no query and speaker
     request.get("s", None).AndReturn(None)
     request.get("q", None).AndReturn(None)
     
     return moxer, handler, mixer_stub(moxer)
Exemplo n.º 12
0
    def test_put_friend(self):
        request, response = new_mock_request_response(self.m)
        self.m.StubOutWithMock(TwitterConnector, "new_api")

        api = _create_api(self.m)
        TwitterConnector.new_api().AndReturn(api)

        username = "******"
        api.CreateFriendship(username)
        response.set_status(204)

        handler = TwitterFriendHandler()
        handler.initialize(request, response)
        set_api_user(self.m)

        self.m.ReplayAll()
        handler.put(username)
        self.m.VerifyAll()
Exemplo n.º 13
0
 def test_put_friend(self):
     request, response = new_mock_request_response(self.m)
     self.m.StubOutWithMock(TwitterConnector, "new_api")
     
     api = _create_api(self.m)
     TwitterConnector.new_api().AndReturn(api)
     
     username = "******"
     api.CreateFriendship(username)
     response.set_status(204)
     
     handler = TwitterFriendHandler()
     handler.initialize(request, response)
     set_api_user(self.m)        
     
     self.m.ReplayAll()
     handler.put(username)
     self.m.VerifyAll()
Exemplo n.º 14
0
    def test_safe_twitter_actor_handler(self):
        moxer = Mox()

        request, response = new_mock_request_response(moxer)

        moxer.StubOutWithMock(TwitterActor, "__new__")
        actor = moxer.CreateMock(TwitterActor)
        TwitterActor.__new__(TwitterActor).AndReturn(actor)
        actor.act()

        moxer.ReplayAll()
        handler = SafeTwitterActorHandler()
        handler.initialize(request, response)
        result = handler.post()
        moxer.VerifyAll()

        if result:
            exception, msg = result
            self.fail("exception occurred: %s" % msg)
Exemplo n.º 15
0
 def test_safe_twitter_actor_handler(self):
     moxer = Mox()
     
     request, response = new_mock_request_response(moxer)
     
     moxer.StubOutWithMock(TwitterActor, "__new__")
     actor = moxer.CreateMock(TwitterActor)
     TwitterActor.__new__(TwitterActor).AndReturn(actor)
     actor.act()
     
     moxer.ReplayAll()
     handler = SafeTwitterActorHandler()
     handler.initialize(request, response)
     result = handler.post()
     moxer.VerifyAll()
     
     if result:
         exception, msg = result
         self.fail("exception occurred: %s" % msg)
Exemplo n.º 16
0
 def test_put_friend(self):
     request, response = new_mock_request_response(self.m)
     self.m.StubOutWithMock(TwitterConnector, "new_api")
     
     api = _create_api(self.m)
     TwitterConnector.new_api().AndReturn(api)
     
     username = "******"
     api.GetUser(username).AndReturn(Mock(name="hi", screen_name=username, 
         url="hi", statuses_count=1,
         followers_count=1, friends_count=1))
     
     handler = TwitterUserHandler()
     handler.initialize(request, response)
     set_api_user(self.m)        
     
     self.m.ReplayAll()
     handler.get(username)
     self.m.VerifyAll()
Exemplo n.º 17
0
    def test_put_friend(self):
        request, response = new_mock_request_response(self.m)
        self.m.StubOutWithMock(TwitterConnector, "new_api")

        api = _create_api(self.m)
        TwitterConnector.new_api().AndReturn(api)

        username = "******"
        api.GetUser(username).AndReturn(
            Mock(name="hi",
                 screen_name=username,
                 url="hi",
                 statuses_count=1,
                 followers_count=1,
                 friends_count=1))

        handler = TwitterUserHandler()
        handler.initialize(request, response)
        set_api_user(self.m)

        self.m.ReplayAll()
        handler.get(username)
        self.m.VerifyAll()
Exemplo n.º 18
0
 def test_post_with_user(self):
     moxer = Mox()
     
     request, response = new_mock_request_response(moxer)
     moxer.StubOutWithMock(users, "get_current_user", use_mock_anything=True)
     # moxer.StubOutWithMock(ArtifactInfo, "delete_oldest_by_source", use_mock_anything=True)
     moxer.StubOutWithMock(ArtifactContent, "delete_oldest_by_source")
     moxer.StubOutWithMock(Counters, "source_counter")
     moxer.StubOutWithMock(Feed, "get_by_source_name", use_mock_anything=True)
     moxer.StubOutWithMock(model, "ingest_feed_entries")
     
     source_name = "hi"
     username = Services.API_USER
     user = MockEntity(key_name=username, email=lambda: username)
     
     users.get_current_user().AndReturn(user)
     handler = IngestHandler()
     users.get_current_user().AndReturn(user)
     handler.initialize(request, response)
     request.get("keep").AndReturn(None)
     
     counter = moxer.CreateMock(Counter)
     Counters.source_counter(source_name).AndReturn(counter)
     counter.decrement(IgnoreArg())
     
     source = MockEntity(key_name=source_name, name=source_name)
     feed = MockEntity(key_name=source_name, url="no", artifact_source=source)
     # ArtifactInfo.delete_oldest_by_source(source, IgnoreArg()).AndReturn([])
     ArtifactContent.delete_oldest_by_source(source, IgnoreArg(), pre_call=IgnoreArg()).AndReturn([])
     
     Feed.get_by_source_name(source_name, return_none=True).AndReturn(feed)
     model.ingest_feed_entries(feed, user, error_call=IgnoreArg()).AndReturn(())
     
     moxer.ReplayAll()
     handler.post(source_name)
     moxer.VerifyAll()
Exemplo n.º 19
0
 def test_get_registers_appropriate_tasks(self):
     moxer = Mox()
     request, response = new_mock_request_response(moxer)
     
     _stub_taskqueue(moxer)
     moxer.StubOutWithMock(Feed, "find_active", use_mock_anything=True)
     
     def create_call(i):
         source_name = "source-%i" % i
         source = MockEntity(key_name=source_name, name=source_name)
         return MockEntity(key_name="feed-%i" % i, artifact_source=source, url="hi")
     
     q_range = xrange(0,5)
     Feed.find_active().AndReturn(MockQuery(q_range, create_call=create_call))
     
     # expects queued tasks for each feed
     for i in q_range:
         taskqueue.add(name=IgnoreArg(), url=IgnoreArg())
     
     moxer.ReplayAll()
     handler = CronIngestDriverHandler()
     handler.initialize(request, response)
     handler.get()
     moxer.VerifyAll()