Search in sources :

Example 1 with Value

use of com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value in project stargate by stargate.

the class ApolloTest method updateProducts.

@Test
public void updateProducts() {
    ApolloClient client = getApolloClient("/graphql/" + keyspace);
    String productId = UUID.randomUUID().toString();
    ProductsInput insertInput = ProductsInput.builder().id(productId).name("Shiny Legs").price("3199.99").created(now()).description("Normal legs but shiny.").build();
    insertProduct(client, insertInput);
    ProductsInput input = ProductsInput.builder().id(productId).name(insertInput.name()).price(insertInput.price()).created(insertInput.created()).description("Normal legs but shiny. Now available in different colors").build();
    UpdateProductsMutation mutation = UpdateProductsMutation.builder().value(input).build();
    UpdateProductsMutation.Data result = getObservable(client.mutate(mutation));
    assertThat(result.getUpdateProducts()).hasValueSatisfying(updateProducts -> {
        assertThat(updateProducts.getApplied()).hasValue(true);
        assertThat(updateProducts.getValue()).hasValueSatisfying(product -> {
            assertThat(product.getId()).hasValue(productId);
            assertThat(product.getName()).hasValue(input.name());
            assertThat(product.getPrice()).hasValue(input.price());
            assertThat(product.getCreated()).hasValue(input.created());
            assertThat(product.getDescription()).hasValue(input.description());
        });
    });
    GetProductsWithFilterQuery.Value product = getProduct(client, productId);
    assertThat(product.getId()).hasValue(productId);
    assertThat(product.getName()).hasValue(input.name());
    assertThat(product.getPrice()).hasValue(input.price());
    assertThat(product.getCreated()).hasValue(input.created());
    assertThat(product.getDescription()).hasValue(input.description());
}
Also used : ApolloClient(com.apollographql.apollo.ApolloClient) UpdateProductsMutation(com.example.graphql.client.betterbotz.products.UpdateProductsMutation) GetProductsWithFilterQuery(com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery) ProductsInput(com.example.graphql.client.betterbotz.type.ProductsInput) Value(com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value) Test(org.junit.jupiter.api.Test)

Example 2 with Value

use of com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value in project stargate by stargate.

the class ApolloTest method getOrdersByValue.

@Test
public void getOrdersByValue() throws ExecutionException, InterruptedException {
    ApolloClient client = getApolloClient("/graphql/" + keyspace);
    OrdersInput ordersInput = OrdersInput.builder().prodName("Medium Lift Arms").build();
    GetOrdersByValueQuery query = GetOrdersByValueQuery.builder().value(ordersInput).build();
    CompletableFuture<GetOrdersByValueQuery.Data> future = new CompletableFuture<>();
    ApolloQueryCall<Optional<GetOrdersByValueQuery.Data>> observable = client.query(query);
    observable.enqueue(queryCallback(future));
    GetOrdersByValueQuery.Data result = future.get();
    observable.cancel();
    assertThat(result.getOrders()).isPresent();
    GetOrdersByValueQuery.Orders orders = result.getOrders().get();
    assertThat(orders.getValues()).isPresent();
    List<GetOrdersByValueQuery.Value> valuesList = orders.getValues().get();
    GetOrdersByValueQuery.Value value = valuesList.get(0);
    assertThat(value.getId()).hasValue("792d0a56-bb46-4bc2-bc41-5f4a94a83da9");
    assertThat(value.getProdId()).hasValue("31047029-2175-43ce-9fdd-b3d568b19bb2");
    assertThat(value.getProdName()).hasValue("Medium Lift Arms");
    assertThat(value.getCustomerName()).hasValue("Janice Evernathy");
    assertThat(value.getAddress()).hasValue("2101 Everplace Ave 3116");
    assertThat(value.getDescription()).hasValue("Ordering some more arms for my construction bot.");
    assertThat(value.getPrice()).hasValue("3199.99");
    assertThat(value.getSellPrice()).hasValue("3119.99");
}
Also used : GetOrdersByValueQuery(com.example.graphql.client.betterbotz.orders.GetOrdersByValueQuery) Optional(java.util.Optional) ApolloClient(com.apollographql.apollo.ApolloClient) OrdersInput(com.example.graphql.client.betterbotz.type.OrdersInput) CompletableFuture(java.util.concurrent.CompletableFuture) Value(com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value) Test(org.junit.jupiter.api.Test)

Example 3 with Value

use of com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value in project stargate by stargate.

the class ApolloTest method deleteProducts.

