def test_model_cache_key_generates_deterministic_key_for_same_properties(self):
        """
        Two semantically identical dicts (different insertion order) should produce the same cache key.
        """
        props1 = {'dimension': 512, 'name': 'open-clip'}
        props2 = {'name': 'open-clip', 'dimension': 512}

        key1 = self.caching_inference.model_cache_key(props1)
        key2 = self.caching_inference.model_cache_key(props2)

        # The MD5 digest should be identical for the same content regardless of key order
        self.assertIsInstance(key1, str)
        self.assertEqual(len(key1), 32)
        self.assertEqual(key1, key2)

        Two semantically identical dicts (different insertion order) should produce the same cache key.
        
tests/unit_tests/marqo/inference/inference_cache/test_caching_inference.py