code: def test_find_pipeline_variable_input_nodes_in_the_pipeline():
      pipe = Pipeline()
      pipe.add_component("comp1", AddFixedValue())
      pipe.add_component("comp2", Double())
      pipe.add_component("comp3", Sum())
  
      assert find_pipeline_inputs(pipe.graph) == {
          "comp1": [
              InputSocket(name="value", type=int),
              InputSocket(
                  name="add", type=Optional[int], default_value=None
              ),
          ],
          "comp2": [InputSocket(name="value", type=int)],
          "comp3": [InputSocket(name="values", type=Variadic[int])],
      }
  
imports: from typing import Optional
  import pytest
  from haystack.core.pipeline import Pipeline
  from haystack.core.component.types import Variadic
  from haystack.core.errors import PipelineValidationError
  from haystack.core.component.sockets import InputSocket, OutputSocket
  from haystack.core.pipeline.descriptions import find_pipeline_inputs, find_pipeline_outputs
  from haystack.testing.sample_components import Double, AddFixedValue, Sum, Parity
label_desc: Use image node_id 5 for calling a global function with example usage: test_find_pipeline_variable_input_nodes_in_the_pipeline() without return types