Package org.rhq.core.domain.configuration

Examples of org.rhq.core.domain.configuration.ResourceConfigurationUpdate


    @Test
    public void updateRawResourceConfigShouldUpdateAuditTrailAndSendUpdateToAgent() throws Exception {
        final ResourceConfigUpdateFixture fixture = newRawResourceConfigUpdateFixture();

        final ResourceConfigurationUpdate expectedUpdate = new ResourceConfigurationUpdate(fixture.resource,
            fixture.configuration, fixture.subject.getName());

        final AgentClient agentClient = context.mock(AgentClient.class);
        final ConfigurationAgentService configAgentService = context.mock(ConfigurationAgentService.class);

        final ConfigurationUpdateRequest expectedUpdateRequest = new ConfigurationUpdateRequest(expectedUpdate.getId(),
            expectedUpdate.getConfiguration(), expectedUpdate.getResource().getId());

        final Query query = context.mock(Query.class);

        context.checking(new Expectations() {
            {
                allowing(subjectMgr).getOverlord();
                will(returnValue(OVERLORD));

                allowing(resourceMgr).getResource(OVERLORD, fixture.resourceId);
                will(returnValue(fixture.resource));

                allowing(entityMgr).find(Resource.class, fixture.resourceId);
                will(returnValue(fixture.resource));

                oneOf(authorizationMgr).hasResourcePermission(fixture.subject, CONFIGURE_WRITE, fixture.resourceId);
                will(returnValue(true));

                oneOf(configurationMgrLocal).persistResourceConfigurationUpdateInNewTransaction(fixture.subject,
                    fixture.resourceId, fixture.configuration, INPROGRESS, fixture.subject.getName(),
                    fixture.isPartOfGroupUpdate);
                will(returnValue(expectedUpdate));

                allowing(agentMgr).getAgentClient(expectedUpdate.getResource().getAgent());
                will(returnValue(agentClient));

                allowing(agentClient).getConfigurationAgentService();
                will(returnValue(configAgentService));

                oneOf(configAgentService).updateResourceConfiguration(
                    with(matchingUpdateRequest(expectedUpdateRequest)));

                allowing(entityMgr).createNamedQuery("ConfigurationDefinition.findResourceByResourceTypeId");
                will(returnValue(query));
                allowing(query).setParameter("resourceTypeId", fixture.resourceTypeId);
                allowing(query).getSingleResult();
                will(returnValue(fixture.configurationDefinition));

                oneOf(configurationMgrLocal).getResourceConfigurationDefinitionForResourceType(fixture.subject,
                    fixture.resourceTypeId);
                will(returnValue(fixture.configurationDefinition));
            }
        });

        ResourceConfigurationUpdate actualUpdate = configurationMgr.updateResourceConfiguration(fixture.subject,
            fixture.resourceId, fixture.configuration);

        assertSame(actualUpdate, expectedUpdate, "Expected to get back the persisted configuration update");
    }
View Full Code Here


    @Test
    public void updateResourceConfigShouldNotTranslateStructuredWhenRawNotSupported() throws Exception {
        final ResourceConfigUpdateFixture fixture = newStructuredResourceConfigUpdateFixture();

        final ResourceConfigurationUpdate expectedUpdate = new ResourceConfigurationUpdate(fixture.resource,
            fixture.configuration, fixture.subject.getName());
        expectedUpdate.setId(-1);

        final AgentClient agentClient = context.mock(AgentClient.class);
        final ConfigurationAgentService configAgentService = context.mock(ConfigurationAgentService.class);

        final ConfigurationUpdateRequest expectedUpdateRequest = new ConfigurationUpdateRequest(expectedUpdate.getId(),
            expectedUpdate.getConfiguration(), expectedUpdate.getResource().getId());

        final Sequence configUdpate = context.sequence("structured-config-update");

        context.checking(new Expectations() {
            {
                oneOf(authorizationMgr).canViewResource(fixture.subject, fixture.resourceId);
                will(returnValue(true));

                oneOf(authorizationMgr).hasResourcePermission(fixture.subject, CONFIGURE_WRITE, fixture.resourceId);
                will(returnValue(true));

                allowing(entityMgr).find(Resource.class, fixture.resourceId);
                will(returnValue(fixture.resource));

                allowing(agentMgr).getAgentClient(expectedUpdate.getResource().getAgent());
                will(returnValue(agentClient));

                allowing(agentClient).getConfigurationAgentService();
                will(returnValue(configAgentService));

                oneOf(configAgentService).validate(fixture.configuration, fixture.resourceId, FROM_STRUCTURED);
                inSequence(configUdpate);

                oneOf(configurationMgrLocal).persistResourceConfigurationUpdateInNewTransaction(fixture.subject,
                    fixture.resourceId, fixture.configuration, INPROGRESS, fixture.subject.getName(),
                    fixture.isPartOfGroupUpdate);
                will(returnValue(expectedUpdate));
                inSequence(configUdpate);

                oneOf(configAgentService).updateResourceConfiguration(
                    with(matchingUpdateRequest(expectedUpdateRequest)));
                inSequence(configUdpate);
            }
        });

        ResourceConfigurationUpdate actualUpdate = configurationMgr.updateStructuredOrRawConfiguration(fixture.subject,
            fixture.resourceId, fixture.configuration, FROM_STRUCTURED);

        assertSame(actualUpdate, expectedUpdate, "Expected to get back the persisted configuration update");
    }
