Github user olegz commented on the pull request:

    https://github.com/apache/nifi/pull/347#issuecomment-211417082
  
    @pvillard31 I was gonna play with it a bit more and possibly create the 
test, but getting tied up with other things. Yet I was able to dig up one of my 
experiments that I used to play with RPGs in unit test environment, and since 
you already familiar with FlowController, you may make sense of it. Anyway, let 
me know. 
    ```java
    System.setProperty("nifi.properties.file.path",
                    
"/Users/ozhurakousky/dev/nifi-integration/src/main/resources/nifi.properties");
            NiFiProperties properties = NiFiProperties.getInstance();
    
            RingBufferEventRepository repository = new 
RingBufferEventRepository(1);
            UserService us = mock(UserService.class);
            AuditService as = mock(AuditService.class);
            FlowController controller = 
FlowController.createStandaloneInstance(repository, properties, us, as, null);
    
            ProcessGroup senderGroup = controller.createProcessGroup("SENDER");
            senderGroup.setName("SENDER");
            RemoteProcessGroup remoteProcessGroup = 
controller.createRemoteProcessGroup("SENDER_REMOTE", 
"http://localhost:8080/nifi";);
            senderGroup.addRemoteProcessGroup(remoteProcessGroup);
    
            // INPUT PORT (DESTINATIOIN)
            StandardRemoteProcessGroupPortDescriptor inputPortDescriptor = new 
StandardRemoteProcessGroupPortDescriptor();
            inputPortDescriptor.setId("67b1950c-554e-4cb6-92fb-7e313b015e8c");
            inputPortDescriptor.setName("in");
            
remoteProcessGroup.setInputPorts(Collections.<RemoteProcessGroupPortDescriptor> 
singleton(inputPortDescriptor));
            RemoteGroupPort inputPort = 
remoteProcessGroup.getInputPort("67b1950c-554e-4cb6-92fb-7e313b015e8c");
            inputPort.setProcessGroup(senderGroup);
            System.out.println(inputPort.isRunning());
            System.out.println(inputPort.isTargetRunning());
            System.out.println(inputPort.isValid());
    
    
            // SOURCE
            ProcessorNode source = 
controller.createProcessor(GenerateFlowFile.class.getName(), "A");
            source.setProperty("File Size", "10 b");
            source.setScheduldingPeriod("2 sec");
            source.setProcessGroup(senderGroup);
            senderGroup.addProcessor(source);
    
            // CONNECTION
            Connection connection = 
controller.createConnection("MyConnectionId", "MyConnectionName", source,
                    
remoteProcessGroup.getInputPort("67b1950c-554e-4cb6-92fb-7e313b015e8c"),
                    Collections.singletonList("success"));
            connection.setProcessGroup(senderGroup);
            senderGroup.addConnection(connection);
    
            inputPort.addConnection(connection);
            remoteProcessGroup.startTransmitting();
            // inputPort.verifyCanStart();
            // senderGroup.addInputPort(inputPort);
            // senderGroup.startInputPort(inputPort);
            
//controller.startTransmitting(remoteProcessGroup.getInputPort("in"));
            senderGroup.startProcessor(source);
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to