@Test public void testGetSessionAction() { NodeInterfacePair lastHopNodeAndOutgoingInterface = NodeInterfacePair.of("node", "iface"); String ingressIface = "ingressIface"; assertThat( getSessionAction(true, null, lastHopNodeAndOutgoingInterface), equalTo(FibLookup.INSTANCE)); assertThat( getSessionAction(true, ingressIface, lastHopNodeAndOutgoingInterface), equalTo(FibLookup.INSTANCE)); assertThat( getSessionAction(false, ingressIface, lastHopNodeAndOutgoingInterface), equalTo(new ForwardOutInterface(ingressIface, lastHopNodeAndOutgoingInterface))); assertThat( getSessionAction(false, null, lastHopNodeAndOutgoingInterface), equalTo(Accept.INSTANCE)); }
@VisibleForTesting @Nonnull static SessionAction getSessionAction( boolean fibLookup, @Nullable String ingressInterface, @Nullable NodeInterfacePair lastHopNodeAndOutgoingInterface) { return fibLookup ? org.batfish.datamodel.flow.FibLookup.INSTANCE : ingressInterface != null ? new ForwardOutInterface(ingressInterface, lastHopNodeAndOutgoingInterface) : Accept.INSTANCE; }
FlowTracer { @VisibleForTesting @Nonnull static SessionAction getSessionAction( boolean fibLookup, @Nullable String ingressInterface, @Nullable NodeInterfacePair lastHopNodeAndOutgoingInterface) { return fibLookup ? org.batfish.datamodel.flow.FibLookup.INSTANCE : ingressInterface != null ? new ForwardOutInterface(ingressInterface, lastHopNodeAndOutgoingInterface) : Accept.INSTANCE; } }
FlowTracer { @VisibleForTesting @Nonnull static SessionAction getSessionAction( boolean fibLookup, @Nullable String ingressInterface, @Nullable NodeInterfacePair lastHopNodeAndOutgoingInterface) { return fibLookup ? org.batfish.datamodel.flow.FibLookup.INSTANCE : ingressInterface != null ? new ForwardOutInterface(ingressInterface, lastHopNodeAndOutgoingInterface) : Accept.INSTANCE; } @VisibleForTesting  FlowTracer(
      TracerouteEngineImplContext tracerouteContext,
      Configuration currentConfig,
      @Nullable String ingressInterface,
      Node currentNode,
      TraceRecorder traceRecorder,
      @Nullable NodeInterfacePair lastHopNodeAndOutgoingInterface,
      List<FirewallSessionTraceInfo> newSessions,
      Flow originalFlow,
      @Nonnull String vrfName,
      List<HopInfo> hops,
      List<Step<?>> steps,
      Stack<Breadcrumb> breadcrumbs,
      Flow currentFlow,
      int origNewSessionsSize,
      int origBreadcrumbsSize); }
FlowTracer { @VisibleForTesting @Nonnull static SessionAction getSessionAction( boolean fibLookup, @Nullable String ingressInterface, @Nullable NodeInterfacePair lastHopNodeAndOutgoingInterface) { return fibLookup ? org.batfish.datamodel.flow.FibLookup.INSTANCE : ingressInterface != null ? new ForwardOutInterface(ingressInterface, lastHopNodeAndOutgoingInterface) : Accept.INSTANCE; } @VisibleForTesting  FlowTracer(
      TracerouteEngineImplContext tracerouteContext,
      Configuration currentConfig,
      @Nullable String ingressInterface,
      Node currentNode,
      TraceRecorder traceRecorder,
      @Nullable NodeInterfacePair lastHopNodeAndOutgoingInterface,
      List<FirewallSessionTraceInfo> newSessions,
      Flow originalFlow,
      @Nonnull String vrfName,
      List<HopInfo> hops,
      List<Step<?>> steps,
      Stack<Breadcrumb> breadcrumbs,
      Flow currentFlow,
      int origNewSessionsSize,
      int origBreadcrumbsSize);  }
FlowTracer { @VisibleForTesting @Nonnull static SessionAction getSessionAction( boolean fibLookup, @Nullable String ingressInterface, @Nullable NodeInterfacePair lastHopNodeAndOutgoingInterface) { return fibLookup ? org.batfish.datamodel.flow.FibLookup.INSTANCE : ingressInterface != null ? new ForwardOutInterface(ingressInterface, lastHopNodeAndOutgoingInterface) : Accept.INSTANCE; } @VisibleForTesting  FlowTracer(
      TracerouteEngineImplContext tracerouteContext,
      Configuration currentConfig,
      @Nullable String ingressInterface,
      Node currentNode,
      TraceRecorder traceRecorder,
      @Nullable NodeInterfacePair lastHopNodeAndOutgoingInterface,
      List<FirewallSessionTraceInfo> newSessions,
      Flow originalFlow,
      @Nonnull String vrfName,
      List<HopInfo> hops,
      List<Step<?>> steps,
      Stack<Breadcrumb> breadcrumbs,
      Flow currentFlow,
      int origNewSessionsSize,
      int origBreadcrumbsSize);   }