Skip to content

Commit 55b2a82

Browse files
committed
Handle Node.js SSI runtime support by tracer major
1 parent 3f228d6 commit 55b2a82

3 files changed

Lines changed: 29 additions & 7 deletions

File tree

tests/docker_ssi/test_docker_ssi.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@
1414
)
1515

1616

17+
_NODEJS_V6_OR_LATER = context.library == "nodejs" and context.library.version.major >= 6
18+
_NODEJS_UNSUPPORTED_RUNTIME = context.library == "nodejs" and (
19+
(_NODEJS_V6_OR_LATER and context.installed_language_runtime < "22.0")
20+
or (not _NODEJS_V6_OR_LATER and context.installed_language_runtime < "12.17.0")
21+
)
22+
_NODEJS_ABORT_IRRELEVANT = context.library == "nodejs" and not _NODEJS_UNSUPPORTED_RUNTIME
23+
24+
1725
@scenarios.docker_ssi
1826
class TestDockerSSIFeatures:
1927
"""Test the ssi in a simulated host injection environment (docker container + test agent)
@@ -42,7 +50,7 @@ def setup_install_supported_runtime(self):
4250
@irrelevant(context.library == "python" and context.installed_language_runtime < "3.8.0")
4351
@irrelevant(context.library == "java" and context.installed_language_runtime < "1.8.0_0")
4452
@irrelevant(context.library == "php" and context.installed_language_runtime < "7.0")
45-
@irrelevant(context.library == "nodejs" and context.installed_language_runtime < "22.0")
53+
@irrelevant(_NODEJS_UNSUPPORTED_RUNTIME)
4654
@irrelevant(context.library >= "python@4.0.0rc1" and context.installed_language_runtime < "3.9.0")
4755
@irrelevant(context.library == "ruby" and context.installed_language_runtime < "2.6.0")
4856
def test_install_supported_runtime(self):
@@ -77,7 +85,7 @@ def test_install_weblog_running(self):
7785
)
7886
@irrelevant(context.library == "java" and context.installed_language_runtime < "1.8.0_0")
7987
@irrelevant(context.library == "php" and context.installed_language_runtime < "7.0")
80-
@irrelevant(context.library == "nodejs" and context.installed_language_runtime < "22.0")
88+
@irrelevant(_NODEJS_UNSUPPORTED_RUNTIME)
8189
@irrelevant(context.library >= "python@4.0.0rc1" and context.installed_language_runtime < "3.9.0")
8290
@irrelevant(context.library == "ruby" and context.installed_language_runtime < "2.6.0")
8391
def test_telemetry(self):
@@ -106,7 +114,7 @@ def test_telemetry(self):
106114
@irrelevant(context.library == "php" and context.installed_language_runtime >= "7.0")
107115
@bug(context.library == "nodejs" and context.installed_language_runtime < "12.17.0", reason="INPLAT-252")
108116
@bug(context.library == "java" and context.installed_language_runtime == "1.7.0-201", reason="INPLAT-427")
109-
@irrelevant(context.library == "nodejs" and context.installed_language_runtime >= "22.0")
117+
@irrelevant(_NODEJS_ABORT_IRRELEVANT)
110118
@irrelevant(context.library == "dotnet" and context.installed_language_runtime >= "6.0.0")
111119
@irrelevant(context.library == "ruby" and context.installed_language_runtime >= "2.6.0")
112120
def test_telemetry_abort(self):
@@ -145,7 +153,7 @@ def setup_instrumentation_source_ssi(self):
145153
@irrelevant(context.library == "python" and context.installed_language_runtime < "3.9.0")
146154
@irrelevant(context.library == "java" and context.installed_language_runtime < "1.8.0_0")
147155
@irrelevant(context.library == "php" and context.installed_language_runtime < "7.1")
148-
@irrelevant(context.library == "nodejs" and context.installed_language_runtime < "22.0")
156+
@irrelevant(_NODEJS_UNSUPPORTED_RUNTIME)
149157
@irrelevant(context.library >= "python@4.0.0.dev" and context.installed_language_runtime < "3.9.0")
150158
@irrelevant(context.library < "python@4.0.0.dev" and context.installed_language_runtime < "3.8.0")
151159
@irrelevant(context.library == "ruby" and context.installed_language_runtime < "2.6.0")
@@ -168,7 +176,7 @@ def setup_injection_metadata(self):
168176
@irrelevant(context.library == "python" and context.installed_language_runtime < "3.8.0")
169177
@irrelevant(context.library == "java" and context.installed_language_runtime < "1.8.0_0")
170178
@irrelevant(context.library == "php" and context.installed_language_runtime < "7.1")
171-
@irrelevant(context.library == "nodejs" and context.installed_language_runtime < "22.0")
179+
@irrelevant(_NODEJS_UNSUPPORTED_RUNTIME)
172180
@irrelevant(context.library >= "python@4.0.0rc1" and context.installed_language_runtime < "3.9.0")
173181
def test_injection_metadata(self):
174182
logger.info("Testing injection result variables")

tests/docker_ssi/test_docker_ssi_appsec.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
from utils import scenarios, interfaces, weblog, features, irrelevant, context
55

66

7+
_NODEJS_V6_OR_LATER = context.library == "nodejs" and context.library.version.major >= 6
8+
_NODEJS_UNSUPPORTED_RUNTIME = context.library == "nodejs" and (
9+
(_NODEJS_V6_OR_LATER and context.installed_language_runtime < "22.0")
10+
or (not _NODEJS_V6_OR_LATER and context.installed_language_runtime < "12.17.0")
11+
)
12+
13+
714
@features.appsec_service_activation_origin_metric
815
@scenarios.docker_ssi_appsec
916
class TestDockerSSIAppsecFeatures:
@@ -17,7 +24,7 @@ def setup_telemetry_source_ssi(self):
1724

1825
@irrelevant(context.library == "java" and context.installed_language_runtime < "1.8.0_0")
1926
@irrelevant(context.library == "php" and context.installed_language_runtime < "7.1")
20-
@irrelevant(context.library == "nodejs" and context.installed_language_runtime < "22.0")
27+
@irrelevant(_NODEJS_UNSUPPORTED_RUNTIME)
2128
@irrelevant(context.library >= "python@4.0.0.dev" and context.installed_language_runtime < "3.9.0")
2229
@irrelevant(context.library < "python@4.0.0.dev" and context.installed_language_runtime < "3.8.0")
2330
@irrelevant(context.library == "ruby" and context.installed_language_runtime < "2.6.0", reason="Ruby 2.6+ required")

tests/docker_ssi/test_docker_ssi_crash.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@
1010
from utils import weblog, logger
1111

1212

13+
_NODEJS_V6_OR_LATER = context.library == "nodejs" and context.library.version.major >= 6
14+
_NODEJS_UNSUPPORTED_RUNTIME = context.library == "nodejs" and (
15+
(_NODEJS_V6_OR_LATER and context.installed_language_runtime < "22.0")
16+
or (not _NODEJS_V6_OR_LATER and context.installed_language_runtime < "12.17.0")
17+
)
18+
19+
1320
@scenarios.docker_ssi_crashtracking
1421
class TestDockerSSICrash:
1522
"""Test the ssi in a simulated host injection environment (docker container + test agent)
@@ -36,7 +43,7 @@ def setup_crash(self):
3643

3744
@features.ssi_crashtracking
3845
@irrelevant(context.library == "python" and context.installed_language_runtime < "3.7.0")
39-
@irrelevant(context.library == "nodejs" and context.installed_language_runtime < "22.0")
46+
@irrelevant(_NODEJS_UNSUPPORTED_RUNTIME)
4047
@irrelevant(context.library == "ruby" and context.installed_language_runtime < "2.6.0")
4148
def test_crash(self):
4249
"""Validate that a crash report is generated when the application crashes"""

0 commit comments

Comments
 (0)