Test de votre processeur NiFi personnalisé
Après avoir créé un processeur NiFi personnalisé, vous pouvez vérifier qu'il fonctionne à l'aide d'un ensemble d'étapes simple.
Procedure
-
Créez une classe sous src/test/java et déclarez une zone avec le type de données org.apache.nifi.util.TestRunner.
public class MyProcessorTest { private TestRunner testRunner; -
Créez une méthode init() avec l'annotation @Before de JUnit et initialisez le module d'exécution de test.
@Before public void init() { testRunner = TestRunners.newTestRunner(MyProcessor.class); } -
Créez une autre méthode et annotez-la avec @Test de JUnit. Obtenez également une charge JSON qui représentera l'entrée au processeur.
@Test public void testResponse() throws Exception { final Path JSON_SNIPPET = Paths.get("src/test/resources/common/MyProcessor/scroll_input.json"); final Path JSON_SNIPPET1 = Paths.get("src/test/resources/common/MyProcessor/scroll_input_zero_doc.json"); -
Dans la même méthode, définissez tous les attributs requis dans le module d'exécution de test comme suit :
testRunner.setProperty(MyProcessor.SCROLL_DURATION, "1m"); Map<String, String> attributes = new HashMap<String, String>(); attributes.put(PARAM_DOT_STOREID, "1"); attributes.put(CONNECTOR_DOT_NAME, "auth.reindex"); attributes.put(ENVIRONMENT_DOT_NAME, "auth"); testRunner.enqueue(JSON_SNIPPET, attributes); testRunner.run(); attributes.put("index.scroll.uri", "_search/scroll"); testRunner.enqueue(JSON_SNIPPET1, attributes); testRunner.run(); -
Dans la même méthode, définissez également le nombre attendu de flowFiles transférés vers les relations respectives comme suit :
Relationship expectedRel = MyProcessor.RELATIONSHIP_SUCCESS; testRunner.assertTransferCount(expectedRel, 1); expectedRel = MyProcessor.RELATIONSHIP_FAILURE; testRunner.assertTransferCount(expectedRel, 0); -
Exécutez cette classe en tant que test JUnit. Le résultat de l'exécution apparaît sous la vue JUnit.

