def setUpClass(cls): super(Test1ToNTest, cls).setUpClass() print("Start of tests: preparing nifi objects") config.nifi_config.host = 'http://192.168.56.5:8080/nifi-api' flow_name = "Test1ToNTest" nav = CanvasNavigator() # Delete all leftovers from previous (failed?) tests pgs_to_be_deleted = nav.groups(flow_name) for pg in pgs_to_be_deleted: canvas.delete_process_group(pg, force=True) # Create new process group in root Test1ToNTest.pg_test = canvas.create_process_group(nav.current, flow_name, (0, 0)) # Create simple flow to test Test1ToNTest.proc_start = canvas.create_processor( Test1ToNTest.pg_test, canvas.get_processor_type("GenerateFlowFile"), CANVAS_CENTER, "Start") Test1ToNTest.proc_2 = canvas.create_processor( Test1ToNTest.pg_test, canvas.get_processor_type("DebugFlow"), CANVAS_CENTER, "Processor 2") Test1ToNTest.proc_3 = canvas.create_processor( Test1ToNTest.pg_test, canvas.get_processor_type("DebugFlow"), CANVAS_CENTER, "Processor 3") Test1ToNTest.proc_end_1 = canvas.create_processor( Test1ToNTest.pg_test, canvas.get_processor_type("DebugFlow"), CANVAS_CENTER, "End 1") Test1ToNTest.proc_end_2 = canvas.create_processor( Test1ToNTest.pg_test, canvas.get_processor_type("DebugFlow"), CANVAS_CENTER, "End 2") canvas.update_processor(Test1ToNTest.proc_end_1, nifi.ProcessorConfigDTO(auto_terminated_relationships=["success", "failure"])) canvas.update_processor(Test1ToNTest.proc_end_2, nifi.ProcessorConfigDTO(auto_terminated_relationships=["success", "failure"])) Test1ToNTest.conn_1 = canvas.create_connection(Test1ToNTest.proc_start, Test1ToNTest.proc_2, ["success"]) Test1ToNTest.conn_2 = canvas.create_connection(Test1ToNTest.proc_2, Test1ToNTest.proc_3, ["success", "failure"]) Test1ToNTest.conn_3 = canvas.create_connection(Test1ToNTest.proc_3, Test1ToNTest.proc_end_1, ["success", "failure"]) Test1ToNTest.conn_4 = canvas.create_connection(Test1ToNTest.proc_3, Test1ToNTest.proc_end_2, ["success", "failure"]) canvas.schedule_process_group(Test1ToNTest.pg_test.component.id, scheduled=True)
def setUpClass(cls): super(CanvasNavigatorTest, cls).setUpClass() print("Start of tests: preparing nifi objects") config.nifi_config.host = 'http://192.168.56.5:8080/nifi-api' root = canvas.get_process_group(canvas.get_root_pg_id(), 'id') # Create new process group in root CanvasNavigatorTest.pg_parent = canvas.create_process_group( root, "parent", CANVAS_CENTER) # Create new child process groups in unittest CanvasNavigatorTest.pg_child1 = canvas.create_process_group( CanvasNavigatorTest.pg_parent, "child1", CANVAS_CENTER) CanvasNavigatorTest.pg_child2 = canvas.create_process_group( CanvasNavigatorTest.pg_parent, "child2", CANVAS_CENTER) CanvasNavigatorTest.pg_child2_2 = canvas.create_process_group( CanvasNavigatorTest.pg_parent, "child2", CANVAS_CENTER) CanvasNavigatorTest.pg_grandchild1 = canvas.create_process_group( CanvasNavigatorTest.pg_child1, "grandchild1", CANVAS_CENTER) # Create other objects as well CanvasNavigatorTest.proc = canvas.create_processor( CanvasNavigatorTest.pg_parent, canvas.get_processor_type("GenerateFlowFile"), CANVAS_CENTER, "proc") CanvasNavigatorTest.input_port = canvas.create_port( CanvasNavigatorTest.pg_parent.component.id, "INPUT_PORT", "input_port", "STOPPED", CANVAS_CENTER) CanvasNavigatorTest.output_port = canvas.create_port( CanvasNavigatorTest.pg_parent.component.id, "OUTPUT_PORT", "output_port", "STOPPED", CANVAS_CENTER) CanvasNavigatorTest.controller = canvas.create_controller( CanvasNavigatorTest.pg_parent, canvas.list_all_controller_types()[0], "controller")
def test_create_processor(regress_nifi, fix_pg): f_pg = fix_pg.generate() r1 = canvas.create_processor( parent_pg=f_pg, processor=canvas.get_processor_type('GenerateFlowFile'), location=(400.0, 400.0), name=conftest.test_processor_name) assert isinstance(r1, nifi.ProcessorEntity) assert r1.status.name == conftest.test_processor_name
def test_create_processor(fixture_pg, regress): test_pg = fixture_pg.generate() r1 = canvas.create_processor( parent_pg=test_pg, processor=canvas.get_processor_type('ListenSyslog'), location=(400.0, 400.0), name=config.test_processor_name) assert isinstance(r1, nifi.ProcessorEntity) assert r1.status.name == config.test_processor_name
def create(self, processor_type): processor = canvas.create_processor(parent_pg=self.group, processor=processor_type, location=self.location, name=self.name, config=self.config) self.id = processor.id return processor
def create_processor(pg, name, processor_types, position, cfg): if isinstance(processor_types, str): processor_types = [processor_types] all_proc_types = canvas.list_all_processor_types().processor_types for processor_type in processor_types: choosen_type = [p for p in all_proc_types if p.type == processor_type] if choosen_type: return canvas.create_processor(pg, choosen_type[0], position, name, cfg) raise RuntimeError("Processor types {} not found in available list: {}", processor_types, [p.type for p in all_proc_types])
def test_get_component_connections(regress_nifi, fix_proc): f_p1 = fix_proc.generate() f_p2 = fix_proc.generate() f_p3 = canvas.create_processor( parent_pg=canvas.get_process_group(canvas.get_root_pg_id(), 'id'), processor=canvas.get_processor_type('AttributesToJSON'), location=(400.0, 425.0), name=conftest.test_processor_name + '_inbound') canvas.create_connection(f_p1, f_p3, name=conftest.test_basename) canvas.create_connection(f_p2, f_p3, name=conftest.test_basename) r1 = canvas.get_component_connections(f_p1) assert len(r1) == 1 assert r1[0].source_id == f_p1.id r2 = canvas.get_component_connections(f_p3) assert len(r2) == 2 assert r2[0].destination_id == f_p3.id assert r2[1].source_id in [f_p1.id, f_p2.id]
def create_processor(pg, name, processor_type, position, config): proc_type = canvas.get_processor_type(processor_type, identifier_type='name') return canvas.create_processor(pg, proc_type, position, name, config)