def generate(seed): reseed(seed) print('Generating PNI Homepage') pni_homepage = BuyersGuidePageFactory.create( parent=Homepage.objects.first(), title='* Privacy not included', slug='privacynotincluded', header='Be Smart. Shop Safe.', intro_text= ('How creepy is that smart speaker, that fitness tracker' ', those wireless headphones? We created this guide to help you shop for safe' ', secure connected products.'), ) print('Generating visual regression test products') create_general_product_visual_regression_product(seed, pni_homepage) create_software_product_visual_regression_product(seed, pni_homepage) print('Generating 52 ProductPages') for i in range(26): # General products general_page = GeneralProductPageFactory.create(parent=pni_homepage, ) fake_privacy_policy = ProductPagePrivacyPolicyLinkFactory( page=general_page) general_page.privacy_policy_links.add(fake_privacy_policy) general_page.save_revision().publish() # Software products software_page = SoftwareProductPageFactory.create( parent=pni_homepage, ) software_page.save_revision().publish() fake_privacy_policy = ProductPagePrivacyPolicyLinkFactory( page=software_page) software_page.privacy_policy_links.add(fake_privacy_policy) software_page.save_revision().publish() print('Crosslinking related products') product_pages = ProductPage.objects.all() total_product_pages = product_pages.count() for product_page in product_pages: # Create a new orderable 3 times. # Each page will be randomly selected from an existing factory page. for i in range(3): random_number = randint(1, total_product_pages) - 1 random_page = product_pages[random_number] related_product = RelatedProducts( page=product_page, related_product=random_page, ) related_product.save() product_page.related_product_pages.add(related_product) reseed(seed) print('Generating Buyer\'s Guide product updates') generate_fake_data(ProductUpdateFactory, 15) # TODO: link updates into products """
def generate(seed): reseed(seed) print('Generating PNI Homepage') pni_homepage = BuyersGuidePageFactory.create( parent=Homepage.objects.first(), title='* Privacy not included', slug='privacynotincluded', ) print('Generating visual regression test products') create_general_product_visual_regression_product(seed, pni_homepage) create_software_product_visual_regression_product(seed, pni_homepage) print('Generating 52 ProductPages') for i in range(26): # General products general_page = GeneralProductPageFactory.create(parent=pni_homepage,) fake_privacy_policy = ProductPagePrivacyPolicyLinkFactory(page=general_page) general_page.privacy_policy_links.add(fake_privacy_policy) general_page.save_revision().publish() # Software products software_page = SoftwareProductPageFactory.create(parent=pni_homepage,) software_page.save_revision().publish() fake_privacy_policy = ProductPagePrivacyPolicyLinkFactory(page=software_page) software_page.privacy_policy_links.add(fake_privacy_policy) software_page.save_revision().publish() print('Crosslinking related products') product_pages = ProductPage.objects.all() total_product_pages = product_pages.count() for product_page in product_pages: # Create a new orderable 3 times. # Each page will be randomly selected from an existing factory page. for i in range(3): random_number = randint(1, total_product_pages) - 1 random_page = product_pages[random_number] related_product = RelatedProducts( page=product_page, related_product=random_page, ) related_product.save() product_page.related_product_pages.add(related_product) reseed(seed) print('Generating Buyer\'s Guide product updates') generate_fake_data(ProductUpdateFactory, 15) # TODO: link updates into products """
def generate(seed): reseed(seed) home_page = get_homepage() try: blog_namespace = WagtailPage.objects.get(title='Blog') print('blog namespace exists') except WagtailPage.DoesNotExist: print('Generating a blog namespace') blog_namespace = BlogIndexPageFactory.create(parent=home_page, title='Blog', header='Blog', show_in_menus=True, live=True) print('Generating Blog Authors') generate_fake_data(BlogAuthorFactory, NUM_BLOG_AUTHORS) print('Generating blog posts under namespace') title = 'Initial test blog post with fixed title' post = None try: post = BlogPage.objects.get(title=title) except BlogPage.DoesNotExist: post = BlogPageFactory.create(parent=blog_namespace, title=title) add_tags(post) add_category(post) add_authors(post) for i in range(6): title = Faker('sentence', nb_words=6, variable_nb_words=False) post = None try: post = BlogPage.objects.get(title=title) except BlogPage.DoesNotExist: post = BlogPageFactory.create(parent=blog_namespace, title=title) add_tags(post) add_category(post) add_authors(post)
def generate(seed): reseed(seed) print('Generating Highlights') generate_fake_data(HighlightFactory, 10)
def generate(seed): reseed(seed) print( 'Generating fixed Buyer\'s Guide Product for visual regression testing' ) ProductFactory.create( adult_content=False, blurb='Visual Regression Testing', camera_app='Yes', camera_device='No', collects_biometrics='Yes', collects_biometrics_helptext='biometrics help text', company='Percy', delete_data=True, draft=False, email='*****@*****.**', live_chat='https://example.com/chat', location_app='U', location_device='NA', manage_vulnerabilities='Yes', meets_minimum_security_standards=True, microphone_app='Yes', microphone_device='No', name='percy cypress', parental_controls='NA', phone_number='1-555-555-5555', price=350, privacy_policy_reading_level_url='https://vrt.example.com/pprl', privacy_policy_reading_level='7', product_words=['Percy', 'Cypress'], security_updates='No', share_data=False, strong_password='******', url='https://vrt.example.com', uses_encryption='Yes', worst_case='Duplicate work that burns through screenshots', ) reseed(seed) print('Generating Buyer\'s Guide Products') generate_fake_data(ProductFactory, 70) reseed(seed) print('Generating Randomised Buyer\'s Guide Products Votes') for p in Product.objects.all(): for _ in range(1, 15): value = randint(1, 100) RangeVote.objects.create(product=p, attribute='creepiness', value=value) value = (random() < 0.5) BooleanVote.objects.create(product=p, attribute='confidence', value=value) reseed(seed) print('Aggregating Buyer\'s Guide Product votes') call_command('aggregate_product_votes')
def generate(seed): reseed(seed) print( 'Generating fixed Buyer\'s Guide GeneralProduct for visual regression testing' ) GeneralProductFactory.create( blurb='Visual Regression Testing', company='Percy', draft=False, email='*****@*****.**', live_chat='https://example.com/percy/chat', name='percy cypress', phone_number='1-555-555-5555', price=350, product_words=['Percy', 'Cypress'], url='https://example.com/percy', twitter='@TwitterHandle', worst_case='Duplicate work that burns through screenshots') print( 'Generating fixed Buyer\'s Guide SoftwareProduct for visual regression testing' ) SoftwareProductFactory.create( blurb='Visual Regression Testing', company='Percy', draft=False, email='*****@*****.**', live_chat='https://example.com/percy/chat', name='percy cypress app', phone_number='1-555-555-5555', price='| Free', product_words=['Percy', 'Cypress'], url='https://example.com/percy', twitter='@TwitterHandle', worst_case='Duplicate work that burns through screenshots') reseed(seed) print('Generating Buyer\'s Guide product updates') generate_fake_data(ProductUpdateFactory, 15) reseed(seed) print('Generating Buyer\'s Guide Products') generate_fake_data(GeneralProductFactory, 70) reseed(seed) print('Generating Randomised Buyer\'s Guide Products Votes') for p in Product.objects.all(): for _ in range(1, 15): value = randint(1, 100) RangeVote.objects.create(product=p, attribute='creepiness', value=value) value = (random() < 0.5) BooleanVote.objects.create(product=p, attribute='confidence', value=value) reseed(seed) print('Aggregating Buyer\'s Guide Product votes') call_command('aggregate_product_votes')
def generate(seed): reseed(seed) print('Generating Fake News') generate_fake_data(NewsFactory, 10)
def generate(seed): reseed(seed) print('Generating Content Authors') generate_fake_data(ContentAuthorFactory, NUM_CONTENT_AUTHORS)