@@ -8,6 +8,7 @@ import naksha.model.NakshaError
88import naksha.model.objects.NakshaCollection
99import naksha.model.objects.NakshaFeature
1010import naksha.model.objects.StoreMode
11+ import naksha.model.request.ErrorResponse
1112import naksha.model.request.ReadFeatures
1213import naksha.model.request.Write
1314import naksha.model.request.WriteRequest
@@ -112,7 +113,7 @@ class CollectionTests : PgTestBase(collection = null) {
112113 indices.add(cursor[" indexname" ])
113114 }
114115 assertTrue(PgIndex .DEFAULT_INDICES .size <= indices.size)
115- assertTrue(PgIndex .DEFAULT_INDICES .all { index -> indices.any { addedIndex -> addedIndex.contains(index)} })
116+ assertTrue(PgIndex .DEFAULT_INDICES .all { index -> indices.any { addedIndex -> addedIndex.contains(index) } })
116117 cursor.close()
117118 }
118119
@@ -147,22 +148,22 @@ class CollectionTests : PgTestBase(collection = null) {
147148 readFeature.featureIds.add(feature.id)
148149 executeWrite(
149150 WriteRequest ().add(
150- Write ().createFeature(null , collectionName,feature)
151+ Write ().createFeature(null , collectionName, feature)
151152 )
152153 )
153154 val insertedFeatureResponse = executeRead(readFeature)
154- assertEquals(1 ,insertedFeatureResponse.features.size)
155+ assertEquals(1 , insertedFeatureResponse.features.size)
155156 feature.properties[" foo" ] = " bar"
156157 executeWrite(
157158 WriteRequest ().add(
158- Write ().updateFeature(null , collectionName,feature)
159+ Write ().updateFeature(null , collectionName, feature)
159160 )
160161 )
161162 val updatedFeatureResponse = executeRead(readFeature)
162163 assertEquals(" bar" , updatedFeatureResponse.features[0 ]?.properties!! [" foo" ])
163164 executeWrite(
164165 WriteRequest ().add(
165- Write ().deleteFeatureById(null , collectionName,feature.id)
166+ Write ().deleteFeatureById(null , collectionName, feature.id)
166167 )
167168 )
168169 val deletedFeatureResponse = executeRead(readFeature)
@@ -175,7 +176,7 @@ class CollectionTests : PgTestBase(collection = null) {
175176 val collection = NakshaCollection (
176177 id = collectionName,
177178 storeDeleted = StoreMode .OFF
178- )
179+ )
179180 executeWrite(
180181 WriteRequest ().add(
181182 Write ().createCollection(null , collection)
@@ -200,22 +201,22 @@ class CollectionTests : PgTestBase(collection = null) {
200201 readFeature.featureIds.add(feature.id)
201202 executeWrite(
202203 WriteRequest ().add(
203- Write ().createFeature(null , collectionName,feature)
204+ Write ().createFeature(null , collectionName, feature)
204205 )
205206 )
206207 val insertedFeatureResponse = executeRead(readFeature)
207- assertEquals(1 ,insertedFeatureResponse.features.size)
208+ assertEquals(1 , insertedFeatureResponse.features.size)
208209 feature.properties[" foo" ] = " bar"
209210 executeWrite(
210211 WriteRequest ().add(
211- Write ().updateFeature(null , collectionName,feature)
212+ Write ().updateFeature(null , collectionName, feature)
212213 )
213214 )
214215 val updatedFeatureResponse = executeRead(readFeature)
215216 assertEquals(" bar" , updatedFeatureResponse.features[0 ]?.properties!! [" foo" ])
216217 executeWrite(
217218 WriteRequest ().add(
218- Write ().deleteFeatureById(null , collectionName,feature.id)
219+ Write ().deleteFeatureById(null , collectionName, feature.id)
219220 )
220221 )
221222 val deletedFeatureResponse = executeRead(readFeature)
@@ -301,4 +302,28 @@ class CollectionTests : PgTestBase(collection = null) {
301302 // then
302303 assertNull(response.resultSet?.result?.get(0 ))
303304 }
305+
306+ @Test
307+ fun testCreateExistingCollection () {
308+ // Given: collection in db
309+ val collectionId = " test_create_existing_collection"
310+ executeWrite(
311+ WriteRequest ().add(
312+ Write ().createCollection(null , NakshaCollection (collectionId))
313+ )
314+ )
315+
316+ // When: create same collection once again
317+ val response = env.storage.newWriteSession().use { session ->
318+ session.execute(
319+ WriteRequest ().add(
320+ Write ().createCollection(null , NakshaCollection (collectionId))
321+ )
322+ )
323+ }
324+
325+ // Then
326+ assertIs<ErrorResponse >(response)
327+ assertEquals(NakshaError .CONFLICT , response.error.code)
328+ }
304329}
0 commit comments