Skip to content

Commit a0210e3

Browse files
committed
Review update
1 parent 2657b40 commit a0210e3

File tree

8 files changed

+53
-57
lines changed

8 files changed

+53
-57
lines changed

behave_framework/src/minifi_test_framework/containers/minifi_container.py

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -97,26 +97,6 @@ def set_log_property(self, key: str, value: str):
9797
def enable_openssl_fips_mode(self):
9898
self.properties["nifi.openssl.fips.support.enable"] = "true"
9999

100-
def enable_c2(self):
101-
self.properties["nifi.c2.enable"] = "true"
102-
self.properties["nifi.c2.rest.url"] = f"http://minifi-c2-server-{self.scenario_id}:10090/c2/config/heartbeat"
103-
self.properties["nifi.c2.rest.url.ack"] = f"http://minifi-c2-server-{self.scenario_id}:10090/c2/config/acknowledge"
104-
self.properties["nifi.c2.flow.base.url"] = f"http://minifi-c2-server-{self.scenario_id}:10090/c2/config/"
105-
self.properties["nifi.c2.root.classes"] = "DeviceInfoNode,AgentInformation,FlowInformation,AssetInformation"
106-
self.properties["nifi.c2.full.heartbeat"] = "false"
107-
self.properties["nifi.c2.agent.class"] = "minifi-test-class"
108-
self.properties["nifi.c2.agent.identifier"] = "minifi-test-id"
109-
110-
def enable_c2_with_ssl(self):
111-
self.properties["nifi.c2.enable"] = "true"
112-
self.properties["nifi.c2.rest.url"] = f"https://minifi-c2-server-{self.scenario_id}:10090/c2/config/heartbeat"
113-
self.properties["nifi.c2.rest.url.ack"] = f"https://minifi-c2-server-{self.scenario_id}:10090/c2/config/acknowledge"
114-
self.properties["nifi.c2.flow.base.url"] = f"https://minifi-c2-server-{self.scenario_id}:10090/c2/config/"
115-
self.properties["nifi.c2.root.classes"] = "DeviceInfoNode,AgentInformation,FlowInformation,AssetInformation"
116-
self.properties["nifi.c2.full.heartbeat"] = "false"
117-
self.properties["nifi.c2.agent.class"] = "minifi-test-class"
118-
self.properties["nifi.c2.agent.identifier"] = "minifi-test-id"
119-
120100
def fetch_flow_config_from_flow_url(self):
121101
self.properties["nifi.c2.flow.url"] = f"http://minifi-c2-server-{self.scenario_id}:10090/c2/config?class=minifi-test-class"
122102

