/** * A search clause that will match inputs that had metadata that matches the metadata on the given * {@link ClarifaiInput} * * @param input the input whose metadata to search by * @return a {@link SearchClause} to be given to a search endpoint * @see #matchMetadata(JsonObject) */ @NotNull public static SearchClause matchMetadata(@NotNull ClarifaiInput input) { return matchMetadata(input.metadata()); }
@Retry @Test public void t17c_searchInputsWithModel_metadata() { final List<SearchHit> hits = assertSuccess( client.searchInputs(SearchClause.matchMetadata(new JSONObjectBuilder().add("foo", "bar").build())) ).searchHits(); final ClarifaiInput hit = hits.stream() .filter(someHit -> "inputWithMetadata".equals(someHit.input().id())) .findFirst() .orElseThrow(() -> new AssertionError("")) .input(); assertEquals("inputWithMetadata", hit.id()); assertEquals(new JSONObjectBuilder().add("foo", "bar").build(), hit.metadata()); }