code: def test_empty_materialization_id(
      self, soft_fail, expected_exception
  ):
      # run task in mock context
      sensor = LookerCheckPdtBuildSensor(
          task_id=TASK_ID,
          looker_conn_id=LOOKER_CONN_ID,
          materialization_id="",
          soft_fail=soft_fail,
      )
  
      with pytest.raises(
          expected_exception, match="^Invalid `materialization_id`.$"
      ):
          sensor.poke(context={})
  
file_path: airflow/tests/providers/google/cloud/sensors/test_looker.py
imports: from __future__ import annotations
  from unittest import mock
  import pytest
  from airflow.exceptions import AirflowException, AirflowSkipException
  from airflow.providers.google.cloud.hooks.looker import JobStatus
  from airflow.providers.google.cloud.sensors.looker import LookerCheckPdtBuildSensor
label_desc: Use image node_id 5 for calling the TestLookerCheckPdtBuildSensor obj's underlying member method code with example usage: obj.test_empty_materialization_id(soft_fail, expected_exception) without return types