def test_valid_model_properties(self):
        """Test that valid model properties are accepted."""
        base_model_properties = {
            "dimensions": 764,
            "type": "languagebind",
        }

        valid_model_properties_list = [
            (
                {"supportedModalities": [Modality.TEXT, Modality.IMAGE],
                 "modelLocation": {"image": {"url": "http://example.com"}},
                 **base_model_properties}, "Custom model with image modality from URL"
            ),
            (
                {"supportedModalities": [Modality.TEXT, Modality.VIDEO],
                 "modelLocation": {"video": {"hf": {"repoId": "test_repo"}}},
                 **base_model_properties}, "Custom model with video modality from Hugging Face"
            ),
            (
                {"supportedModalities": [Modality.TEXT, Modality.VIDEO, Modality.IMAGE, Modality.AUDIO],
                 "modelLocation": {
                     "tokenizer": {"hf": {"repoId": "test_repo"}},
                     "video": {"url": "http://example.com/video"},
                     "image": {"s3": {"Bucket": "test_bucket", "Key": "test_key"}},
                     "audio": {"hf": {"repoId": "test_repo"}}},
                 **base_model_properties}, "A mixture of all modalities and tokenizers from different locations"
            ),
            (
                {"supportedModalities": [Modality.TEXT, Modality.IMAGE],
                 "name": "test_model",
                 **base_model_properties}, "Marqo registered model with name"
            )
        ]

        for model_properties, msg in valid_model_properties_list:
            with self.subTest(msg=msg):
                LanguagebindModelProperties(**model_properties)
Test that valid model properties are accepted.
tests/unit_tests/marqo/inference/native_inference/test_languagebind_model_properties.py