|
18 | 18 | import pytest |
19 | 19 |
|
20 | 20 | from bedrock_agentcore.memory import MemoryClient |
| 21 | +from bedrock_agentcore.memory.models import IndexedKey, MetadataValueType |
21 | 22 |
|
22 | 23 | from .helpers import poll_until |
23 | 24 |
|
@@ -103,6 +104,34 @@ def test_stream_delivery_create_and_update(self): |
103 | 104 | ) |
104 | 105 | assert response["memory"]["streamDeliveryResources"] == updated_config |
105 | 106 |
|
| 107 | + def test_indexed_keys_create_and_update(self): |
| 108 | + """Create memory with indexed_keys, then add another via update_memory passthrough.""" |
| 109 | + initial_keys = [ |
| 110 | + IndexedKey.build("priority", MetadataValueType.NUMBER), |
| 111 | + IndexedKey.build("agent_type", MetadataValueType.STRING), |
| 112 | + ] |
| 113 | + |
| 114 | + memory = self.client.create_memory_and_wait( |
| 115 | + name=f"{self.test_prefix}_indexed", |
| 116 | + strategies=[], |
| 117 | + indexed_keys=initial_keys, |
| 118 | + ) |
| 119 | + |
| 120 | + memory_id = memory["id"] |
| 121 | + self.__class__.memory_ids.append(memory_id) |
| 122 | + |
| 123 | + assert memory.get("indexedKeys") == initial_keys |
| 124 | + |
| 125 | + added_key = IndexedKey.build("region", MetadataValueType.STRING) |
| 126 | + response = self.client.update_memory( |
| 127 | + memory_id=memory_id, |
| 128 | + client_token=str(uuid.uuid4()), |
| 129 | + add_indexed_keys=[added_key], |
| 130 | + ) |
| 131 | + |
| 132 | + updated_keys = response["memory"]["indexedKeys"] |
| 133 | + assert {k["key"] for k in updated_keys} == {"priority", "agent_type", "region"} |
| 134 | + |
106 | 135 | # --- Data Plane Tests (order 1-10) --- |
107 | 136 |
|
108 | 137 | @pytest.mark.order(1) |
|
0 commit comments