Search in sources :

Example 36 with Person

use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.

the class DefaultReactiveDocumentTemplateTest method shouldUpdateIterable.

@Test
public void shouldUpdateIterable() {
    AtomicReference<List<Person>> reference = new AtomicReference<>();
    Person ada = Person.builder().withId(1L).withAge(30).withName("Ada").build();
    Collection<Person> adas = Arrays.asList(ada, ada);
    Mockito.when(template.update(adas)).thenReturn(adas);
    final Observable<Person> observable = manager.update(adas);
    Mockito.verify(template, Mockito.never()).update(adas);
    CompletionStage<List<Person>> completion = observable.getList();
    completion.thenAccept(reference::set);
    Mockito.verify(template).update(adas);
    MatcherAssert.assertThat(reference.get(), Matchers.containsInAnyOrder(ada, ada));
}
Also used : List(java.util.List) AtomicReference(java.util.concurrent.atomic.AtomicReference) Person(jakarta.nosql.tck.entities.Person) Test(org.junit.jupiter.api.Test)

Example 37 with Person

use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.

the class DefaultReactiveDocumentTemplateTest method shouldInsertDuration.

@Test
public void shouldInsertDuration() {
    Duration duration = Duration.ofSeconds(1L);
    AtomicReference<Person> reference = new AtomicReference<>();
    Person ada = Person.builder().withId(1L).withAge(30).withName("Ada").build();
    Mockito.when(template.insert(ada, duration)).thenReturn(ada);
    final Observable<Person> observable = manager.insert(ada, duration);
    Mockito.verify(template, Mockito.never()).insert(ada, duration);
    CompletionStage<Optional<Person>> completion = observable.getFirst();
    completion.thenAccept(o -> reference.set(o.get()));
    Mockito.verify(template).insert(ada, duration);
    assertEquals(ada, reference.get());
}
Also used : Optional(java.util.Optional) Duration(java.time.Duration) AtomicReference(java.util.concurrent.atomic.AtomicReference) Person(jakarta.nosql.tck.entities.Person) Test(org.junit.jupiter.api.Test)

Example 38 with Person

use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.

the class DefaultReactiveDocumentTemplateTest method shouldInsertIterableDuration.

@Test
public void shouldInsertIterableDuration() {
    Duration duration = Duration.ofSeconds(10);
    AtomicReference<List<Person>> reference = new AtomicReference<>();
    Person ada = Person.builder().withId(1L).withAge(30).withName("Ada").build();
    Collection<Person> adas = Arrays.asList(ada, ada);
    Mockito.when(template.insert(adas, duration)).thenReturn(adas);
    final Observable<Person> observable = manager.insert(adas, duration);
    Mockito.verify(template, Mockito.never()).insert(adas, duration);
    CompletionStage<List<Person>> completion = observable.getList();
    completion.thenAccept(reference::set);
    Mockito.verify(template).insert(adas, duration);
    MatcherAssert.assertThat(reference.get(), Matchers.containsInAnyOrder(ada, ada));
}
Also used : Duration(java.time.Duration) List(java.util.List) AtomicReference(java.util.concurrent.atomic.AtomicReference) Person(jakarta.nosql.tck.entities.Person) Test(org.junit.jupiter.api.Test)

Example 39 with Person

use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.

the class DefaultReactiveColumnTemplateTest method shouldInsertIterableDuration.

@Test
public void shouldInsertIterableDuration() {
    Duration duration = Duration.ofSeconds(10);
    AtomicReference<List<Person>> reference = new AtomicReference<>();
    Person ada = Person.builder().withId(1L).withAge(30).withName("Ada").build();
    Collection<Person> adas = Arrays.asList(ada, ada);
    Mockito.when(template.insert(adas, duration)).thenReturn(adas);
    final Publisher<Person> publisher = manager.insert(adas, duration).getPublisher();
    CompletionSubscriber<Person, List<Person>> subscriber = ReactiveStreams.<Person>builder().toList().build();
    Mockito.verify(template, Mockito.never()).insert(adas, duration);
    publisher.subscribe(subscriber);
    CompletionStage<List<Person>> completion = subscriber.getCompletion();
    completion.thenAccept(reference::set);
    Mockito.verify(template).insert(adas, duration);
    MatcherAssert.assertThat(reference.get(), Matchers.containsInAnyOrder(ada, ada));
}
Also used : Duration(java.time.Duration) List(java.util.List) AtomicReference(java.util.concurrent.atomic.AtomicReference) Person(jakarta.nosql.tck.entities.Person) Test(org.junit.jupiter.api.Test)

Example 40 with Person

use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.

the class DefaultReactiveColumnTemplateTest method shouldSingleResult.

@Test
public void shouldSingleResult() {
    String query = "select * from Person";
    AtomicReference<List<Person>> reference = new AtomicReference<>();
    Person ada = Person.builder().withId(1L).withAge(30).withName("Ada").build();
    Mockito.when(template.singleResult(query)).thenReturn(Optional.of(ada));
    final Observable<Person> publisher = manager.singleResult(query);
    Mockito.verify(template, Mockito.never()).singleResult(query);
    CompletionStage<List<Person>> completion = publisher.getList();
    completion.thenAccept(reference::set);
    Mockito.verify(template).singleResult(query);
    MatcherAssert.assertThat(reference.get(), Matchers.containsInAnyOrder(ada));
}
Also used : List(java.util.List) AtomicReference(java.util.concurrent.atomic.AtomicReference) Person(jakarta.nosql.tck.entities.Person) Test(org.junit.jupiter.api.Test)

Aggregations

Person (jakarta.nosql.tck.entities.Person)201 Test (org.junit.jupiter.api.Test)197 DocumentQuery (jakarta.nosql.document.DocumentQuery)50 ColumnQuery (jakarta.nosql.column.ColumnQuery)49 Pagination (jakarta.nosql.mapping.Pagination)42 List (java.util.List)32 AtomicReference (java.util.concurrent.atomic.AtomicReference)29 ColumnCondition (jakarta.nosql.column.ColumnCondition)17 DocumentCondition (jakarta.nosql.document.DocumentCondition)17 Collections.singletonList (java.util.Collections.singletonList)14 Optional (java.util.Optional)13 Arrays.asList (java.util.Arrays.asList)12 ColumnDeleteQuery (jakarta.nosql.column.ColumnDeleteQuery)11 DocumentDeleteQuery (jakarta.nosql.document.DocumentDeleteQuery)11 ColumnQueryPagination (jakarta.nosql.mapping.column.ColumnQueryPagination)9 DocumentQueryPagination (jakarta.nosql.mapping.document.DocumentQueryPagination)9 Duration (java.time.Duration)8 ColumnEntity (jakarta.nosql.column.ColumnEntity)7 DocumentEntity (jakarta.nosql.document.DocumentEntity)7 ArrayList (java.util.ArrayList)7