def test_list_all_connections(regress_nifi, fix_proc): f_p1 = fix_proc.generate() f_p2 = fix_proc.generate() r1 = [ x for x in canvas.list_all_connections() if conftest.test_basename in x.component.name ] assert not r1 # connect single relationship c1 = canvas.create_connection(f_p1, f_p2, ['success'], conftest.test_basename) r2 = [ x for x in canvas.list_all_connections('root') if conftest.test_basename in x.component.name ] assert len(r2) == 1 r3 = [ x for x in canvas.list_all_connections(canvas.get_root_pg_id()) if conftest.test_basename in x.component.name ] assert len(r3) == 1 assert isinstance(r2[0], nifi.ConnectionEntity) c2 = canvas.create_connection(f_p1, f_p2, name=conftest.test_basename) r2 = [ x for x in canvas.list_all_connections('root') if conftest.test_basename in x.component.name ] assert len(r2) == 2 _ = canvas.delete_connection(c1) _ = canvas.delete_connection(c2) r3 = [ x for x in canvas.list_all_connections('root') if conftest.test_basename in x.component.name ] assert not r3
def test_nifi_queues(): assert [] == \ ['Found queue not empty: {} -> {}, Queued: {}'.format( conn.component.source.name, conn.component.destination.name, conn.status.aggregate_snapshot.queued) for conn in [x for x in canvas.list_all_connections() if int(x.status.aggregate_snapshot.queued_count.replace(',', '')) > QUEUED_MSG_THRESHOLD]]
def add_output(self, obj, remove_existing_connections=True): assert isinstance(obj, nifi.ProcessorEntity) or isinstance( obj, nifi.PortEntity) self.outputs.append(obj) if remove_existing_connections: # connections = canvas.list_all_connections(self.base.component.id, True) connections = canvas.list_all_connections() this_connections = [ x for x in connections if obj.component.id == x.source_id ] self.connections_to_remove += this_connections
def update_connection(source, destination, new_destination): conn = [c for c in canvas.list_all_connections() if c.source_id == source.id and c.destination_id == destination.id][0] return nifi.ConnectionsApi().update_connection(conn.id, { "revision": conn.revision, "component": { "id": conn.id, "destination": { "id": new_destination.id, "groupId": new_destination.component.parent_group_id, "type": "INPUT_PORT" } } })
def delete_all_connections(process_group, purge=True, descendants=True): """ Purges and deletes all connections inside a process group Args: process_group (ProcessGroupEntity): Process group where connections should be purged and deleted purge (bool): True to Purge, Defaults to True descendants (bool): True to recurse child PGs, False to not """ assert isinstance(process_group, nifi.ProcessGroupEntity) connections = canvas.list_all_connections(process_group.component.id, descendants=descendants) print("Listing connections in " + process_group.component.id) print(connections) for connection in connections: canvas.delete_connection(connection, purge=purge)
def test_run(self): content_string = "This is the content of the test message" message = FlowFile(content_string, {"attribute1": "value1"}) result = Test1To1Test.test.run("Processor 2", message) # Check result assert result.content == content_string assert result.attributes['test_input_name'] == self.proc_2.component.name assert result.attributes['test_output_name'] == self.proc_3.component.name assert int(result.attributes['test_start_time']) > 0 assert int(result.attributes['test_end_time']) > 0 assert int(result.attributes['test_duration']) == int(result.attributes['test_end_time']) - int(result.attributes['test_start_time']) # Check is test was cleaned up nicely # The test process group should be removed assert len(canvas.list_all_process_groups(Test1To1Test.pg_test.component.id)) == 1 # Only counting self # Check if connections were built again; there should be 3 now assert len(canvas.list_all_connections(Test1To1Test.pg_test.component.id, descendants=False)) == 3
def test_list_all_connections(regress_nifi, fix_pg, fix_proc): f_p1 = fix_proc.generate() f_p2 = fix_proc.generate() r1 = [ x for x in canvas.list_all_connections() if conftest.test_basename in x.component.name ] assert not r1 # connect single relationship c1 = canvas.create_connection(f_p1, f_p2, ['success'], conftest.test_basename) r2 = [ x for x in canvas.list_all_connections('root') if conftest.test_basename in x.component.name ] assert len(r2) == 1 r3 = [ x for x in canvas.list_all_connections(canvas.get_root_pg_id()) if conftest.test_basename in x.component.name ] assert len(r3) == 1 assert isinstance(r2[0], nifi.ConnectionEntity) c2 = canvas.create_connection(f_p1, f_p2, name=conftest.test_basename) r2 = [ x for x in canvas.list_all_connections('root') if conftest.test_basename in x.component.name ] assert len(r2) == 2 _ = canvas.delete_connection(c1) _ = canvas.delete_connection(c2) r4 = [ x for x in canvas.list_all_connections('root') if conftest.test_basename in x.component.name ] assert not r4 # Test Issue #129 - nested PGs with descendents missing nested content f_pg1 = fix_pg.generate() f_pg2 = fix_pg.generate(parent_pg=f_pg1) f_p3 = fix_proc.generate(parent_pg=f_pg2) f_p4 = fix_proc.generate(parent_pg=f_pg2) c2 = canvas.create_connection(f_p3, f_p4, ['success'], conftest.test_basename) r5 = [ x for x in canvas.list_all_connections(f_pg2.id) if conftest.test_basename in x.component.name ] assert len(r5) == 1 assert r5[0].id == c2.id
def nifi_delete_all(pg): canvas.schedule_process_group(pg.id, False) for conn in canvas.list_all_connections(pg.id): LOG.debug('Connection: ' + conn.id) canvas.delete_connection(conn, purge=True) for input_port in canvas.list_all_input_ports(pg.id): LOG.debug('Input Port: ' + input_port.id) canvas.delete_port(input_port) for output_port in canvas.list_all_output_ports(pg.id): LOG.debug('Output Port: ' + output_port.id) canvas.delete_port(output_port) for funnel in canvas.list_all_funnels(pg.id): LOG.debug('Funnel: ' + funnel.id) canvas.delete_funnel(funnel) for processor in canvas.list_all_processors(pg.id): LOG.debug('Processor: ' + processor.id) canvas.delete_processor(processor, force=True) for process_group in canvas.list_all_process_groups(pg.id): if pg.id == process_group.id: continue LOG.debug('Process Group: ' + process_group.id) nifi_delete_all(process_group) canvas.delete_process_group(process_group, force=True)