mirror of
https://github.com/emqx/neuron.git
synced 2026-10-16 20:30:39 +08:00
53 lines
1.3 KiB
Python
53 lines
1.3 KiB
Python
import pytest
|
|
|
|
import inspect
|
|
|
|
import neuron.api as api
|
|
import neuron.config as config
|
|
import neuron.process as process
|
|
|
|
|
|
def pytest_addoption(parser):
|
|
parser.addoption(
|
|
"--env", default="github", choices=["github", "test"], help="enviroment parameter"
|
|
)
|
|
|
|
|
|
@pytest.fixture(autouse=True, scope="session")
|
|
def get_envx(request):
|
|
return request.config.getoption("--env")
|
|
|
|
|
|
def _refresh_default_jwt(token):
|
|
old_jwt = config.default_jwt
|
|
new_jwt = f"Bearer {token}"
|
|
|
|
config.default_jwt = new_jwt
|
|
|
|
for _, func in inspect.getmembers(api, inspect.isfunction):
|
|
defaults = func.__defaults__
|
|
if defaults:
|
|
func.__defaults__ = tuple(
|
|
new_jwt if value == old_jwt else value for value in defaults
|
|
)
|
|
|
|
kwdefaults = func.__kwdefaults__
|
|
if kwdefaults:
|
|
func.__kwdefaults__ = {
|
|
key: new_jwt if value == old_jwt else value
|
|
for key, value in kwdefaults.items()
|
|
}
|
|
|
|
|
|
@pytest.fixture(autouse=True, scope="session")
|
|
def init_default_jwt():
|
|
process.remove_persistence()
|
|
neuron = process.NeuronProcess()
|
|
neuron.start()
|
|
|
|
response = api.login()
|
|
assert 200 == response.status_code
|
|
_refresh_default_jwt(response.json()["token"])
|
|
|
|
neuron.stop()
|