code: def test_validate_pipeline_input_all_necessary_input_is_present():
      pipe = Pipeline()
      pipe.add_component("comp1", Double())
      pipe.add_component("comp2", Double())
      pipe.connect("comp1", "comp2")
      with pytest.raises(
          ValueError, match="Missing input: comp1.value"
      ):
          pipe.run({})
  
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 12 for calling a global function with example usage: test_validate_pipeline_input_all_necessary_input_is_present() without return types