本文整理汇总了Python中affiliates.links.tests.LinkFactory.create方法的典型用法代码示例。如果您正苦于以下问题:Python LinkFactory.create方法的具体用法?Python LinkFactory.create怎么用?Python LinkFactory.create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类affiliates.links.tests.LinkFactory
的用法示例。
在下文中一共展示了LinkFactory.create方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_not_authenticated
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_not_authenticated(self):
"""
If the current user isn't authenticated, render the home
page with the correct stats.
"""
request = self.factory.get('/')
request.user = Mock()
request.user.is_authenticated.return_value = False
# User count = 27 + 8 autogenerated via related factory
# Click count = 64
# Link count = 3 + 5 autogenerated via related factory
UserFactory.create_batch(27)
for clicks in (4, 6, 9, 10):
DataPointFactory.create(link_clicks=clicks, date=date(2014, 4, 26))
for clicks in (25, 5, 5):
LinkFactory.create(aggregate_link_clicks=clicks)
# Create a link with multiple datapoints to test for a faulty
# join that would screw up the totals.
link = LinkFactory.create()
DataPointFactory.create(link_clicks=7, link=link, date=date(2014, 4, 26))
DataPointFactory.create(link_clicks=7, link=link, date=date(2014, 4, 27))
with patch('affiliates.base.views.render') as render:
eq_(views.home(request), render.return_value)
render.assert_called_with(request, 'base/home.html', {
'affiliate_count': 35,
'link_count': 8,
'click_count': 78
})
示例2: test_basic
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_basic(self):
"""
Aggregate any datapoints older than 90 days into the totals
stored on their links.
"""
link1 = LinkFactory.create(aggregate_link_clicks=7, aggregate_firefox_downloads=10)
link1_old_datapoint = DataPointFactory.create(link=link1, date=aware_date(2014, 1, 1),
link_clicks=8, firefox_downloads=4)
link1_new_datapoint = DataPointFactory.create(link=link1, date=aware_date(2014, 3, 1),
link_clicks=2, firefox_downloads=7)
link2 = LinkFactory.create(aggregate_link_clicks=7, aggregate_firefox_downloads=10)
link2_old_datapoint1 = DataPointFactory.create(link=link2, date=aware_date(2014, 1, 1),
link_clicks=8, firefox_downloads=4)
link2_old_datapoint2 = DataPointFactory.create(link=link2, date=aware_date(2013, 12, 30),
link_clicks=2, firefox_downloads=7)
self.command.handle()
# link1 should have 7+8=15 clicks, 10+4=14 downloads, and the
# new datapoint should still exist.
link1 = Link.objects.get(pk=link1.pk)
eq_(link1.aggregate_link_clicks, 15)
eq_(link1.aggregate_firefox_downloads, 14)
ok_(not DataPoint.objects.filter(pk=link1_old_datapoint.pk).exists())
ok_(DataPoint.objects.filter(pk=link1_new_datapoint.pk).exists())
# link2 should have 7+8+2=17 clicks, 10+4+7=21 downloads, and the
# old datapoints should not exist.
link2 = Link.objects.get(pk=link2.pk)
eq_(link2.aggregate_link_clicks, 17)
eq_(link2.aggregate_firefox_downloads, 21)
ok_(not DataPoint.objects.filter(pk=link2_old_datapoint1.pk).exists())
ok_(not DataPoint.objects.filter(pk=link2_old_datapoint2.pk).exists())
示例3: test_links_filters
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_links_filters(self):
category = CategoryFactory.create()
user = UserFactory.create()
text_banner_variation = TextBannerVariationFactory.create(banner__category=category)
upgrade_banner_variation = FirefoxUpgradeBannerVariationFactory.create(
banner__category=category)
text_link = LinkFactory.create(banner_variation=text_banner_variation, user=user)
LinkFactory.create(banner_variation=upgrade_banner_variation)
eq_(list(category.links(user=user)), [text_link])
示例4: test_manager_total_link_clicks
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_manager_total_link_clicks(self):
for clicks in (4, 6, 9, 10): # = 29 clicks
DataPointFactory.create(link_clicks=clicks, date=date(2014, 4, 26))
for clicks in (25, 5, 5): # = 35 clicks
LinkFactory.create(aggregate_link_clicks=clicks)
# Create a link with multiple datapoints to test for a faulty
# join that would screw up the totals.
link = LinkFactory.create()
DataPointFactory.create(link_clicks=7, link=link, date=date(2014, 4, 26))
DataPointFactory.create(link_clicks=7, link=link, date=date(2014, 4, 27))
# 29 + 35 + 7 + 7 = 78 clicks
eq_(Link.objects.total_link_clicks(), 78)
示例5: _link_with_clicks
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def _link_with_clicks(self, user, aggregate_link_clicks, link_click_counts):
"""
Create a link with a specific number of aggregate links and
datapoints with the given click counts.
"""
start_date = aware_date(2014, 4, 1)
link = LinkFactory.create(user=user, aggregate_link_clicks=aggregate_link_clicks)
for link_clicks in link_click_counts:
DataPointFactory.create(link=link, link_clicks=link_clicks, date=start_date)
start_date += timedelta(1)
示例6: test_rate_limiting
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_rate_limiting(self):
request = self.factory.get('/')
link = LinkFactory.create()
with patch('affiliates.links.views.cache') as cache_patch:
with patch('affiliates.links.views.add_click') as add_click:
cache_patch.get.return_value = 3
self.view(request, pk=link.pk)
ok_(not add_click.delay.called)
示例7: test_add_click
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_add_click(self):
request = self.factory.get('/')
link = LinkFactory.create()
with patch('affiliates.links.views.add_click') as add_click:
with patch('affiliates.links.views.timezone') as timezone:
timezone.now.return_value = aware_datetime(2014, 4, 7)
self.view(request, pk=link.pk)
add_click.delay.assert_called_with(link.id, date(2014, 4, 7))
示例8: test_get_metric_total
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_get_metric_total(self):
"""
_get_metric_total should combine the aggregate data on the link
and the data stored in multiple data points.
"""
link = LinkFactory.create(aggregate_link_clicks=58)
DataPointFactory.create(link=link, link_clicks=5, date=aware_date(2014, 1, 1))
DataPointFactory.create(link=link, link_clicks=2, date=aware_date(2014, 1, 2))
DataPointFactory.create(link=link, link_clicks=87, date=aware_date(2014, 1, 3))
eq_(link._get_metric_total('link_clicks'), 58 + 5 + 2 + 87)
示例9: test_links
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_links(self):
"""
links should return a queryset of links related to any type of
banner variation within the category.
"""
category = CategoryFactory.create()
# Test against several variations, and multiple variations.
image_banner_variation1 = ImageBannerVariationFactory.create(banner__category=category)
image_banner_variation2 = ImageBannerVariationFactory.create(banner__category=category)
text_banner_variation = TextBannerVariationFactory.create(banner__category=category)
upgrade_banner_variation = FirefoxUpgradeBannerVariationFactory.create(banner__category=category)
# Create links from the variations.
image_link1 = LinkFactory.create(banner_variation=image_banner_variation1)
image_link2 = LinkFactory.create(banner_variation=image_banner_variation1)
image_link3 = LinkFactory.create(banner_variation=image_banner_variation2)
text_link = LinkFactory.create(banner_variation=text_banner_variation)
upgrade_link = LinkFactory.create(banner_variation=upgrade_banner_variation)
eq_(set([image_link1, image_link2, image_link3, text_link, upgrade_link]), set(category.links))
示例10: test_get_queryset
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_get_queryset(self):
"""
Available links should be limited to those owned by the current
user.
"""
request = self.factory.get('/')
request.user = UserFactory.create()
link1, link2 = LinkFactory.create_batch(2, user=request.user)
unowned_link = LinkFactory.create()
view = views.LinkDetailView()
view.request = request
qs = view.get_queryset()
ok_(link1 in qs)
ok_(link2 in qs)
ok_(unowned_link not in qs)
示例11: test_link_exists_datapoint_exists
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_link_exists_datapoint_exists(self):
"""
If a datapoint exists for the given date, increment it's
link_clicks value.
"""
link = LinkFactory.create()
datapoint = DataPointFactory.create(link=link, date=date(2014, 1, 1), link_clicks=7)
call_command('denormalize_metrics') # Ensure denormalized data.
add_click(link.id, date(2014, 1, 1))
datapoint = DataPoint.objects.get(pk=datapoint.pk)
eq_(datapoint.link_clicks, 8)
link = datapoint.link
eq_(link.link_clicks, 8)
banner = link.banner
eq_(banner.link_clicks, 8)
category = banner.category
eq_(category.link_clicks, 8)
示例12: test_get_object
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_get_object(self):
link = LinkFactory.create(legacy_banner_image_id=7)
view = views.LegacyLinkReferralView()
view.kwargs = {'user_id': unicode(link.user.id), 'banner_img_id': '7'}
eq_(view.get_object(), link)
示例13: test_link_exists_no_datapoint
# 需要导入模块: from affiliates.links.tests import LinkFactory [as 别名]
# 或者: from affiliates.links.tests.LinkFactory import create [as 别名]
def test_link_exists_no_datapoint(self):
"""If not datapoint for the given date exists, create one."""
link = LinkFactory.create()
add_click(link.id, date(2014, 4, 1))
datapoint = link.datapoint_set.get(date=date(2014, 4, 1))
eq_(datapoint.link_clicks, 1)