Example #1
0
def auth_app(db, basic_fixture):
    setup = DatabaseDataFactory()
    setup.setup_accounts(auth_test_accounts)
    setup.setup_users(auth_test_users)
    setup.setup_landing_pages(auth_test_lpages)
    setup.setup_campaigns(auth_test_campaigns)
    return App(db, setup)
Example #2
0
def audit_app(basic_fixture):
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_fbx_pages()
    setup.models['brand']['test_fbx_page_2'].delete()
    return setup
Example #3
0
def setup_db(db):
    suite = DatabaseDataFactory()
    suite.setup_accounts(accounts)
    suite.setup_users(users)
    suite.setup_creative_images(creatives)

    return suite
Example #4
0
def user_db(request, transactional_db):
    '''Initializes database with user data'''
    from ui.tests.utils import DatabaseDataFactory

    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()

    return setup
Example #5
0
def inactive_user_db(request, transactional_db):
    '''
    Initializes database with user data.
    :returns: saved user instance.
    '''
    from ui.tests.utils import DatabaseDataFactory

    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users(inactive_user)

    return setup
Example #6
0
def state_app(db, basic_fixture):
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_payments()
    setup.setup_landing_pages()
    setup.setup_creative_images()
    setup.setup_campaigns()
    setup.setup_strategies()
    setup.setup_bidding_periods()
    setup.setup_adverts()
    return setup
Example #7
0
def budget_app(db, basic_fixture):
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_landing_pages()
    setup.setup_campaigns()
    setup.setup_strategies()
    return App(db, setup)
Example #8
0
def publishertargetvalues_db(db):
    db_factory = DatabaseDataFactory()
    db_factory.setup_segments()

    networks = [
        {
            'category': dimensions.g_publisher,
            'exchange': EXCHANGES.appnexus,
            'values': ('Application', 'Rubicon'),
            'represented_values': ('app', '23')
        },
        {
            'category': dimensions.g_publisher,
            'exchange': EXCHANGES.appnexus,
            'values': ('Web', 'Rubicon'),
            'represented_values': ('site', '23')
        },
        {
            'category': dimensions.g_publisher,
            'exchange': EXCHANGES.nexage,
            'values': ('Application', 'Nexage'),
            'represented_values': ('app', NEXAGE_NETWORK_ID)
        },
        {
            'category': dimensions.g_publisher,
            'exchange': EXCHANGES.nexage,
            'values': ('Web', 'Nexage'),
            'represented_values': ('site', NEXAGE_NETWORK_ID)
        },
    ]
    networks_app = db_factory.setup_targetvalues(networks,
                                                 PublisherTargetValue)

    publishers_app = [
        {
            'category': dimensions.g_publisher,
            'exchange': EXCHANGES.appnexus,
            'values': ('Application', 'Rubicon', 'Nincja Fruit'),
            'represented_values': ('app', '23', 'Nincja Fruit')
        },
        {
            'category': dimensions.g_publisher,
            'exchange': EXCHANGES.nexage,
            'values': ('Application', 'Nexage', 'Ninja Fruit'),
            'represented_values': ('app', NEXAGE_NETWORK_ID, 'Ninja Fruit')
        },
    ]
    publishers_app = db_factory.setup_targetvalues(publishers_app,
                                                   PublisherTargetValue)

    publishers_site = [
        {
            'category': dimensions.g_publisher,
            'exchange': EXCHANGES.appnexus,
            'values': ('Web', 'Rubicon', 'rafalmichal.com'),
            'represented_values': ('site', '23', 'rafalmichal.com')
        },
        {
            'category': dimensions.g_publisher,
            'exchange': EXCHANGES.nexage,
            'values': ('Web', 'Nexage', 'rafalmichal.com'),
            'represented_values':
            ('site', NEXAGE_NETWORK_ID, 'rafalmichal.com')
        },
    ]
    publishers_site = db_factory.setup_targetvalues(publishers_site,
                                                    PublisherTargetValue)

    # setup restrictions
    def _add_restrictions(publisher):
        segment = AppNexusSegment.objects.brand_protection().get(
            appnexus_id=94999)

        if publisher.exchange == EXCHANGES.appnexus:
            positions = ['above']
        else:
            positions = ['1']

        publisher.sizes = ['500x40', '600x80']
        publisher.positions = positions
        publisher.save()
        publisher.segments.add(segment)

        return publisher

    map(_add_restrictions, publishers_app)
    map(_add_restrictions, publishers_site)

    return {
        'setup': db_factory,
        'networks_app': networks_app,
        'publishers_app': publishers_app,
        'publishers_site': publishers_site
    }
Example #9
0
def bidding_app(db):
    """Extension of default setup by storing additional bidding periods"""
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_creative_images()
    setup.setup_landing_pages()
    setup.setup_campaigns()
    setup.setup_strategies()
    setup.setup_bidding_periods()
    setup.setup_adverts()
    return setup
