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
    """
Ejemplo n.º 2
0
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

    """
Ejemplo n.º 3
0
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)
Ejemplo n.º 5
0
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')
Ejemplo n.º 6
0
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)
Ejemplo n.º 8
0
def generate(seed):
    reseed(seed)

    print('Generating Content Authors')
    generate_fake_data(ContentAuthorFactory, NUM_CONTENT_AUTHORS)