def test_should_return_interpolated_content(self): multi_content_data_source = IdRememberingMultiContentDataSourceStub('client') most_shared_fetcher = StubMostSharedFetcher() shared_count_interpolator = SharedCountInterpolator() data_source = MostSharedDataSource(n_items=23, multi_content_data_source=multi_content_data_source, most_shared_fetcher=most_shared_fetcher, shared_count_interpolator=shared_count_interpolator ) data = data_source.fetch_data() self.assertEquals(list('Interpolated content'), data)
def test_should_fetch_each_piece_of_content_from_api(self): multi_content_data_source = IdRememberingMultiContentDataSourceStub('client') most_shared_fetcher = StubMostSharedFetcher() shared_count_interpolator = SharedCountInterpolator() data_source = MostSharedDataSource(n_items=23, multi_content_data_source=multi_content_data_source, most_shared_fetcher=most_shared_fetcher, shared_count_interpolator=shared_count_interpolator ) data_source.fetch_data() self.assertTrue(multi_content_data_source.fetch_all_was_called)
def test_should_call_interpolator_with_shared_counts_and_content_list(self): multi_content_data_source = IdRememberingMultiContentDataSourceStub('client') most_shared_fetcher = StubMostSharedFetcher() shared_count_interpolator = SharedCountInterpolator() data_source = MostSharedDataSource(n_items=23, multi_content_data_source=multi_content_data_source, most_shared_fetcher=most_shared_fetcher, shared_count_interpolator=shared_count_interpolator ) data_source.fetch_data() self.assertEquals(api_data, shared_count_interpolator.content_list) self.assertEquals(comment_count_list, shared_count_interpolator.comment_count_list)
def test_should_should_set_a_list_of_paths_on_multi_content_data_source(self): multi_content_data_source = IdRememberingMultiContentDataSourceStub('client') most_shared_fetcher = StubMostSharedFetcher() shared_count_interpolator = SharedCountInterpolator() data_source = MostSharedDataSource(n_items=23, multi_content_data_source=multi_content_data_source, most_shared_fetcher=most_shared_fetcher, shared_count_interpolator=shared_count_interpolator ) expected_content_ids = ["/commentisfree/2013/apr/14/thatcher-ding-dong-bbc-charlie-brooker", "/music/2013/apr/14/justin-bieber-anne-frank-belieber"] data_source.fetch_data() self.assertListEqual(expected_content_ids,multi_content_data_source.content_ids)
def test_should_return_interpolated_content(self): multi_content_data_source = IdRememberingMultiContentDataSourceStub( 'client') most_shared_fetcher = StubMostSharedFetcher() shared_count_interpolator = SharedCountInterpolator() data_source = MostSharedDataSource( n_items=23, multi_content_data_source=multi_content_data_source, most_shared_fetcher=most_shared_fetcher, shared_count_interpolator=shared_count_interpolator) data = data_source.fetch_data() self.assertEquals(list('Interpolated content'), data)
def test_should_fetch_each_piece_of_content_from_api(self): multi_content_data_source = IdRememberingMultiContentDataSourceStub( 'client') most_shared_fetcher = StubMostSharedFetcher() shared_count_interpolator = SharedCountInterpolator() data_source = MostSharedDataSource( n_items=23, multi_content_data_source=multi_content_data_source, most_shared_fetcher=most_shared_fetcher, shared_count_interpolator=shared_count_interpolator) data_source.fetch_data() self.assertTrue(multi_content_data_source.fetch_all_was_called)
def test_should_call_interpolator_with_shared_counts_and_content_list( self): multi_content_data_source = IdRememberingMultiContentDataSourceStub( 'client') most_shared_fetcher = StubMostSharedFetcher() shared_count_interpolator = SharedCountInterpolator() data_source = MostSharedDataSource( n_items=23, multi_content_data_source=multi_content_data_source, most_shared_fetcher=most_shared_fetcher, shared_count_interpolator=shared_count_interpolator) data_source.fetch_data() self.assertEquals(api_data, shared_count_interpolator.content_list) self.assertEquals(comment_count_list, shared_count_interpolator.comment_count_list)
def test_should_should_set_a_list_of_paths_on_multi_content_data_source( self): multi_content_data_source = IdRememberingMultiContentDataSourceStub( 'client') most_shared_fetcher = StubMostSharedFetcher() shared_count_interpolator = SharedCountInterpolator() data_source = MostSharedDataSource( n_items=23, multi_content_data_source=multi_content_data_source, most_shared_fetcher=most_shared_fetcher, shared_count_interpolator=shared_count_interpolator) expected_content_ids = [ "/commentisfree/2013/apr/14/thatcher-ding-dong-bbc-charlie-brooker", "/music/2013/apr/14/justin-bieber-anne-frank-belieber" ] data_source.fetch_data() self.assertListEqual(expected_content_ids, multi_content_data_source.content_ids)
class MostSharedUS(MostShared): data_sources = { 'v1' : { 'most_shared': MostSharedDataSource( most_shared_fetcher=MostSharedFetcher(ophan_client, country='us'), multi_content_data_source=MultiContentDataSource(client=mr.client, name='most_shared'), shared_count_interpolator=MostSharedCountInterpolator() ), }, }
class MostShared(handlers.EmailTemplate): recognized_versions = ['v1'] n_items = 6 most_shared_fetcher = MostSharedFetcher(ophan_client) multi_content_data_source = MultiContentDataSource(client=mr.client, name='most_shared') shared_count_interpolator = MostSharedCountInterpolator() most_shared_data_source = MostSharedDataSource( most_shared_fetcher=most_shared_fetcher, multi_content_data_source=multi_content_data_source, shared_count_interpolator=shared_count_interpolator ) data_sources = {} data_sources['v1'] = { 'most_shared': most_shared_data_source } ad_tag = '' ad_config = {} priority_list = {'v1': [('most_shared', n_items)]} template_names = {'v1': 'most-shared'}
def most_shared(client, ophan_client, country): return MostSharedDataSource( most_shared_fetcher=MostSharedFetcher(ophan_client, country=country), multi_content_data_source=MultiContentDataSource(client=client, name='most_shared'), shared_count_interpolator=MostSharedCountInterpolator() )