Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions tests/ft/app/test_azure.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ def conf_base(mocker):
"host": HUB,
"auth": 0,
"sas": SAS,
"ca": mocker.ca_base64,
}


Expand Down Expand Up @@ -174,6 +175,13 @@ def conf_bad_fmt(conf_base):
}


@pytest.fixture(scope="function")
def conf_no_ca(conf_base):
conf = {**conf_base}
del conf["ca"]
return conf


@pytest.fixture(scope="function")
def conf_ssl_bad_ca(conf_ssl):
return {
Expand Down Expand Up @@ -230,6 +238,7 @@ class TestAzure:
"conf_bad_id",
"conf_bad_qos",
"conf_bad_fmt",
"conf_no_ca",
"conf_ssl_bad_ca",
"conf_ssl_no_cert",
"conf_ssl_bad_cert",
Expand Down
13 changes: 12 additions & 1 deletion tests/ft/app/test_mqtt.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@


@pytest.fixture(autouse=True, scope="class")
def mqtt_node():
def mqtt_node(class_setup_and_teardown):
otel_p = subprocess.Popen(
["python3", "otel_server.py", f'{otel_port}'], stderr=subprocess.PIPE, cwd="simulator")
api.add_node_check(NODE, "MQTT")
Expand Down Expand Up @@ -184,6 +184,7 @@ def conf_emqx_ssl(conf_base, mocker):
"host": "broker.emqx.io",
"port": 8883,
"ssl": True,
"ca": mocker.ca_base64,
}


Expand Down Expand Up @@ -262,6 +263,15 @@ def conf_bad_fmt(conf_base):
}


@pytest.fixture(scope="function")
def conf_ssl_no_ca(conf_base, mocker):
return {
**conf_base,
"port": mocker.ssl_port,
"ssl": True,
}


@pytest.fixture(scope="function")
def conf_ssl_bad_ca(conf_ssl1):
return {
Expand Down Expand Up @@ -374,6 +384,7 @@ class TestMQTT:
"conf_bad_id",
"conf_bad_qos",
"conf_bad_fmt",
"conf_ssl_no_ca",
"conf_ssl_bad_ca",
"conf_ssl_bad_cert",
"conf_ssl_no_key",
Expand Down
40 changes: 40 additions & 0 deletions tests/ft/conftest.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import inspect

import pytest

import neuron.api as api
import neuron.config as config
import neuron.process as process


def pytest_addoption(parser):
parser.addoption(
Expand All @@ -10,3 +16,37 @@ def pytest_addoption(parser):
@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()
2 changes: 1 addition & 1 deletion tests/ft/group/test_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def test_delete_group(self):

@description(given="existent node", when="add group with interval < 100 under existent node", then="add failed")
def test_add_group_wrong_interval(self):
response = api.add_group(node="modbus-tcp", group='group', interval=99)
response = api.add_group(node="modbus-tcp", group='group-bad-interval', interval=99)
assert 400 == response.status_code
assert NEU_ERR_GROUP_PARAMETER_INVALID == response.json()['error']

Expand Down
Loading