Example #10
0
def video_app(basic_fixture):
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_landing_pages()
    setup.setup_campaigns()
    setup.setup_strategies()
    setup.setup_creative_videos()
    setup.setup_adverts([
        {
            'name': 'ad_blueberry',
            'strategy': 'han i has a pumpkin?',
            'creative': 'creative_video_1',
            'url': 'http://www.wp.pl/',
        },
    ])
    return setup
Example #11
0
def bidding_app(db):
    """Extension of default setup by storing additional bidding periods"""
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_creative_images()
    setup.setup_landing_pages()
    setup.setup_campaigns()
    setup.setup_strategies()
    setup.setup_bidding_periods()
    setup.setup_adverts()

    bp1 = make_bidding_period((19, 0), (20, 0), 'han i has a pumpkin?', None,
                              setup)
    bp1.save()
    setup.models['bidding_period']['additional_bp1'] = bp1

    bp2 = make_bidding_period((22, 0), (23, 0), 'han i has a pumpkin?', None,
                              setup)
    bp2.save()
    setup.models['bidding_period']['additional_bp2'] = bp2
    return setup
Example #12
0
def site_data(db):
    data = DatabaseDataFactory()
    data.setup_accounts(accounts)
    data.setup_users(users)
    data.setup_landing_pages(sites)
    data.setup_campaigns(campaigns)
    data.setup_strategies(strategies)
    strategy = Strategy.objects.get(name=strategies[0]['name'])
    strategy.landing_sites_def = [{
        'url': sites[2]['url'],
        'weight': 1,
        'custom_variable': None
    }]
    strategy.save()
    return data
Example #13
0
def db_setup(request, db, client):
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_landing_pages()
    setup.setup_campaigns()
    setup.setup_strategies()
    setup.setup_bidding_periods()
    client.login(username=user[0]['username'], password=user[0]['password'])

    def teardown():
        client.logout()

    request.addfinalizer(teardown)
    return setup
Example #14
0
def audit_app(request, basic_fixture):
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_fbx_pages()
    setup.setup_landing_pages()
    setup.setup_campaigns()
    setup.setup_strategies()
    setup.setup_creative_images()
    setup.setup_creative_fbx()
    setup.setup_creative_fbx_news_feed()
    setup.setup_creative_flash()
    setup.setup_creative_videos()
    setup.setup_payments(default_payments)
    return setup
Example #15
0
def audit_app(db, basic_fixture):
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()

    landing_pages = default_landing_page \
        + [{'owner': 'acc', 'url': 'http://www.onet.com/'}]
    setup.setup_landing_pages(landing_pages)

    campaigns = default_campaign + [{
        'name': 'Meat',
        'account': 'acc',
        'budget_total': 8000,
        'start_UTC': '2013-01-01T00:00',
        'end_UTC': '2013-01-31T00:00',
        'landing_site': 'http://www.onet.com/'
    }]
    setup.setup_campaigns(campaigns)
    strategies = default_strategies + [{
        'name': 'Roast beef',
        'campaign': 'Meat',
        'budget_total': 67676,
        'budget_bid_CPM': 0.1
    }]
    setup.setup_strategies(strategies)
    setup.setup_creative_images()
    setup.setup_creative_flash()
    return setup
Example #16
0
def audit_low_budget(db, basic_fixture):
    amount = AUDIT_FEE * Decimal(0.8)
    payments = [{
        'account': 'acc',
        'datetime': '2014-02-10T00:00',
        'amount': amount
    }, {
        'account': 'acc_2',
        'datetime': '2014-01-11T00:00',
        'amount': amount
    }]
    creative = [{
        'name': 'creative_image_1',
        'owner': 'acc',
        'width': 300,
        'height': 250,
        'image': 'creatives/test_creative.jpg'
    }]
    adverts = [
        {
            'name': 'ad_lemon',
            'strategy': 'Hello this is Citrus',
            'creative': 'creative_image_1',
            'url': 'http://www.google.com/',
        },
        {
            'name': 'ad_orange',
            'strategy': 'Hello this is Citrus',
            'creative': 'creative_image_1',
            'url': 'http://www.wp.pl/',
        },
    ]
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_payments(payments)
    setup.setup_landing_pages()
    setup.setup_creative_images(creative)
    setup.setup_campaigns_running()
    setup.setup_strategies()
    setup.setup_bidding_periods()
    setup.setup_adverts(adverts)

    return setup
Example #17
0
def profile_app(db):
    """Database setup with active strategies"""
    setup = DatabaseDataFactory()
    setup.setup_accounts()
    setup.setup_users()
    setup.setup_creative_images()
    setup.setup_landing_pages()
    setup.setup_campaigns_running()
    setup.setup_strategies()
    setup.setup_bidding_periods()
    setup.setup_adverts()
    setup.setup_payments()

    for creative in setup.models['creative'].values():
        audit_creative(creative)

    return setup