code: def test_feature_metadata_categorical_features_only(
      self, categorical_features
  ):
      X = pd.DataFrame(data=[[1, 1], [2, 3]], columns=["c1", "c2"])
      y = np.array([1, 0])
      model = create_lightgbm_classifier(X, y)
  
      X[TARGET] = y
      feature_metadata = FeatureMetadata(
          categorical_features=categorical_features
      )
  
      RAIInsights(
          model=model,
          train=X,
          test=X,
          target_column=TARGET,
          task_type="classification",
          feature_metadata=feature_metadata,
      )
  
imports: import logging
  import random
  from unittest.mock import MagicMock
  import numpy
  import pandas
  import pytest
  from lightgbm import LGBMClassifier
  from tests.common_utils import RandomForecastingModel, RandomForecastingModelWithQuantiles, create_iris_data, create_tiny_forecasting_dataset
  from rai_test_utils.datasets.tabular import create_binary_classification_dataset, create_cancer_data, create_housing_data
  from rai_test_utils.models.lightgbm import create_lightgbm_classifier
  from rai_test_utils.models.sklearn import create_sklearn_random_forest_regressor
  from raiutils.exceptions import UserConfigValidationException
  from responsibleai import RAIInsights
  from responsibleai.feature_metadata import FeatureMetadata
  from responsibleai.rai_insights.rai_insights import _MODEL_METHOD_EXCEPTION_MESSAGE
label_desc: Use image node_id 23 for calling the TestRAIInsightsValidations obj's underlying member method code with example usage: obj.test_feature_metadata_categorical_features_only(categorical_features) without return types