View Full Code Here

        fixture.configuration.addRawConfiguration(new RawConfiguration());

        final Configuration translatedConfig = fixture.configuration.deepCopy();
        translatedConfig.put(new PropertySimple("x", "y"));

        final ResourceConfigurationUpdate expectedUpdate = new ResourceConfigurationUpdate(fixture.resource,
            translatedConfig, fixture.subject.getName());
        expectedUpdate.setId(-1);

        final AgentClient agentClient = context.mock(AgentClient.class);
        final ConfigurationAgentService configAgentService = context.mock(ConfigurationAgentService.class);

        final ConfigurationUpdateRequest expectedUpdateRequest = new ConfigurationUpdateRequest(expectedUpdate.getId(),
            expectedUpdate.getConfiguration(), expectedUpdate.getResource().getId());

        final Sequence configUdpate = context.sequence("raw-config-update");

        context.checking(new Expectations() {
            {
                oneOf(authorizationMgr).hasResourcePermission(fixture.subject, CONFIGURE_READ, fixture.resourceId);
                will(returnValue(true));

                oneOf(authorizationMgr).hasResourcePermission(fixture.subject, CONFIGURE_WRITE, fixture.resourceId);
                will(returnValue(true));

                allowing(entityMgr).find(Resource.class, fixture.resourceId);
                will(returnValue(fixture.resource));

                allowing(authorizationMgr).canViewResource(fixture.subject, fixture.resourceId);
                will(returnValue(true));

                oneOf(configAgentService).merge(fixture.configuration, fixture.resourceId, FROM_RAW);
                will(returnValue(translatedConfig));
                inSequence(configUdpate);

                oneOf(configurationMgrLocal).persistResourceConfigurationUpdateInNewTransaction(fixture.subject,
                    fixture.resourceId, translatedConfig, INPROGRESS, fixture.subject.getName(),
                    fixture.isPartOfGroupUpdate);
                will(returnValue(expectedUpdate));
                inSequence(configUdpate);

                allowing(agentMgr).getAgentClient(expectedUpdate.getResource().getAgent());
                will(returnValue(agentClient));

                allowing(agentClient).getConfigurationAgentService();
                will(returnValue(configAgentService));

                oneOf(configAgentService).validate(fixture.configuration, fixture.resourceId, FROM_RAW);

                oneOf(configAgentService).updateResourceConfiguration(
                    with(matchingUpdateRequest(expectedUpdateRequest)));
                inSequence(configUdpate);
            }
        });

        ResourceConfigurationUpdate actualUpdate = configurationMgr.updateStructuredOrRawConfiguration(fixture.subject,
            fixture.resourceId, fixture.configuration, FROM_RAW);

        assertSame(actualUpdate, expectedUpdate, "Expected to get back the persisted configuration update");
    }
View Full Code Here

    public void updateResourceConfigShouldMarkUpdateAsFailureWhenExceptionOccurs() throws Exception {
        final ResourceConfigUpdateFixture fixture = newStructuredResourceConfigUpdateFixture();

        final RuntimeException exception = new RuntimeException();

        final ResourceConfigurationUpdate expectedUpdate = new ResourceConfigurationUpdate(fixture.resource,
            fixture.configuration, fixture.subject.getName());
        expectedUpdate.setId(-1);
        expectedUpdate.setStatus(FAILURE);
        expectedUpdate.setErrorMessage(ThrowableUtil.getStackAsString(exception));

        final Query query = context.mock(Query.class);

        context.checking(new Expectations() {
            {
                allowing(subjectMgr).getOverlord();
                will(returnValue(OVERLORD));

                allowing(resourceMgr).getResource(OVERLORD, fixture.resourceId);
                will(returnValue(fixture.resource));

                allowing(entityMgr).find(Resource.class, fixture.resourceId);
                will(returnValue(fixture.resource));

                allowing(entityMgr).find(ResourceConfigurationUpdate.class, expectedUpdate.getId());
                will(returnValue(expectedUpdate));

                oneOf(authorizationMgr).hasResourcePermission(fixture.subject, CONFIGURE_WRITE, fixture.resourceId);
                will(returnValue(true));

                oneOf(configurationMgrLocal).persistResourceConfigurationUpdateInNewTransaction(fixture.subject,
                    fixture.resourceId, fixture.configuration, INPROGRESS, fixture.subject.getName(),
                    fixture.isPartOfGroupUpdate);
                will(returnValue(expectedUpdate));

                oneOf(configurationMgrLocal).mergeConfigurationUpdate(expectedUpdate);

                allowing(agentMgr).getAgentClient(expectedUpdate.getResource().getAgent());
                will(throwException(exception));

                allowing(entityMgr).createNamedQuery("ConfigurationDefinition.findResourceByResourceTypeId");
                will(returnValue(query));
                allowing(query).setParameter("resourceTypeId", fixture.resourceTypeId);
                allowing(query).getSingleResult();
                will(returnValue(fixture.configurationDefinition));

                oneOf(configurationMgrLocal).getResourceConfigurationDefinitionForResourceType(fixture.subject,
                    fixture.resourceTypeId);
                will(returnValue(fixture.configurationDefinition));
            }
        });

        ResourceConfigurationUpdate actualUpdate = configurationMgr.updateResourceConfiguration(fixture.subject,
            fixture.resourceId, fixture.configuration);

        assertPropertiesMatch(expectedUpdate, actualUpdate, "Expected to get back a failure update");
    }
