@Test
  public void testWhitelistCreatedSuccessfully()
      throws ServiceInstanceBindingExistsException, ServiceBrokerException {

    bindingService =
        new BrooklynServiceInstanceBindingService(
            new BrooklynRestAdmin(brooklynApi, httpClient, config),
            bindingRepository,
            instanceRepository,
            brooklynCatalogService);

    when(admin.getCredentialsFromSensors(
            anyString(),
            any(Predicate.class),
            any(Predicate.class),
            any(Predicate.class),
            any(Predicate.class)))
        .thenCallRealMethod();

    when(brooklynApi.getSensorApi()).thenReturn(sensorApi);
    when(sensorApi.list(anyString(), anyString()))
        .thenReturn(
            ImmutableList.of(
                new SensorSummary(
                    "my.sensor", "my sensor type", "my sensor description", ImmutableMap.of()),
                new SensorSummary(
                    "sensor.one.name",
                    "sensor one type",
                    "sensor one description",
                    ImmutableMap.of())));
    when(brooklynApi.getEntityApi()).thenReturn(entityApi);
    when(entityApi.list(any()))
        .thenReturn(
            ImmutableList.of(
                new EntitySummary(
                    "entityId", "name", "entityType", "catalogItemId", ImmutableMap.of())));
    when(instanceRepository.findOne(anyString(), anyBoolean())).thenReturn(serviceInstance);
    when(brooklynCatalogService.getServiceDefinition(Mockito.anyString()))
        .thenReturn(serviceDefinition);
    when(serviceInstance.getServiceDefinitionId()).thenReturn(SVC_DEFN_ID);
    when(serviceDefinition.getMetadata()).thenReturn(ImmutableMap.of("planYaml", WHITELIST_YAML));
    when(brooklynApi.getEffectorApi()).thenReturn(effectorApi);
    when(effectorApi.invoke(anyString(), anyString(), anyString(), anyString(), anyMap()))
        .thenReturn(bindEffectorResponse);

    CreateServiceInstanceBindingRequest request =
        new CreateServiceInstanceBindingRequest(
            serviceInstance.getServiceDefinitionId(), "planId", "appGuid");
    ServiceInstanceBinding binding =
        bindingService.createServiceInstanceBinding(request.withBindingId(SVC_INST_BIND_ID));

    ServiceInstanceBinding expectedBinding =
        new ServiceInstanceBinding(
            SVC_INST_BIND_ID,
            serviceInstance.getServiceInstanceId(),
            EXPECTED_CREDENTIALS,
            null,
            "appGuid");

    assertEquals(expectedBinding.getAppGuid(), binding.getAppGuid());
    assertEquals(expectedBinding.getCredentials(), binding.getCredentials());
    assertEquals(expectedBinding.getId(), binding.getId());
    assertEquals(expectedBinding.getServiceInstanceId(), binding.getServiceInstanceId());
    assertEquals(expectedBinding.getSyslogDrainUrl(), binding.getSyslogDrainUrl());
  }