@Test(enabled = false, expectedExceptions = BadRequestException.class)
  public void shouldNotCreateDuplicateResourceSetWithSameId() throws Exception {

    // Given
    OAuth2Request request = mock(OAuth2Request.class);
    ResourceSetDescription resourceSetDescription =
        new ResourceSetDescription(
            "RESOURCE_SET_ID",
            "CLIENT_ID",
            "RESOURCE_OWNER_ID",
            Collections.<String, Object>singletonMap("name", "RESOURCE_SET_NAME"));

    resourceSetDescription.setRealm("REALM");
    given(dataStore.query(Matchers.<QueryFilter<String>>anyObject()))
        .willReturn(Collections.singleton(resourceSetDescription));

    // When
    try {
      store.create(request, resourceSetDescription);
    } catch (BadRequestException e) {
      // Then
      assertThat(resourceSetDescription.getPolicyUri()).isNull();
      verify(dataStore, never()).create(any(ResourceSetDescription.class));
      throw e;
    }
  }
  @Test
  public void shouldCreateResourceSetToken() throws Exception {

    // Given
    OAuth2Request request = mock(OAuth2Request.class);
    ResourceSetDescription resourceSetDescription =
        new ResourceSetDescription(
            "RESOURCE_SET_ID",
            "CLIENT_ID",
            "RESOURCE_OWNER_ID",
            Collections.<String, Object>singletonMap("name", "RESOURCE_SET_NAME"));

    given(dataStore.query(Matchers.<QueryFilter<String>>anyObject()))
        .willReturn(Collections.<ResourceSetDescription>emptySet());

    // When
    store.create(request, resourceSetDescription);

    // Then
    assertThat(resourceSetDescription.getPolicyUri()).isEqualTo("POLICY_URI");
    verify(dataStore).create(resourceSetDescription);
  }