@@ -152,9 +152,111 @@ class CleanUpUUIDTest: IntegrationTestRestBase() {
152152 assertEquals(0 , CleanUpUUIDApplication .numberExistingData())
153153 }
154154
155- // TODO multi distinct POST
156- // TODO mixed POST PUT
157- // TODO mixed multi POST PUT repeated
155+ @Test
156+ fun testMultiPostDelete () {
157+
158+ assertEquals(0 , CleanUpUUIDApplication .numberExistingData())
159+
160+ val pirTest = getPirToRest()
161+
162+ val post0 = pirTest.fromVerbPath(" post" , " /api/resources" )!!
163+ val post1 = pirTest.fromVerbPath(" post" , " /api/resources" )!!
164+ val post2 = pirTest.fromVerbPath(" post" , " /api/resources" )!!
165+
166+ val x = createIndividual(listOf (post0,post1,post2), SampleType .RANDOM )
167+ val resDel0 = x.evaluatedMainActions()[0 ].result as RestCallResult
168+ assertEquals(201 , resDel0.getStatusCode())
169+ assertEquals(1 , getReturnedSize(resDel0))
170+ val resDel1 = x.evaluatedMainActions()[1 ].result as RestCallResult
171+ assertEquals(201 , resDel1.getStatusCode())
172+ assertEquals(2 , getReturnedSize(resDel1))
173+ val resDel2 = x.evaluatedMainActions()[2 ].result as RestCallResult
174+ assertEquals(201 , resDel2.getStatusCode())
175+ assertEquals(3 , getReturnedSize(resDel2))
176+
177+
178+ assertEquals(3 , x.evaluatedMainActions().size)
179+ assertEquals(3 , x.individual.seeMainExecutableActions().size)
180+ assertEquals(3 , x.individual.seeCleanUpActions().size)
181+
182+ // delete should had been automatically added
183+ assertEquals(0 , CleanUpUUIDApplication .numberExistingData())
184+ }
185+
186+ @Test
187+ fun testPostPutDelete () {
188+
189+ assertEquals(0 , CleanUpUUIDApplication .numberExistingData())
190+
191+ val pirTest = getPirToRest()
192+
193+ val id = UUID .randomUUID().toString()
194+ val put = pirTest.fromVerbPath(" put" , " /api/resources/$id " )!!
195+ val post = pirTest.fromVerbPath(" post" , " /api/resources" )!!
196+
197+ val x = createIndividual(listOf (put,post), SampleType .RANDOM )
198+ val resDel = x.evaluatedMainActions()[0 ].result as RestCallResult
199+ assertEquals(201 , resDel.getStatusCode())
200+ assertEquals(1 , getReturnedSize(resDel))
201+ val resDel1 = x.evaluatedMainActions()[1 ].result as RestCallResult
202+ assertEquals(201 , resDel1.getStatusCode())
203+ assertEquals(2 , getReturnedSize(resDel1))
204+
205+
206+ assertEquals(2 , x.evaluatedMainActions().size)
207+ assertEquals(2 , x.individual.seeMainExecutableActions().size)
208+ assertEquals(2 , x.individual.seeCleanUpActions().size)
209+
210+ // delete should had been automatically added
211+ assertEquals(0 , CleanUpUUIDApplication .numberExistingData())
212+ }
213+
214+
215+ @Test
216+ fun testMultipleRepeatedPostPutDelete () {
217+
218+ assertEquals(0 , CleanUpUUIDApplication .numberExistingData())
219+
220+ val pirTest = getPirToRest()
221+
222+ val id0 = UUID .randomUUID().toString()
223+ val put0 = pirTest.fromVerbPath(" put" , " /api/resources/$id0 " )!!
224+ val id1 = UUID .randomUUID().toString()
225+ val put1 = pirTest.fromVerbPath(" put" , " /api/resources/$id1 " )!!
226+ // this is using same id as first call, so replace, does not create new resource
227+ val put2 = pirTest.fromVerbPath(" put" , " /api/resources/$id0 " )!!
228+
229+ val post0 = pirTest.fromVerbPath(" post" , " /api/resources" )!!
230+ val post1 = pirTest.fromVerbPath(" post" , " /api/resources" )!!
231+
232+
233+ val x = createIndividual(listOf (post0,put0,put1,put2,post1), SampleType .RANDOM )
234+
235+ val resDel0 = x.evaluatedMainActions()[0 ].result as RestCallResult
236+ assertEquals(201 , resDel0.getStatusCode())
237+ assertEquals(1 , getReturnedSize(resDel0))
238+ val resDel1 = x.evaluatedMainActions()[1 ].result as RestCallResult
239+ assertEquals(201 , resDel1.getStatusCode())
240+ assertEquals(2 , getReturnedSize(resDel1))
241+ val resDel2 = x.evaluatedMainActions()[2 ].result as RestCallResult
242+ assertEquals(201 , resDel2.getStatusCode())
243+ assertEquals(3 , getReturnedSize(resDel2))
244+ val resDel3 = x.evaluatedMainActions()[3 ].result as RestCallResult
245+ assertEquals(200 , resDel3.getStatusCode())
246+ assertEquals(3 , getReturnedSize(resDel3))
247+ val resDel4 = x.evaluatedMainActions()[4 ].result as RestCallResult
248+ assertEquals(201 , resDel4.getStatusCode())
249+ assertEquals(4 , getReturnedSize(resDel4))
250+
251+
252+ assertEquals(5 , x.evaluatedMainActions().size)
253+ assertEquals(5 , x.individual.seeMainExecutableActions().size)
254+ assertEquals(4 , x.individual.seeCleanUpActions().size)
255+
256+ // delete should had been automatically added
257+ assertEquals(0 , CleanUpUUIDApplication .numberExistingData())
258+ }
259+
260+
158261 // TODO merge (various combinations)
159- // TODO mutation remove POST/PUT (should remove delete)
160- }
262+ }
0 commit comments