View Full Code Here

                    CoreGUI.getErrorHandler().handleError(MSG.view_configurationHistoryDetails_error_loadFailure(),
                        caught);
                }

                public void onSuccess(PageList<ResourceConfigurationUpdate> result) {
                    ResourceConfigurationUpdate update = result.get(0);
                    displayHistory(update);
                }
            });
    }
View Full Code Here

                return null;

            //make sure to fetch the latest known resource config. This ensures that
            //the server goes out to the agent if there is no known config yet and thus
            //giving the scripting user an always up-to-date info.
            ResourceConfigurationUpdate update = remoteClient.getProxy(ConfigurationManagerRemote.class)
                .getLatestResourceConfigurationUpdate(remoteClient.getSubject(), resourceClientProxy.resourceId);
            return update == null ? null : update.getConfiguration();
        }
View Full Code Here

        public ConfigurationDefinition getResourceConfigurationDefinition() {
            return resourceClientProxy.resourceConfigurationDefinition;
        }

        public ResourceConfigurationUpdate updateResourceConfiguration(Configuration configuration) {
            ResourceConfigurationUpdate update = remoteClient.getProxy(ConfigurationManagerRemote.class)
                .updateResourceConfiguration(remoteClient.getSubject(), resourceClientProxy.getId(), configuration);

            return update;

        }
View Full Code Here

public class GroupResourceConfigurationUpdateTest extends AbstractConfigurationUpdateTest {

    @Test
    public void serializationShouldCopyConfigurationUpdates() throws Exception {
        GroupResourceConfigurationUpdate update = new GroupResourceConfigurationUpdate();
        update.addConfigurationUpdate(new ResourceConfigurationUpdate(new Resource(), new Configuration(), "rhqadmin"));

        GroupResourceConfigurationUpdate serializedUpdate = TestUtil.serializeAndDeserialize(update);

        assertEquals(
            serializedUpdate.getConfigurationUpdates(),
View Full Code Here

                p1.setErrorMessage(ThrowableUtil.getStackAsString(new Exception(
                    "This should be a boolean value - true or false")));
                c.put(p1);
                em.persist(c);

                AbstractResourceConfigurationUpdate cur = new ResourceConfigurationUpdate(resource, c, "dummy");
                em.persist(cur);

                AbstractResourceConfigurationUpdate copy = em.find(AbstractResourceConfigurationUpdate.class,
                    cur.getId());
                assert copy.getStatus().equals(ConfigurationUpdateStatus.INPROGRESS) : copy;
                assert copy.getSubjectName().equals("dummy") : copy;
                assert copy.getCreatedTime() > 0 : copy;
                assert copy.getModifiedTime() > 0 : copy;
                assert copy.getErrorMessage() == null : copy;
                assert copy.getConfiguration().getSimple("first") != null : copy;
                assert copy.getConfiguration().getSimple("first").getErrorMessage()
                    .indexOf("This should be a boolean value - true or false") > -1 : copy;
                assert copy.getConfiguration().getSimple("first").getStringValue().equals("firstValue") : copy;

                // let's pretend we failed the update
                cur.setErrorMessage(ThrowableUtil.getStackAsString((new Exception("update error here"))));
                assert copy.getStatus().equals(ConfigurationUpdateStatus.FAILURE) : copy; // setting the error message also sets status to failure

                copy = em.find(AbstractResourceConfigurationUpdate.class, cur.getId());
                assert copy.getStatus().equals(ConfigurationUpdateStatus.FAILURE) : copy;
                assert copy.getErrorMessage().indexOf("update error here") > -1 : copy;
                assert copy.getConfiguration().getSimple("first") != null : copy;
                assert copy.getConfiguration().getSimple("first").getErrorMessage()
                    .indexOf("This should be a boolean value - true or false") > -1 : copy;
View Full Code Here

TOP

Related Classes of org.rhq.core.domain.configuration.ResourceConfigurationUpdate

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.