Skip to content

Commit 7911549

Browse files
committed
creates update
1 parent d1227e3 commit 7911549

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

cassandra-driver/src/test/java/jakarta/nosql/tck/communication/driver/column/ColumnFamilyManagerTest.java

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
import static jakarta.nosql.column.ColumnDeleteQuery.delete;
3434
import static org.junit.jupiter.api.Assertions.assertEquals;
35+
import static org.junit.jupiter.api.Assertions.assertNotNull;
3536
import static org.junit.jupiter.api.Assertions.assertThrows;
3637
import static org.junit.jupiter.api.Assumptions.assumeTrue;
3738

@@ -158,6 +159,63 @@ public void shouldReturnErrorWhenInsertIterableTTL(ColumnArgument argument) thro
158159
null));
159160
}
160161

162+
163+
@ParameterizedTest
164+
@ColumnSource("column_insert.properties")
165+
public void shouldUpdate(ColumnArgument argument) {
166+
assumeTrue(argument.isEmpty());
167+
ColumnFamilyManager manager = getManager();
168+
Optional<ColumnEntity> entityOptional = argument.getQuery().stream().flatMap(manager::query)
169+
.findFirst();
170+
Assertions.assertTrue(entityOptional.isPresent());
171+
final ColumnEntity entity = entityOptional
172+
.orElseThrow(() -> new ColumnDriverException("Should return an entity when the entity is saved"));
173+
assertNotNull(manager.update(entity));
174+
final Column id = entity.find(argument.getIdName())
175+
.orElseThrow(() -> new ColumnDriverException("Should return the id in the entity"));
176+
ColumnDeleteQuery deleteQuery = delete().from(entity.getName()).where(id.getName()).eq(id.get()).build();
177+
manager.delete(deleteQuery);
178+
}
179+
180+
@ParameterizedTest
181+
@ColumnSource("column_insert.properties")
182+
public void shouldReturnErrorWhenUpdateIsNull(ColumnArgument argument) {
183+
assumeTrue(argument.isEmpty());
184+
ColumnFamilyManager manager = getManager();
185+
assertThrows(NullPointerException.class, () -> manager.update((ColumnEntity) null));
186+
}
187+
188+
@ParameterizedTest
189+
@ColumnSource("column_insert_iterable.properties")
190+
public void shouldUpdateIterable(ColumnArgument argument) {
191+
assumeTrue(argument.isEmpty());
192+
ColumnFamilyManager manager = getManager();
193+
List<ColumnEntity> entities = argument.getQuery().stream().flatMap(manager::query)
194+
.collect(Collectors.toList());
195+
196+
assertNotNull(manager.update(entities));
197+
final List<Object> ids = entities.stream()
198+
.map(c -> c.find(argument.getIdName()))
199+
.filter(Optional::isPresent)
200+
.map(Optional::get)
201+
.map(Column::get)
202+
.collect(Collectors.toList());
203+
204+
assertEquals(argument.getQuery().size(), ids.size());
205+
206+
ColumnDeleteQuery deleteQuery = delete().from(entities.get(0).getName())
207+
.where(argument.getIdName()).in(ids).build();
208+
manager.delete(deleteQuery);
209+
}
210+
211+
@ParameterizedTest
212+
@ColumnSource("column_insert_iterable.properties")
213+
public void shouldReturnErrorWhenUpdateIterableIsNull(ColumnArgument argument) {
214+
assumeTrue(argument.isEmpty());
215+
ColumnFamilyManager manager = getManager();
216+
assertThrows(NullPointerException.class, () -> manager.update((Iterable<ColumnEntity>) null));
217+
}
218+
161219
private ColumnFamilyManager getManager() {
162220
final ColumnFamilyManagerSupplier supplier = ServiceLoaderProvider.get(ColumnFamilyManagerSupplier.class);
163221
return supplier.get();

0 commit comments

Comments
 (0)