code: def test_optimization_created_record_from_experiment_without_generation_strategy(
      self,
  ) -> None:
      experiment = get_branin_experiment()
      experiment.experiment_type = "NOTEBOOK"
      time_created_str = "2023-04-07T16:01:23.45"
      experiment._time_created = datetime.strptime(
          time_created_str, "%Y-%m-%dT%H:%M:%S.%f"
      )
  
      record = OptimizationCreatedRecord.from_experiment(
          experiment=experiment,
          generation_strategy=None,
          product_surface="foo",
          launch_surface="web",
          deployed_job_id=1118,
          trial_evaluation_identifier="train",
          is_manual_generation_strategy=True,
          warm_started_from=None,
          num_custom_trials=0,
      )
  
      expected_dict = {
          **asdict(
              ExperimentCreatedRecord.from_experiment(
                  experiment=experiment
              )
          ),
          "unique_identifier": "branin_test_experiment_2023-04-07 16:01:23",
          "product_surface": "foo",
          "launch_surface": "web",
          "deployed_job_id": 1118,
          "trial_evaluation_identifier": "train",
          "is_manual_generation_strategy": True,
          "warm_started_from": None,
          "num_custom_trials": 0,
          "arms_per_trial": -1,
          "early_stopping_strategy_cls": None,
          "global_stopping_strategy_cls": None,
          "scheduler_max_pending_trials": -1,
          "scheduler_total_trials": None,
          "support_tier": "",
          "transformed_dimensionality": None,
          "num_requested_bayesopt_trials": None,
          "num_requested_initialization_trials": None,
          "num_requested_other_trials": None,
          "max_parallelism": None,
          "generation_strategy_name": None,
      }
      self.maxDiff = None
      self.assertEqual(asdict(record), expected_dict)
  
imports: from dataclasses import asdict
  from datetime import datetime
  from ax.service.ax_client import AxClient, ObjectiveProperties
  from ax.service.scheduler import Scheduler, SchedulerOptions
  from ax.telemetry.ax_client import AxClientCompletedRecord, AxClientCreatedRecord
  from ax.telemetry.experiment import ExperimentCreatedRecord
  from ax.telemetry.generation_strategy import GenerationStrategyCreatedRecord
  from ax.telemetry.optimization import OptimizationCompletedRecord, OptimizationCreatedRecord
  from ax.telemetry.scheduler import SchedulerCompletedRecord, SchedulerCreatedRecord
  from ax.utils.common.testutils import TestCase
  from ax.utils.testing.core_stubs import get_branin_experiment
  from ax.utils.testing.modeling_stubs import get_generation_strategy
label_desc: Use image node_id 3 for calling the TestOptimization obj's underlying member method code with example usage: obj.test_optimization_created_record_from_experiment_without_generation_strategy() without return types