@@ -40,16 +40,90 @@ async def test_update_collection(
4040 txn_client ,
4141 load_test_data : Callable ,
4242):
43- data = load_test_data ("test_collection.json" )
43+ collection_data = load_test_data ("test_collection.json" )
44+ item_data = load_test_data ("test_item.json" )
4445
45- await txn_client .create_collection (data , request = MockRequest )
46- data ["keywords" ].append ("new keyword" )
47- await txn_client .update_collection (data , request = MockRequest )
46+ await txn_client .create_collection (collection_data , request = MockRequest )
47+ await txn_client .create_item (
48+ collection_id = collection_data ["id" ],
49+ item = item_data ,
50+ request = MockRequest ,
51+ refresh = True ,
52+ )
4853
49- coll = await core_client .get_collection (data ["id" ], request = MockRequest )
54+ collection_data ["keywords" ].append ("new keyword" )
55+ await txn_client .update_collection (collection_data , request = MockRequest )
56+
57+ coll = await core_client .get_collection (collection_data ["id" ], request = MockRequest )
5058 assert "new keyword" in coll ["keywords" ]
5159
52- await txn_client .delete_collection (data ["id" ])
60+ item = await core_client .get_item (
61+ item_id = item_data ["id" ],
62+ collection_id = collection_data ["id" ],
63+ request = MockRequest ,
64+ )
65+ assert item ["id" ] == item_data ["id" ]
66+ assert item ["collection" ] == item_data ["collection" ]
67+
68+ await txn_client .delete_collection (collection_data ["id" ])
69+
70+
71+ @pytest .mark .asyncio
72+ async def test_update_collection_id (
73+ core_client ,
74+ txn_client ,
75+ load_test_data : Callable ,
76+ ):
77+ collection_data = load_test_data ("test_collection.json" )
78+ item_data = load_test_data ("test_item.json" )
79+ new_collection_id = "new-test-collection"
80+
81+ await txn_client .create_collection (collection_data , request = MockRequest )
82+ await txn_client .create_item (
83+ collection_id = collection_data ["id" ],
84+ item = item_data ,
85+ request = MockRequest ,
86+ refresh = True ,
87+ )
88+
89+ old_collection_id = collection_data ["id" ]
90+ collection_data ["id" ] = new_collection_id
91+
92+ await txn_client .update_collection (
93+ collection = collection_data ,
94+ request = MockRequest (
95+ query_params = {
96+ "collection_id" : old_collection_id ,
97+ "limit" : "10" ,
98+ }
99+ ),
100+ refresh = True ,
101+ )
102+
103+ with pytest .raises (NotFoundError ):
104+ await core_client .get_collection (old_collection_id , request = MockRequest )
105+
106+ coll = await core_client .get_collection (collection_data ["id" ], request = MockRequest )
107+ assert coll ["id" ] == new_collection_id
108+
109+ with pytest .raises (NotFoundError ):
110+ await core_client .get_item (
111+ item_id = item_data ["id" ],
112+ collection_id = old_collection_id ,
113+ request = MockRequest ,
114+ )
115+
116+ item = await core_client .get_item (
117+ item_id = item_data ["id" ],
118+ collection_id = collection_data ["id" ],
119+ request = MockRequest ,
120+ refresh = True ,
121+ )
122+
123+ assert item ["id" ] == item_data ["id" ]
124+ assert item ["collection" ] == new_collection_id
125+
126+ await txn_client .delete_collection (collection_data ["id" ])
53127
54128
55129@pytest .mark .asyncio
0 commit comments