code: def test_create_and_restore(
      self,
      owner: "UserModel",
      metadata_properties: List["AllowedMetadataPropertyTypes"],
  ) -> None:
      argilla.client.singleton.init(api_key=owner.api_key)
  
      workspace = rg.Workspace.create(name="my-workspace")
      dataset = rg.FeedbackDataset(
          fields=[rg.TextField(name="text-field")],
          questions=[rg.TextQuestion(name="text-question")],
          metadata_properties=metadata_properties,
      )
  
      remote_dataset = dataset.push_to_argilla(
          name="my-dataset", workspace=workspace.name
      )
      assert isinstance(remote_dataset, RemoteFeedbackDataset)
      assert len(remote_dataset.metadata_properties) == len(
          dataset.metadata_properties
      )
  
      for (
          remote_metadata_property
      ) in remote_dataset.metadata_properties:
          assert isinstance(
              remote_metadata_property,
              (
                  RemoteTermsMetadataProperty,
                  RemoteIntegerMetadataProperty,
                  RemoteFloatMetadataProperty,
              ),
          )
          matching_metadata_property = next(
              metadata_property
              for metadata_property in dataset.metadata_properties
              if metadata_property.name == remote_metadata_property.name
          )
          assert isinstance(
              matching_metadata_property,
              (
                  rg.TermsMetadataProperty,
                  rg.IntegerMetadataProperty,
                  rg.FloatMetadataProperty,
              ),
          )
          assert (
              remote_metadata_property.to_local()
              == matching_metadata_property
          )
  
file_path: argilla/tests/integration/client/feedback/schemas/remote/test_metadata.py
imports: from typing import TYPE_CHECKING, List, Type, Union
  import argilla
  import argilla.client.singleton
  import pytest
  from argilla.client.feedback.dataset.remote.dataset import RemoteFeedbackDataset
  from argilla.client.feedback.schemas.remote.metadata import RemoteFloatMetadataProperty, RemoteIntegerMetadataProperty, RemoteTermsMetadataProperty
label_desc: Use image node_id 1 for calling the TestSuiteRemoteMetadataProperties obj's underlying member method code with example usage: obj.test_create_and_restore(owner, metadata_properties) without return types