@Test
public void deleteProducts() {
    ApolloClient client = getApolloClient("/graphql/" + keyspace);
    String productId = UUID.randomUUID().toString();
    ProductsInput insertInput = ProductsInput.builder().id(productId).name("Shiny Legs").price("3199.99").created(now()).description("Normal legs but shiny.").build();
    insertProduct(client, insertInput);
    DeleteProductsMutation mutation = DeleteProductsMutation.builder().value(ProductsInput.builder().id(productId).build()).build();
    DeleteProductsMutation.Data result = getObservable(client.mutate(mutation));
    assertThat(result.getDeleteProducts()).hasValueSatisfying(deleteProducts -> {
        assertThat(deleteProducts.getApplied()).hasValue(true);
        assertThat(deleteProducts.getValue()).hasValueSatisfying(product -> {
            assertThat(product.getId()).hasValue(productId);
            assertThat(product.getName()).isEmpty();
            assertThat(product.getPrice()).isEmpty();
            assertThat(product.getCreated()).isEmpty();
            assertThat(product.getDescription()).isEmpty();
        });
    });
    List<Value> remainingProductValues = getProductValues(client, productId);
    assertThat(remainingProductValues).isEmpty();
}
Also used : ApolloClient(com.apollographql.apollo.ApolloClient) DeleteProductsMutation(com.example.graphql.client.betterbotz.products.DeleteProductsMutation) Value(com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value) ProductsInput(com.example.graphql.client.betterbotz.type.ProductsInput) Test(org.junit.jupiter.api.Test)

Example 4 with Value

use of com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value in project stargate by stargate.

the class ApolloTest method queryWithPaging.

@Test
public void queryWithPaging() {
    ApolloClient client = getApolloClient("/graphql/" + keyspace);
    for (String name : Arrays.asList("a", "b", "c")) {
        insertProduct(client, ProductsInput.builder().id(UUID.randomUUID().toString()).name(name).price("1.0").created(now()).build());
    }
    List<String> names = new ArrayList<>();
    Optional<Products> products = Optional.empty();
    do {
        products = getProducts(client, 1, products.flatMap(r -> r.getPageState()));
        products.ifPresent(p -> {
            p.getValues().ifPresent(values -> {
                for (Value value : values) {
                    value.getName().ifPresent(names::add);
                }
            });
        });
    } while (products.map(p -> p.getValues().map(v -> !v.isEmpty()).orElse(false)).orElse(// Continue if there are still values
    false));
    assertThat(names).containsExactlyInAnyOrder("a", "b", "c");
}
Also used : ApolloClient(com.apollographql.apollo.ApolloClient) GetProductsWithFilterQuery(com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery) Arrays(java.util.Arrays) Products(com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Products) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) ProductsInput(com.example.graphql.client.betterbotz.type.ProductsInput) CompletableFuture(java.util.concurrent.CompletableFuture) SimpleStatement(com.datastax.oss.driver.api.core.cql.SimpleStatement) ApolloClient(com.apollographql.apollo.ApolloClient) OrdersInput(com.example.graphql.client.betterbotz.type.OrdersInput) ArrayList(java.util.ArrayList) UpdateProductsMutation(com.example.graphql.client.betterbotz.products.UpdateProductsMutation) ApolloQueryCall(com.apollographql.apollo.ApolloQueryCall) ProductsAndOrdersMutation(com.example.graphql.client.betterbotz.atomic.ProductsAndOrdersMutation) Assertions.catchThrowableOfType(org.assertj.core.api.Assertions.catchThrowableOfType) InsertProductsMutation(com.example.graphql.client.betterbotz.products.InsertProductsMutation) UUID(java.util.UUID) Value(com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value) NotThreadSafe(net.jcip.annotations.NotThreadSafe) DisplayName(org.junit.jupiter.api.DisplayName) ExecutionException(java.util.concurrent.ExecutionException) Test(org.junit.jupiter.api.Test) GetOrdersByValueQuery(com.example.graphql.client.betterbotz.orders.GetOrdersByValueQuery) List(java.util.List) Optional(java.util.Optional) DeleteProductsMutation(com.example.graphql.client.betterbotz.products.DeleteProductsMutation) Products(com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Products) ArrayList(java.util.ArrayList) Value(com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value) Test(org.junit.jupiter.api.Test)

Aggregations

ApolloClient (com.apollographql.apollo.ApolloClient)4 Value (com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value)4 Test (org.junit.jupiter.api.Test)4 ProductsInput (com.example.graphql.client.betterbotz.type.ProductsInput)3 GetOrdersByValueQuery (com.example.graphql.client.betterbotz.orders.GetOrdersByValueQuery)2 DeleteProductsMutation (com.example.graphql.client.betterbotz.products.DeleteProductsMutation)2 GetProductsWithFilterQuery (com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery)2 UpdateProductsMutation (com.example.graphql.client.betterbotz.products.UpdateProductsMutation)2 OrdersInput (com.example.graphql.client.betterbotz.type.OrdersInput)2 Optional (java.util.Optional)2 CompletableFuture (java.util.concurrent.CompletableFuture)2 ApolloQueryCall (com.apollographql.apollo.ApolloQueryCall)1 SimpleStatement (com.datastax.oss.driver.api.core.cql.SimpleStatement)1 ProductsAndOrdersMutation (com.example.graphql.client.betterbotz.atomic.ProductsAndOrdersMutation)1 Products (com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Products)1 InsertProductsMutation (com.example.graphql.client.betterbotz.products.InsertProductsMutation)1 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1 List (java.util.List)1 UUID (java.util.UUID)1