@@ -591,6 +591,13 @@ def get_experiment_run_mock():
591591 yield get_context_mock
592592
593593
594+ @pytest .fixture
595+ def create_experiment_context_mock ():
596+ with patch .object (MetadataServiceClient , "create_context" ) as create_context_mock :
597+ create_context_mock .side_effect = [_TEST_EXPERIMENT_CONTEXT ]
598+ yield create_context_mock
599+
600+
594601@pytest .fixture
595602def create_experiment_run_context_mock ():
596603 with patch .object (MetadataServiceClient , "create_context" ) as create_context_mock :
@@ -863,6 +870,25 @@ def test_init_experiment_with_existing_metadataStore_and_context(
863870 name = _TEST_CONTEXT_NAME , retry = base ._DEFAULT_RETRY
864871 )
865872
873+ @pytest .mark .usefixtures ("get_metadata_store_mock" )
874+ def test_create_experiment (self , create_experiment_context_mock ):
875+ exp = aiplatform .Experiment .create (
876+ experiment_name = _TEST_EXPERIMENT ,
877+ description = _TEST_EXPERIMENT_DESCRIPTION ,
878+ project = _TEST_PROJECT ,
879+ location = _TEST_LOCATION ,
880+ )
881+
882+ _TRUE_CONTEXT = copy .deepcopy (_TEST_EXPERIMENT_CONTEXT )
883+ _TRUE_CONTEXT .name = None
884+ _TRUE_CONTEXT .metadata .pop ("backing_tensorboard_resource" )
885+
886+ create_experiment_context_mock .assert_called_once_with (
887+ parent = _TEST_PARENT , context = _TRUE_CONTEXT , context_id = _TEST_EXPERIMENT
888+ )
889+
890+ assert exp ._metadata_context .gca_resource == _TEST_EXPERIMENT_CONTEXT
891+
866892 def test_init_experiment_with_credentials (
867893 self ,
868894 get_metadata_store_mock ,
0 commit comments