def handle(self, *args, **options):
random.seed(12345)
if options.get('list_scenarios'):
self.stdout.write('Scenarios:\n')
for num, (_, name) in enumerate(DashboardStates()):
self.stdout.write(" {:03}_{}\n".format(num, name))
return
os.environ['DJANGO_LIVE_TEST_SERVER_ADDRESS'] = '0.0.0.0:7000-8000'
if not os.environ.get('WEBPACK_DEV_SERVER_HOST'):
# This should only happen if the user is running in an environment without Docker, which isn't allowed
# for this command.
raise Exception('Missing environment variable WEBPACK_DEV_SERVER_HOST.')
if os.environ.get('RUNNING_SELENIUM') != 'true':
raise Exception(
"This management command must be run with ./scripts/test/run_snapshot_dashboard_states.sh"
)
# We need to use pytest here instead of invoking the tests directly so that the test database
# is used. Using override_settings(DATABASE...) causes a warning message and is not reliable.
global RUNNING_DASHBOARD_STATES # pylint: disable=global-statement
RUNNING_DASHBOARD_STATES = True
global DASHBOARD_STATES_OPTIONS # pylint: disable=global-statement
DASHBOARD_STATES_OPTIONS = options
with override_settings(
ELASTICSEARCH_INDEX='testindex',
):
pytest_args = ["{}::test_dashboard_states".format(__file__), "-s"]
if options.get('create_db'):
pytest_args.append('--create-db')
sys.exit(pytest.main(args=pytest_args))
评论列表
文章目录