Beispiel #1
0
    def test_should_get_meme_followers(self):
        yql_mock = Mock()
        
        owner_guid = "123fooGUID"
        yql_query =  'SELECT * FROM meme.followers(%d) WHERE owner_guid = "%s"' % (1, owner_guid)
        
        query_result = Mock()
        query_result.rows = {'guid':'123', 'name':'some_name', 
                'title':'Cool Meme title', 'description':'Meme description', 
                'url':'http://meme.yahoo.com/some_name',
                'avatar_url':'http://img.yahoo.com/avatar/123.jpg', 
                'language':'pt', 'followers':2}
        query_result.count = 1
        when(yql_mock).execute(yql_query).thenReturn(query_result)
        
        repository = MemeRepository()
        repository.yql = yql_mock
                
        meme = repository.followers(owner_guid, 1)
    
        assert meme.guid == '123'


        yql_query_following =  'SELECT * FROM meme.followers(%d) WHERE owner_guid = "%s"' % (2, owner_guid)
        query_following_result = Mock()
        query_following_result.rows = []
        query_following_result.rows.append({'guid':'456', 'name':'some_other_name', 
                'title':'Cool Meme title', 'description':'Meme description', 
                'url':'http://meme.yahoo.com/some_name',
                'avatar_url':'http://img.yahoo.com/avatar/123.jpg', 
                'language':'pt', 'followers':10})
        query_following_result.rows.append({'guid':'789', 'name':'some_other_creative_name', 
                'title':'Cool Meme title', 'description':'Meme description', 
                'url':'http://meme.yahoo.com/some_name',
                'avatar_url':'http://img.yahoo.com/avatar/123.jpg', 
                'language':'pt', 'followers':20})
        query_following_result.count = 2
        when(yql_mock).execute(yql_query_following).thenReturn(query_following_result)

        repository = MemeRepository()
        repository.yql = yql_mock

        memes = repository.followers(owner_guid, 2)
        assert len(memes) == 2
        assert memes[0].guid == '456'
        assert memes[1].guid == '789'
    def test_should_get_one_meme_follower(self):
        yql_query = 'SELECT * FROM meme.followers(1) WHERE owner_guid = "123fooGUID"'
        yql_mock = Mock()
        when(yql_mock).execute(yql_query).thenReturn(self.single_query_result)

        meme_repository = MemeRepository()
        meme_repository.yql = yql_mock
        meme = meme_repository.followers("123fooGUID", 1)
        assert len(meme) == 1
        assert meme[0].guid == "123"
    def test_should_get_meme_followers(self):
        yql_query = 'SELECT * FROM meme.followers(2) WHERE owner_guid = "123fooGUID"'
        yql_mock = Mock()
        when(yql_mock).execute(yql_query).thenReturn(self.multiple_query_result)

        meme_repository = MemeRepository()
        meme_repository.yql = yql_mock
        memes = meme_repository.followers("123fooGUID", 2)
        assert len(memes) == 2
        assert memes[0].guid == "456"
        assert memes[1].guid == "789"