Search in sources :

Example 21 with Response

use of com.github.ljtfreitas.julian.Response in project julian-http-client by ljtfreitas.

the class VectorResponseTTest method bind.

@Test
void bind() {
    when(endpoint.returnType()).thenReturn(JavaType.parameterized(Collection.class, String.class));
    Collection<String> values = List.of("one", "two", "three");
    Promise<Response<Collection<String>>> promise = Promise.done(Response.done(values));
    ResponseFn<Collection<String>, Collection<Object>> fn = new CollectionResponseT().bind(endpoint, new ObjectResponseT<Collection<Object>>().bind(endpoint, null));
    Vector<Object> vector = responseT.bind(endpoint, fn).join(promise, Arguments.empty());
    assertTrue(vector.containsAll(values));
}
Also used : Response(com.github.ljtfreitas.julian.Response) CollectionResponseT(com.github.ljtfreitas.julian.CollectionResponseT) Collection(java.util.Collection) ObjectResponseT(com.github.ljtfreitas.julian.ObjectResponseT) Test(org.junit.jupiter.api.Test)

Example 22 with Response

use of com.github.ljtfreitas.julian.Response in project julian-http-client by ljtfreitas.

the class IndexedSeqResponseTTest method bindNullCollection.

@Test
void bindNullCollection() {
    when(endpoint.returnType()).thenReturn(JavaType.parameterized(Collection.class, String.class));
    Promise<Response<Collection<String>>> promise = Promise.done(Response.done(null));
    ResponseFn<Collection<String>, Collection<Object>> fn = new CollectionResponseT().bind(endpoint, new ObjectResponseT<Collection<Object>>().bind(endpoint, null));
    IndexedSeq<Object> seq = responseT.bind(endpoint, fn).join(promise, Arguments.empty());
    assertTrue(seq.isEmpty());
}
Also used : Response(com.github.ljtfreitas.julian.Response) CollectionResponseT(com.github.ljtfreitas.julian.CollectionResponseT) Collection(java.util.Collection) ObjectResponseT(com.github.ljtfreitas.julian.ObjectResponseT) Test(org.junit.jupiter.api.Test)

Example 23 with Response

use of com.github.ljtfreitas.julian.Response in project julian-http-client by ljtfreitas.

the class LinearSeqResponseTTest method bindNullCollection.

@Test
void bindNullCollection() {
    when(endpoint.returnType()).thenReturn(JavaType.parameterized(Collection.class, String.class));
    Promise<Response<Collection<String>>> promise = Promise.done(Response.done(null));
    ResponseFn<Collection<String>, Collection<Object>> fn = new CollectionResponseT().bind(endpoint, new ObjectResponseT<Collection<Object>>().bind(endpoint, null));
    LinearSeq<Object> seq = responseT.bind(endpoint, fn).join(promise, Arguments.empty());
    assertTrue(seq.isEmpty());
}
Also used : Response(com.github.ljtfreitas.julian.Response) CollectionResponseT(com.github.ljtfreitas.julian.CollectionResponseT) Collection(java.util.Collection) ObjectResponseT(com.github.ljtfreitas.julian.ObjectResponseT) Test(org.junit.jupiter.api.Test)

Example 24 with Response

use of com.github.ljtfreitas.julian.Response in project julian-http-client by ljtfreitas.

the class LinearSeqResponseTTest method bind.

@Test
void bind() {
    when(endpoint.returnType()).thenReturn(JavaType.parameterized(Collection.class, String.class));
    Collection<String> values = List.of("one", "two", "three");
    Promise<Response<Collection<String>>> promise = Promise.done(Response.done(values));
    ResponseFn<Collection<String>, Collection<Object>> fn = new CollectionResponseT().bind(endpoint, new ObjectResponseT<Collection<Object>>().bind(endpoint, null));
    LinearSeq<Object> seq = responseT.bind(endpoint, fn).join(promise, Arguments.empty());
    assertTrue(seq.containsAll(values));
}
Also used : Response(com.github.ljtfreitas.julian.Response) CollectionResponseT(com.github.ljtfreitas.julian.CollectionResponseT) Collection(java.util.Collection) ObjectResponseT(com.github.ljtfreitas.julian.ObjectResponseT) Test(org.junit.jupiter.api.Test)

Example 25 with Response

use of com.github.ljtfreitas.julian.Response in project julian-http-client by ljtfreitas.

the class ListResponseTTest method bind.

@Test
void bind() {
    when(endpoint.returnType()).thenReturn(JavaType.parameterized(Collection.class, String.class));
    Collection<String> values = java.util.List.of("one", "two", "three");
    Promise<Response<Collection<String>>> promise = Promise.done(Response.done(values));
    ResponseFn<Collection<String>, Collection<Object>> fn = new CollectionResponseT().bind(endpoint, new ObjectResponseT<Collection<Object>>().bind(endpoint, null));
    List<Object> list = responseT.bind(endpoint, fn).join(promise, Arguments.empty());
    assertTrue(list.containsAll(values));
}
Also used : Response(com.github.ljtfreitas.julian.Response) CollectionResponseT(com.github.ljtfreitas.julian.CollectionResponseT) Collection(java.util.Collection) ObjectResponseT(com.github.ljtfreitas.julian.ObjectResponseT) Test(org.junit.jupiter.api.Test)

Aggregations

Response (com.github.ljtfreitas.julian.Response)29 Test (org.junit.jupiter.api.Test)25 ObjectResponseT (com.github.ljtfreitas.julian.ObjectResponseT)24 CollectionResponseT (com.github.ljtfreitas.julian.CollectionResponseT)22 Collection (java.util.Collection)22 Function (java.util.function.Function)4 HTTPHeader (com.github.ljtfreitas.julian.http.HTTPHeader)3 HTTPHeaders (com.github.ljtfreitas.julian.http.HTTPHeaders)3 HTTPResponseBody (com.github.ljtfreitas.julian.http.HTTPResponseBody)3 HTTPStatus (com.github.ljtfreitas.julian.http.HTTPStatus)3 HTTPStatusCode (com.github.ljtfreitas.julian.http.HTTPStatusCode)3 HTTPClientResponse (com.github.ljtfreitas.julian.http.client.HTTPClientResponse)3 Optional (java.util.Optional)3 DefaultResponseT (com.github.ljtfreitas.julian.DefaultResponseT)2 TestObserver (io.reactivex.rxjava3.observers.TestObserver)2 Arguments (com.github.ljtfreitas.julian.Arguments)1 Completable (io.reactivex.rxjava3.core.Completable)1 Maybe (io.reactivex.rxjava3.core.Maybe)1 Single (io.reactivex.rxjava3.core.Single)1 TestSubscriber (io.reactivex.rxjava3.subscribers.TestSubscriber)1