Package org.rhq.core.domain.drift

Examples of org.rhq.core.domain.drift.DriftDefinition


        assertFalse(changeSetDir.exists(), "The change set directory should have been deleted.");
    }

    @Test
    public void unschedulingDetectionDeletesChangeSetDirectoryWhenScheduleIsDeactivated() throws Exception {
        DriftDefinition config = driftDefinition("delete-changeset-dir", resourceDir.getAbsolutePath());
        File changeSetDir = changeSetDir(config.getName());
        File contentDir = mkdir(changeSetDir, "content");

        createRandomFile(contentDir, "my_content");
        createRandomFile(changeSetDir, "changeset.txt");
View Full Code Here


     * @param name The definition name
     * @param basedir An absolute path of the base directory
     * @return The drift definition object
     */
    protected DriftDefinition driftDefinition(String name, String basedir) {
        DriftDefinition config = new DriftDefinition(new Configuration());
        config.setName(name);
        config.setBasedir(new DriftDefinition.BaseDirectory(fileSystem, basedir));
        config.setEnabled(true);
        config.setInterval(defaultInterval);

        return config;
    }
View Full Code Here

        Collections.shuffle(schedules);
        return schedules;
    }

    private static DriftDetectionSchedule newScheduleInstance(long interval, boolean enabled) {
        DriftDefinition definition = new DriftDefinition(new Configuration());
        definition.setEnabled(enabled);
        definition.setInterval(interval);
        DriftDetectionSchedule driftDetectionSchedule = new DriftDetectionSchedule(-1, definition);
        driftDetectionSchedule.updateShedule();
        return driftDetectionSchedule;
    }
