@Test public void shouldQueryResourceSetToken() throws Exception { // Given Map<String, Object> queryParameters = new HashMap<String, Object>(); queryParameters.put(ResourceSetTokenField.CLIENT_ID, "CLIENT_ID"); ResourceSetDescription resourceSet1 = new ResourceSetDescription( "123", "CLIENT_ID", "RESOURCE_OWNER_ID", Collections.<String, Object>emptyMap()); ResourceSetDescription resourceSet2 = new ResourceSetDescription( "456", "CLIENT_ID", "RESOURCE_OWNER_ID", Collections.<String, Object>emptyMap()); given(dataStore.query(Matchers.<QueryFilter<String>>anyObject())) .willReturn(asSet(resourceSet1, resourceSet2)); resourceSet1.setRealm("REALM"); resourceSet2.setRealm("REALM"); // When QueryFilter<String> query = QueryFilter.alwaysTrue(); Set<ResourceSetDescription> resourceSetDescriptions = store.query(query); // Then assertThat(resourceSetDescriptions).contains(resourceSet1, resourceSet2); ArgumentCaptor<QueryFilter> tokenFilterCaptor = ArgumentCaptor.forClass(QueryFilter.class); verify(dataStore).query(tokenFilterCaptor.capture()); assertThat(tokenFilterCaptor.getValue()) .isEqualTo( QueryFilter.and(query, QueryFilter.equalTo(ResourceSetTokenField.REALM, "REALM"))); }