HCL Commerce Version 9.1.8.0 or later

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

  1. 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;
        
  2. 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);
        }
    
  3. 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");
  4. 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();
  5. 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);
  6. Exécutez cette classe en tant que test JUnit. Le résultat de l'exécution apparaît sous la vue JUnit.