def test_content(response):
"""Sample pytest test function with the pytest fixture as an argument.
"""
# from bs4 import BeautifulSoup
# assert 'GitHub' in BeautifulSoup(response.content).title.string
python类fixture()的实例源码
def redirect_form(self):
"""Helper fixture for initializing `RedirectModelForm`"""
return RedirectModelForm()
def spinnaker_pipeline(mock_os, mock_get_details, mock_get_prop):
"""Sets up pipeline fixture object"""
mock_get_prop.return_value = TEST_SETTINGS
pipelineObj = SpinnakerPipeline(
app='appgroup',
trigger_job='a_group_app', )
pipelineObj.generated = 'test'
pipelineObj.app_name = 'appgroup'
pipelineObj.group_name = 'group'
return pipelineObj
def test_gif_api_call_functions(self, json_filename):
if 'translate' in json_filename:
resp = gif_translate(string='doge', api_key='dc6zaTOxFJmzC')
expected = load_json("translate_{}.json".format(self.status))
elif 'random' in json_filename:
resp = gif_random(tag='doge', api_key='dc6zaTOxFJmzC')
expected = load_json("random_{}.json".format(self.status))
else:
raise ValueError
expected = self.json
# status code
assert resp.status_code == 200
# json is the same between fixture and request
for item in expected:
assert item in resp.json()
def test_gif_api_call_functions_return(self, json_filename):
if 'translate' in json_filename:
resp = gif_translate(api_key='abc', string='doge')
expected = load_json("translate_{}.json".format(self.status))
elif 'random' in json_filename:
resp = gif_random(api_key='abc', tag='doge')
expected = load_json("random_{}.json".format(self.status))
else:
raise ValueError
expected = self.json
# status code
assert resp.status_code == 403
# json is the same between fixture and request
for item in expected:
assert item in resp.json()
def model(model):
"""Override fixture defined in conftest.py, return a model
with values set for some of its variables.
"""
model.grid.x_size.value = 10
model.quantity.quantity.state = np.zeros(10)
model.some_process.some_param.value = 1
return model
def setup(monkeypatch, local_empty):
"""Set __main__.NO_EXECUTE to True before every test in this module and sets CWD to an empty git repo.
:param monkeypatch: pytest fixture.
:param local_empty: conftest fixture.
"""
monkeypatch.setattr('sphinxcontrib.versioning.__main__.NO_EXECUTE', True)
monkeypatch.chdir(local_empty)
def test_overflow(local_empty, push, source_cli, source_conf):
"""Test -- overflow to sphinx-build.
:param local_empty: conftest fixture.
:param bool push: Run push sub command instead of build.
:param bool source_cli: Set value from command line arguments.
:param bool source_conf: Set value from conf.py file.
"""
if push:
args = ['push', 'docs', 'gh-pages', '.']
else:
args = ['build', 'docs', join('docs', '_build', 'html')]
# Setup source(s).
if source_cli:
args += ['--', '-D', 'setting=value']
if source_conf:
local_empty.ensure('docs', 'contents.rst')
local_empty.ensure('docs', 'conf.py').write('scv_overflow = ("-D", "key=value")')
# Run.
result = CliRunner().invoke(cli, args)
config = result.exception.args[0]
# Verify.
if source_cli:
assert config.overflow == ('-D', 'setting=value')
elif source_conf:
assert config.overflow == ('-D', 'key=value')
else:
assert config.overflow == tuple()
def config(monkeypatch):
"""Mock config from Click context.
:param monkeypatch: pytest fixture.
:return: Config instance.
:rtype: sphinxcontrib.versioning.lib.Config
"""
instance = Config()
ctx = type('', (), {'find_object': staticmethod(lambda _: instance)})
monkeypatch.setattr('click.get_current_context', lambda: ctx)
return instance
def fx_local_empty(tmpdir):
"""Local git repository with no commits.
:param tmpdir: pytest fixture.
:return: Path to repo root.
:rtype: py.path.local
"""
repo = tmpdir.ensure_dir('local')
run(repo, ['git', 'init'])
return repo
def fx_local_commit(local_empty):
"""Local git repository with one commit.
:param local_empty: local fixture.
:return: Path to repo root.
:rtype: py.path.local
"""
local_empty.join('README').write('Dummy readme file.')
run(local_empty, ['git', 'add', 'README'])
run(local_empty, ['git', 'commit', '-m', 'Initial commit.'], environ=author_committer_dates(0))
return local_empty
def TestPageTitleStructure():
@pytest.fixture(scope="class")
def title():
return PageTitle(id='id', text='test')
def test_widget_abstract_pagetitle_html_tag(self, title):
assert title.html_tag == 'title', 'PageTitle should set PageTitle.html_tag = "title"'
def test_widget_abstract_pagetitle_sets_content(self, title):
assert title.content == 'test', 'PageTitle.build() should set PagetTitle.content.'
def TestScriptStructure():
@pytest.fixture(scope="class")
def script():
return Script(js_path="//js")
def test_widget_abstract_script_html_tag(self, script):
assert script.html_tag == 'script', 'Script should set Script.html_tag = "script".'
def test_widget_abstract_script_has_source(self, script):
assert hasattr('source', script) and isinstance(script.__class__.source, property)
def test_widget_abstract_script_sets_source(self, script):
assert script.source == '//js', "Script.build() should set Script.source."
def df_train(spark_context, hive_context):
# TODO: Use some fixture dataset representing real-ish data? But
# it needs to be pretty small
return spark_context.parallelize(
_make_q('abc') + _make_q('def') + _make_q('ghi') + _make_q('jkl')
+ _make_q('mno') + _make_q('pqr') + _make_q('stu')
).toDF(['wikiid', 'norm_query_id', 'query', 'label', 'features'])
def df_train(spark_context, hive_context):
# TODO: Use some fixture dataset representing real-ish data? But
# it needs to be pretty small
return spark_context.parallelize(
_make_q('abc') + _make_q('def') + _make_q('ghi') + _make_q('jkl')
+ _make_q('mno') + _make_q('pqr') + _make_q('stu')
).toDF(['wikiid', 'norm_query_id', 'query', 'label', 'features'])
def SCdata():
"""SWEET-Cat database fixture."""
return readSC()
def planetStardata():
"""SWEET-Cat + ExoplanetEU + database fixture."""
return planetAndStar()
def master(setup):
config, initconfig = setup
master = config['masters'][0]['fixture']
def _cmd(master, cmd):
SSH = "salt-ssh -l quiet -i --out json --key-deploy --passwd {0} {1} {{0}}".format(
PASSWORD, TARGET_ID)
return json.loads(master['container'].run(SSH.format(cmd))).get(TARGET_ID)
master.salt_ssh = partial(_cmd, master)
return master