@NotNull @Override public GetInputsRequest getInputs() { return new GetInputsRequest(this); }
@NotNull @Override protected String subUrl(final int page) { return buildURL("/v2/inputs", page); }
@NotNull @Override protected ListenableFuture buildRequestGrpc(int page) { return stub(page).listInputs( InputOuterClass.ListInputsRequest.newBuilder() .build() ); } }
@Test public void getInputs() { client.getInputs() // optionally takes a perPage parameter .getPage(1) .executeSync(); }
@Retry @Test public void t00_deleteAllInputs() { sleep(5000); assertSuccess(client.deleteAllInputs()); retryAndTimeout(1, TimeUnit.MINUTES, () -> client.getInputs().build().getPage(1).executeSync().get().isEmpty() ); }
@Test public void shouldHaveCorrectStatusWhenInvalidKey() { GetInputsRequest request = makeClient("some-invalid-key-321").getInputs(); ClarifaiResponse<List<ClarifaiInput>> response = request.getPage(1).executeSync(); assertEquals("API key not found", response.getStatus().description()); }
@Test public void shouldHaveCorrectStatusWhenKeyHasNoScope() { GetInputsRequest request = makeClient(EnvVar.CLARIFAI_API_KEY_NO_SCOPES.value()).getInputs(); ClarifaiResponse<List<ClarifaiInput>> response = request.getPage(1).executeSync(); assertEquals("API key has insufficient scopes", response.getStatus().description()); }
@Test public void inputsRequestShouldReturnConceptsWhenWithPermissions() { try { addInputWithConcepts(client, FAMILY_IMAGE_URL, "conceptA", "conceptB"); addInputWithConcepts(client, METRO_NORTH_IMAGE_URL, "conceptA"); GetInputsRequest request = makeClient(EnvVar.CLARIFAI_API_KEY_ALL_GET.value()).getInputs(); ClarifaiResponse<List<ClarifaiInput>> response = request.getPage(1).executeSync(); assertEquals(10000, response.getStatus().statusCode()); int maxConceptsSize = 0; for (ClarifaiInput inputResponse : response.get()) { maxConceptsSize = Math.max(inputResponse.concepts().size(), maxConceptsSize); } assertNotEquals(0, maxConceptsSize); } finally { client.deleteAllInputs().executeSync(); } }
@Test public void inputsRequestShouldReturnNotReturnConceptsWhenNoPermissions() { try { addInputWithConcepts(client, FAMILY_IMAGE_URL, "conceptA", "conceptB"); addInputWithConcepts(client, METRO_NORTH_IMAGE_URL, "conceptA"); GetInputsRequest request = makeClient(EnvVar.CLARIFAI_API_KEY_INPUTS_GET_PATCH.value()).getInputs(); ClarifaiResponse<List<ClarifaiInput>> response = request.getPage(1).executeSync(); assertEquals(10000, response.getStatus().statusCode()); int maxConceptsSize = 0; for (ClarifaiInput inputResponse : response.get()) { maxConceptsSize = Math.max(inputResponse.concepts().size(), maxConceptsSize); } assertEquals(0, maxConceptsSize); } finally { client.deleteAllInputs().executeSync(); } }