code: def test_import_on_first_attr_used(self, mock_imported_builder_cls):
      proxy_cls = lazy_builder_import.LazyBuilderImport("foo")
      self.assertFalse(mock_imported_builder_cls.called)
      ds_name = proxy_cls.name
      mock_imported_builder_cls.assert_called_with("foo")
      self.assertEqual(ds_name, "foo")
      # Subsequent calls re-use same builder cls:
      self.assertEqual(proxy_cls.version, "1.2.3")
      mock_imported_builder_cls.assert_called_once()
  
file_path: datasets/tensorflow_datasets/core/lazy_builder_import_test.py
imports: from unittest import mock
  from tensorflow_datasets import testing
  from tensorflow_datasets.core import lazy_builder_import
  from tensorflow_datasets.core import registered
label_desc: Use image node_id 1 for calling the LazyBuilderImportTest obj's underlying member method code with example usage: obj.test_import_on_first_attr_used(mock_imported_builder_cls) without return types