### Question:
ClientConfigResourceProvider extends AbstractControllerResourceProvider { @Override public RequestStatus updateResources(final Request request, Predicate predicate) throws SystemException, UnsupportedPropertyException, NoSuchResourceException, NoSuchParentResourceException { throw new SystemException("The request is not supported"); } @AssistedInject  ClientConfigResourceProvider(@Assisted AmbariManagementController managementController); @Override RequestStatus createResources(Request request); @Override Set<Resource> getResourcesAuthorized(Request request, Predicate predicate); @Override RequestStatus updateResources(final Request request, Predicate predicate); @Override RequestStatus deleteResources(Request request, Predicate predicate);  }### Answer:
@Test public void testUpdateResources() throws Exception { Resource.Type type = Resource.Type.ClientConfig; AmbariManagementController managementController = createMock(AmbariManagementController.class); RequestStatusResponse response = createNiceMock(RequestStatusResponse.class); replay(managementController, response); ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider( type, managementController); Map<String, Object> properties = new LinkedHashMap<>(); Request request = PropertyHelper.getUpdateRequest(properties, null); Predicate predicate = new PredicateBuilder().property( ClientConfigResourceProvider.COMPONENT_CLUSTER_NAME_PROPERTY_ID).equals("c1").toPredicate(); try { provider.updateResources(request, predicate); Assert.fail("Expected an UnsupportedOperationException"); } catch (SystemException e) { } verify(managementController, response); }