behave_framework/src/minifi_test_framework/steps/checking_steps.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -249,11 +249,3 @@ def step_impl(context: MinifiTestContext, container_name: str, directory: str, s
249249
def step_impl(context: MinifiTestContext, directory: str, size: str, duration: str):
250250
context.execute_steps(
251251
f'Then in the "{DEFAULT_MINIFI_CONTAINER_NAME}" container at least one file with minimum size of "{size}" is placed in the "{directory}" directory in less than {duration}')
252-
253-
254-
@then("the MiNiFi C2 server logs contain the following message: \"{log_message}\" in less than {duration}")
255-
def step_impl(context: MinifiTestContext, log_message: str, duration: str):
256-
duration_seconds = humanfriendly.parse_timespan(duration)
257-
assert wait_for_condition(condition=lambda: log_message in context.containers["minifi-c2-server"].get_logs(),
258-
timeout_seconds=duration_seconds, bail_condition=lambda: context.containers["minifi-c2-server"].exited,
259-
context=context)

behave_framework/src/minifi_test_framework/steps/core_steps.py

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
from minifi_test_framework.containers.directory import Directory
3131
from minifi_test_framework.containers.file import File
3232
from minifi_test_framework.core.minifi_test_context import DEFAULT_MINIFI_CONTAINER_NAME, MinifiTestContext
33-
from minifi_test_framework.containers.minifi_c2_server_container import MinifiC2Server
3433

3534

3635
@when("both instances start up")
@@ -115,33 +114,6 @@ def step_impl(context: MinifiTestContext):
115114
context.containers["nifi"] = NifiContainer(context)
116115

117116

118-
@given("C2 is enabled in MiNiFi")
119-
def step_impl(context: MinifiTestContext):
120-
context.get_or_create_default_minifi_container().enable_c2()
121-
122-
123117
@given("flow configuration path is set up in flow url property")
124118
def step_impl(context: MinifiTestContext):
125119
context.get_or_create_default_minifi_container().fetch_flow_config_from_flow_url()
126-
127-
128-
@given("ssl properties are set up for MiNiFi C2 server")
129-
def step_impl(context: MinifiTestContext):
130-
context.get_or_create_default_minifi_container().enable_c2_with_ssl()
131-
context.get_or_create_default_minifi_container().set_up_ssl_properties()
132-
133-
134-
@given("a MiNiFi C2 server is set up")
135-
def step_impl(context: MinifiTestContext):
136-
context.containers["minifi-c2-server"] = MinifiC2Server(context)
137-
138-
139-
@given("a MiNiFi C2 server is set up with SSL")
140-
def step_impl(context: MinifiTestContext):
141-
context.containers["minifi-c2-server"] = MinifiC2Server(context, ssl=True)
142-
143-
144-
@given("a MiNiFi C2 server is started")
145-
def step_impl(context: MinifiTestContext):
146-
context.containers["minifi-c2-server"] = MinifiC2Server(context)
147-
assert context.containers["minifi-c2-server"].deploy()

behave_framework/src/minifi_test_framework/containers/minifi_c2_server_container.py renamed to extensions/standard-processors/tests/features/steps/minifi_c2_server_container.py

File renamed without changes.

behave_framework/src/minifi_test_framework/containers/resources/minifi-c2-server/authorizations.yaml renamed to extensions/standard-processors/tests/features/steps/resources/minifi-c2-server/authorizations.yaml

File renamed without changes.

behave_framework/src/minifi_test_framework/containers/resources/minifi-c2-server/c2.properties renamed to extensions/standard-processors/tests/features/steps/resources/minifi-c2-server/c2.properties

File renamed without changes.

behave_framework/src/minifi_test_framework/containers/resources/minifi-c2-server/config.yml renamed to extensions/standard-processors/tests/features/steps/resources/minifi-c2-server/config.yml

File renamed without changes.

extensions/standard-processors/tests/features/steps/steps.py

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,19 @@
1515
# limitations under the License.
1616
#
1717

18-
from behave import step
18+
import humanfriendly
19+
from behave import step, then
1920

2021
from minifi_test_framework.steps import checking_steps # noqa: F401
2122
from minifi_test_framework.steps import configuration_steps # noqa: F401
2223
from minifi_test_framework.steps import core_steps # noqa: F401
2324
from minifi_test_framework.steps import flow_building_steps # noqa: F401
2425
from minifi_test_framework.core.minifi_test_context import MinifiTestContext
26+
from minifi_test_framework.core.helpers import wait_for_condition
2527
from syslog_container import SyslogContainer
2628
from diag_slave_container import DiagSlave
2729
from tcp_client_container import TcpClientContainer
30+
from minifi_c2_server_container import MinifiC2Server
2831

2932

3033
@step("a Syslog client with TCP protocol is setup to send logs to minifi")
@@ -51,3 +54,52 @@ def step_impl(context: MinifiTestContext, modbus_cmd: str):
5154
@step('a TCP client is set up to send a test TCP message to minifi')
5255
def step_impl(context: MinifiTestContext):
5356
context.containers["tcp-client"] = TcpClientContainer(context)
57+
58+
59+
@given("C2 is enabled in MiNiFi")
60+
def step_impl(context: MinifiTestContext):
61+
context.get_or_create_default_minifi_container().set_property("nifi.c2.enable", "true")
62+
context.get_or_create_default_minifi_container().set_property("nifi.c2.rest.url", f"http://minifi-c2-server-{context.scenario_id}:10090/c2/config/heartbeat")
63+
context.get_or_create_default_minifi_container().set_property("nifi.c2.rest.url.ack", f"http://minifi-c2-server-{context.scenario_id}:10090/c2/config/acknowledge")
64+
context.get_or_create_default_minifi_container().set_property("nifi.c2.flow.base.url", f"http://minifi-c2-server-{context.scenario_id}:10090/c2/config/")
65+
context.get_or_create_default_minifi_container().set_property("nifi.c2.root.classes", "DeviceInfoNode,AgentInformation,FlowInformation,AssetInformation")
66+
context.get_or_create_default_minifi_container().set_property("nifi.c2.full.heartbeat", "false")
67+
context.get_or_create_default_minifi_container().set_property("nifi.c2.agent.class", "minifi-test-class")
68+
context.get_or_create_default_minifi_container().set_property("nifi.c2.agent.identifier", "minifi-test-id")
69+
70+
71+
@given("ssl properties are set up for MiNiFi C2 server")
72+
def step_impl(context: MinifiTestContext):
73+
context.get_or_create_default_minifi_container().set_property("nifi.c2.enable", "true")
74+
context.get_or_create_default_minifi_container().set_property("nifi.c2.rest.url", f"https://minifi-c2-server-{context.scenario_id}:10090/c2/config/heartbeat")
75+
context.get_or_create_default_minifi_container().set_property("nifi.c2.rest.url.ack", f"https://minifi-c2-server-{context.scenario_id}:10090/c2/config/acknowledge")
76+
context.get_or_create_default_minifi_container().set_property("nifi.c2.flow.base.url", f"https://minifi-c2-server-{context.scenario_id}:10090/c2/config/")
77+
context.get_or_create_default_minifi_container().set_property("nifi.c2.root.classes", "DeviceInfoNode,AgentInformation,FlowInformation,AssetInformation")
78+
context.get_or_create_default_minifi_container().set_property("nifi.c2.full.heartbeat", "false")
79+
context.get_or_create_default_minifi_container().set_property("nifi.c2.agent.class", "minifi-test-class")
80+
context.get_or_create_default_minifi_container().set_property("nifi.c2.agent.identifier", "minifi-test-id")
81+
context.get_or_create_default_minifi_container().set_up_ssl_properties()
82+
83+
84+
@given("a MiNiFi C2 server is set up")
85+
def step_impl(context: MinifiTestContext):
86+
context.containers["minifi-c2-server"] = MinifiC2Server(context)
87+
88+
89+
@given("a MiNiFi C2 server is set up with SSL")
90+
def step_impl(context: MinifiTestContext):
91+
context.containers["minifi-c2-server"] = MinifiC2Server(context, ssl=True)
92+
93+
94+
@given("a MiNiFi C2 server is started")
95+
def step_impl(context: MinifiTestContext):
96+
context.containers["minifi-c2-server"] = MinifiC2Server(context)
97+
assert context.containers["minifi-c2-server"].deploy()
98+
99+
100+
@then("the MiNiFi C2 server logs contain the following message: \"{log_message}\" in less than {duration}")
101+
def step_impl(context: MinifiTestContext, log_message: str, duration: str):
102+
duration_seconds = humanfriendly.parse_timespan(duration)
103+
assert wait_for_condition(condition=lambda: log_message in context.containers["minifi-c2-server"].get_logs(),
104+
timeout_seconds=duration_seconds, bail_condition=lambda: context.containers["minifi-c2-server"].exited,
105+
context=context)

0 commit comments

Comments
 (0)