Lehel44 commented on code in PR #6046:
URL: https://github.com/apache/nifi/pull/6046#discussion_r879701769
##########
nifi-nar-bundles/nifi-snmp-bundle/nifi-snmp-processors/src/test/java/org/apache/nifi/snmp/operations/SNMPRequestIT.java:
##########
@@ -102,60 +101,69 @@ public class SNMPRequestIT {
registerManagedObjects(v3TestAgent);
}
- @Before
- public void initAgent() throws IOException {
- agent.start();
- }
-
- @After
+ @AfterEach
public void tearDown() {
- agent.stop();
- agent.unregister();
snmpResourceHandler.close();
}
- @Parameterized.Parameters
- public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][]{
- {SnmpConstants.version1, snmpV1ConfigurationFactory,
v1TestAgent, NO_SUCH_NAME, NO_SUCH_NAME, NO_SUCH_NAME, NO_SUCH_NAME},
- {SnmpConstants.version2c, snmpv2cConfigurationFactory,
v2cTestAgent, NOT_WRITABLE, NO_ACCESS, NO_SUCH_OBJECT, UNABLE_TO_CREATE_OBJECT},
- {SnmpConstants.version3, snmpv3ConfigurationFactory,
v3TestAgent, NOT_WRITABLE, NO_ACCESS, NO_SUCH_OBJECT, UNABLE_TO_CREATE_OBJECT}
- });
+ private static Stream<Arguments> provideBasicArguments() {
+ return Stream.of(
+ Arguments.of(SnmpConstants.version1,
snmpV1ConfigurationFactory, v1TestAgent),
+ Arguments.of(SnmpConstants.version2c,
snmpv2cConfigurationFactory, v2cTestAgent),
+ Arguments.of(SnmpConstants.version3,
snmpv3ConfigurationFactory, v3TestAgent)
+ );
+ }
+
+ private static Stream<Arguments> provideCannotSetReadOnlyOidArguments() {
+ return Stream.of(
+ Arguments.of(SnmpConstants.version1,
snmpV1ConfigurationFactory, v1TestAgent, NO_SUCH_NAME),
+ Arguments.of(SnmpConstants.version2c,
snmpv2cConfigurationFactory, v2cTestAgent, NOT_WRITABLE),
+ Arguments.of(SnmpConstants.version3,
snmpv3ConfigurationFactory, v3TestAgent, NOT_WRITABLE)
+ );
+ }
+
+ private static Stream<Arguments>
provideCannotModifyOidStatusMessageArguments() {
+ return Stream.of(
+ Arguments.of(SnmpConstants.version1,
snmpV1ConfigurationFactory, v1TestAgent, NO_SUCH_NAME),
+ Arguments.of(SnmpConstants.version2c,
snmpv2cConfigurationFactory, v2cTestAgent, NO_ACCESS),
+ Arguments.of(SnmpConstants.version3,
snmpv3ConfigurationFactory, v3TestAgent, NO_ACCESS)
+ );
}
- private final int version;
- private final SNMPConfigurationFactory snmpConfigurationFactory;
- private final TestAgent agent;
- private final String cannotSetReadOnlyOidStatusMessage;
- private final String cannotModifyOidStatusMessage;
- private final String getInvalidOidStatusMessage;
- private final String setInvalidOidStatusMessage;
-
- public SNMPRequestIT(final int version, final SNMPConfigurationFactory
snmpConfigurationFactory, final TestAgent agent,
- final String cannotSetReadOnlyOidStatusMessage, final
String cannotModifyOidStatusMessage,
- final String getInvalidOidStatusMessage, final String
setInvalidOidStatusMessage) {
- this.version = version;
- this.snmpConfigurationFactory = snmpConfigurationFactory;
- this.agent = agent;
- this.cannotSetReadOnlyOidStatusMessage =
cannotSetReadOnlyOidStatusMessage;
- this.cannotModifyOidStatusMessage = cannotModifyOidStatusMessage;
- this.getInvalidOidStatusMessage = getInvalidOidStatusMessage;
- this.setInvalidOidStatusMessage = setInvalidOidStatusMessage;
+ private static Stream<Arguments>
provideGetInvalidOidStatusMessageArguments() {
+ return Stream.of(
+ Arguments.of(SnmpConstants.version1,
snmpV1ConfigurationFactory, v1TestAgent, NO_SUCH_NAME),
+ Arguments.of(SnmpConstants.version2c,
snmpv2cConfigurationFactory, v2cTestAgent, NO_SUCH_OBJECT),
+ Arguments.of(SnmpConstants.version3,
snmpv3ConfigurationFactory, v3TestAgent, NO_SUCH_OBJECT)
+ );
+ }
+
+ private static Stream<Arguments>
provideSetInvalidOidStatusMessageArguments() {
+ return Stream.of(
+ Arguments.of(SnmpConstants.version1,
snmpV1ConfigurationFactory, v1TestAgent, NO_SUCH_NAME),
+ Arguments.of(SnmpConstants.version2c,
snmpv2cConfigurationFactory, v2cTestAgent, UNABLE_TO_CREATE_OBJECT),
+ Arguments.of(SnmpConstants.version3,
snmpv3ConfigurationFactory, v3TestAgent, UNABLE_TO_CREATE_OBJECT)
+ );
}
- @Test
- public void testSuccessfulSnmpGet() throws IOException {
+ @ParameterizedTest
+ @MethodSource("provideBasicArguments")
+ void testSuccessfulSnmpGet(int version, SNMPConfigurationFactory
snmpConfigurationFactory, TestAgent agent) throws IOException {
+ agent.start();
final SNMPConfiguration snmpConfiguration =
snmpConfigurationFactory.createSnmpGetSetConfiguration(agent.getPort());
snmpResourceHandler =
SNMPFactoryProvider.getFactory(version).createSNMPResourceHandler(snmpConfiguration);
final GetSNMPHandler getSNMPHandler = new
GetSNMPHandler(snmpResourceHandler);
final SNMPSingleResponse response =
getSNMPHandler.get(READ_ONLY_OID_1);
assertEquals(READ_ONLY_OID_VALUE_1,
response.getVariableBindings().get(0).getVariable());
assertEquals(SUCCESS, response.getErrorStatusText());
-
+ agent.stop();
Review Comment:
The failure of the first unit test may obscure the real cause and make it
difficult to find out which one caused the failure. I think it'd make sense to
wrap them in try catch blocks.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]