View Full Code Here

                actual.getChangeSet());
    }
   
    @Test
    public void persistNewInitialChangeSetForPinnedDriftDef() throws Exception {
        DriftDefinition driftDef = new DriftDefinition(new Configuration());
        driftDef.setId(1);
        driftDef.setName("testdef");

        // This is essentially a test hook. MongoDBDriftServer.persistChangeSet has to call
        // back into DriftManagerBean to look up the drift definition to get the definition
        // name. Setting the driftDef property here allows us to avoid introducing EJB into
        // the test.
        driftServer.driftDef = driftDef;
                       
        int resourceId = 1;

        // First create the change set from which the pinned change set will be created
        DriftChangeSetDTO changeSetDTO = new DriftChangeSetDTO();
        changeSetDTO.setResourceId(resourceId);
        changeSetDTO.setDriftDefinitionId(driftDef.getId());
        changeSetDTO.setDriftHandlingMode(plannedChanges);
        changeSetDTO.setCategory(COVERAGE);
        changeSetDTO.setCtime(new Date().getTime());
        changeSetDTO.setVersion(0);
       
        Set<DriftDTO> driftDTOs = new HashSet<DriftDTO>();
        DriftDTO drift1DTO = new DriftDTO();
        drift1DTO.setChangeSet(changeSetDTO);
        drift1DTO.setCategory(FILE_ADDED);
        drift1DTO.setPath("./1.bin");
        drift1DTO.setDirectory(".");
        drift1DTO.setCtime(new Date().getTime());
        drift1DTO.setNewDriftFile(newDriftFile(sha256("./1.bin")));
        driftDTOs.add(drift1DTO);
       
        DriftDTO drift2DTO = new DriftDTO();
        drift2DTO.setChangeSet(changeSetDTO);
        drift2DTO.setCategory(FILE_ADDED);
        drift2DTO.setPath("./2.bin");
        drift2DTO.setDirectory(".");
        drift2DTO.setCtime(new Date().getTime());
        drift2DTO.setNewDriftFile(newDriftFile(sha256("./2.bin")));
        driftDTOs.add(drift2DTO);

        changeSetDTO.setDrifts(driftDTOs);

        driftServer.persistChangeSet(null, changeSetDTO);

        GenericDriftChangeSetCriteria criteria = new GenericDriftChangeSetCriteria();
        criteria.addFilterDriftDefinitionId(driftDef.getId());
        criteria.fetchDrifts(true);
       
        List<MongoDBChangeSet> changeSets = changeSetDAO.findByChangeSetCritiera(criteria);
        assertEquals(changeSets.size(), 1, "There should only be one change set for drift definition id " +
                driftDef.getId());

        Mapper mapper = new Mapper();
        DriftChangeSetDTO actualChangeSet = mapper.toDTO(changeSets.get(0));
        Set<DriftDTO> actualDrifts = new HashSet<DriftDTO>();
        for (MongoDBChangeSetEntry entry : changeSets.get(0).getDrifts()) {
View Full Code Here

    private void purgeDeletedDriftDefDirs() {
        log.info("Checking for deleted drift definitions");
        for (File resourceDir : changeSetsDir.listFiles()) {
            int resourceId = Integer.parseInt(resourceDir.getName());
            for (File defDir : resourceDir.listFiles()) {
                DriftDefinition driftDef = new DriftDefinition(new Configuration());
                driftDef.setName(defDir.getName());
                if (!schedulesQueue.contains(resourceId, driftDef)) {
                    log.info("Detected deleted drift definition, DriftDefinition[name: " + driftDef.getName()
                        + ", resourceId: " + resourceId + "]");
                    log.info("Deleting drift definition directory " + defDir.getPath());
                    FileUtil.purge(defDir, true);
                }
            }
View Full Code Here

    }

    @Override
    public void sendChangeSetToServer(DriftDetectionSummary detectionSummary) {
        int resourceId = detectionSummary.getSchedule().getResourceId();
        DriftDefinition driftDefinition = detectionSummary.getSchedule().getDriftDefinition();

        if (!schedulesQueue.contains(resourceId, driftDefinition)) {
            return;
        }

        File changeSetFile;
        if (detectionSummary.getType() == COVERAGE) {
            changeSetFile = detectionSummary.getNewSnapshot();
        } else {
            changeSetFile = detectionSummary.getDriftChangeSet();
        }
        if (changeSetFile == null) {
            log.warn("changeset[resourceId: " + resourceId + ", driftDefinition: " + driftDefinition.getName()
                + "] was not found. Cancelling request to send change set " + "to server");
            return;
        }

        DriftServerService driftServer = pluginContainerConfiguration.getServerServices().getDriftServerService();
View Full Code Here

                log.debug("Unable to pin snapshot for " + toString(resourceId, defName) + " - no detection schedule "
                    + "found.");
            }
            return;
        }
        DriftDefinition driftDef = schedule.getDriftDefinition();
        driftDef.setPinned(true);
        unscheduleDriftDetection(resourceId, driftDef);
        updateDriftDetection(resourceId, driftDef, snapshot);
    }
View Full Code Here

        // create an empty directory
        File libDir = mkdir(resourceDir, "lib");
        assert (libDir.isDirectory());

        DriftDefinition driftDef = driftDefinition("coverage-test", resourceDir.getAbsolutePath());

        scheduleQueue.addSchedule(new DriftDetectionSchedule(resourceId(), driftDef));
        detector.run();

        File changeSet = changeSet(driftDef.getName(), COVERAGE);
        Headers headers = createHeaders(driftDef, COVERAGE);
        List<FileEntry> expected = asList(addedFileEntry("conf/server.conf", sha256(serverConf), serverConf
            .lastModified(), serverConf.length()));

        assertHeaderEquals(changeSet, headers);
View Full Code Here

    public void includeMultipleFilesInDirInCoverageChangeSet() throws Exception {
        File confDir = mkdir(resourceDir, "conf");
        File server1Conf = createRandomFile(confDir, "server-1.conf");
        File server2Conf = createRandomFile(confDir, "server-2.conf");

        DriftDefinition def = driftDefinition("multiple-files-test", resourceDir.getAbsolutePath());

        scheduleQueue.addSchedule(new DriftDetectionSchedule(resourceId(), def));
        detector.run();

        File changeSet = changeSet(def.getName(), COVERAGE);
        List<FileEntry> entries = asList(addedFileEntry("conf/server-1.conf", sha256(server1Conf), server1Conf
            .lastModified(), server1Conf.length()), addedFileEntry("conf/server-2.conf", sha256(server2Conf),
            server2Conf.lastModified(), server2Conf.length()));

        assertHeaderEquals(changeSet, createHeaders(def, COVERAGE));
View Full Code Here

        File serverConf = createRandomFile(confDir, "server.conf");

        File libDir = mkdir(resourceDir, "lib");
        File serverLib = createRandomFile(libDir, "server.jar");

        DriftDefinition def = driftDefinition("sibling-dirs-test", resourceDir.getAbsolutePath());

        scheduleQueue.addSchedule(new DriftDetectionSchedule(resourceId(), def));
        detector.run();

        File changeSet = changeSet(def.getName(), COVERAGE);
        List<FileEntry> entries = asList(addedFileEntry("conf/server.conf", sha256(serverConf), serverConf
            .lastModified(), serverConf.length()), addedFileEntry("lib/server.jar", sha256(serverLib), serverLib
            .lastModified(), serverLib.length()));

        assertHeaderEquals(changeSet, createHeaders(def, COVERAGE));
View Full Code Here

TOP

Related Classes of org.rhq.core.domain.drift.DriftDefinition

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.