andReturn(response).once();
// replay
replay(managementController, response);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
PropertyHelper.getPropertyIds(type),
PropertyHelper.getKeyPropertyIds(type),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
((ObservableResourceProvider)provider).addObserver(observer);
Map<String, Object> properties = new LinkedHashMap<String, Object>();
properties.put(ClusterResourceProvider.CLUSTER_VERSION_PROPERTY_ID, "HDP-0.1");
// create the request
Request request = PropertyHelper.getUpdateRequest(properties, mapRequestProps);
// update the cluster named Cluster102
Predicate predicate = new PredicateBuilder().property(
ClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID).equals("Cluster102").toPredicate();
provider.updateResources(request, predicate);
// update the cluster where id == 103
predicate = new PredicateBuilder().property(
ClusterResourceProvider.CLUSTER_ID_PROPERTY_ID).equals(103L).toPredicate();
provider.updateResources(request, predicate);
ResourceProviderEvent lastEvent = observer.getLastEvent();
Assert.assertNotNull(lastEvent);
Assert.assertEquals(Resource.Type.Cluster, lastEvent.getResourceType());
Assert.assertEquals(ResourceProviderEvent.Type.Update, lastEvent.getType());