Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/webapp/webapp/features/terrain.py
blob: ed52bf61663081ae45014cb3e50c091f175d5c3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from lettuce import world, before, after
from splinter import Browser
from fabric.api import local
from fabric.context_managers import hide
from django.conf import settings
from django.core import management

from utils.test import remove_option_images_dir


@before.all
def set_browser():
    world.browser = Browser('phantomjs')


@after.all
def exit_browser(total):
    world.browser.quit()


def drop_mongo():
    db = settings.MONGO_SETTINGS['NAME']
    with hide('running'):
        cmd = "mongo {mongo_db} --eval 'db.dropDatabase()' > /dev/null"
        local(cmd.format(mongo_db=db))


def drop_sqlite():
    management.call_command('flush', interactive=False, verbosity=0)


def load_fixture(fixture_name):
    management.call_command('loaddata', fixture_name, interactive=False,
                            verbosity=0)


@before.each_feature
def before_each_feature(feature):
    """This is the main lettuce hook "@before.each_feature"."""
    drop_mongo()
    drop_sqlite()
    if feature.name in ("Researcher adds images to options",
                        "Researcher can't modify poll's structure"):
        load_fixture("generic_researcher")


@after.each_feature
def after_each_feature(feature):
    remove_option_images_dir()