code: def test_probe_eager():
      optimizer = BayesianOptimization(
          target_func,
          PBOUNDS,
          random_state=1,
          allow_duplicate_points=True,
      )
  
      optimizer.probe(params={"p1": 1, "p2": 2}, lazy=False)
      assert len(optimizer.space) == 1
      assert len(optimizer._queue) == 0
      assert optimizer.max["target"] == 3
      assert optimizer.max["params"] == {"p1": 1, "p2": 2}
  
      optimizer.probe(params={"p1": 3, "p2": 3}, lazy=False)
      assert len(optimizer.space) == 2
      assert len(optimizer._queue) == 0
      assert optimizer.max["target"] == 6
      assert optimizer.max["params"] == {"p1": 3, "p2": 3}
  
      optimizer.probe(params={"p1": 3, "p2": 3}, lazy=False)
      assert len(optimizer.space) == 3
      assert len(optimizer._queue) == 0
      assert optimizer.max["target"] == 6
      assert optimizer.max["params"] == {"p1": 3, "p2": 3}
  
imports: import pytest
  import numpy
  from bayes_opt import UtilityFunction
  from bayes_opt import BayesianOptimization
  from bayes_opt.logger import ScreenLogger
  from bayes_opt.event import Events, DEFAULT_EVENTS
  from bayes_opt.util import NotUniqueError
  import pickle
  import os
label_desc: Use image node_id 4 for calling a global function with example usage: test_probe_eager() without return types