Package org.rhq.core.domain.drift

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


        File server1Conf = createRandomFile(confDir, "server-1.conf");

        File subConfDir = mkdir(confDir, "subconf");
        File server2Conf = createRandomFile(subConfDir, "server-2.conf");

        DriftDefinition def = driftDefinition("nested-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-1.conf", sha256(server1Conf), server1Conf
            .lastModified(), server1Conf.length()), addedFileEntry("conf/subconf/server-2.conf", sha256(server2Conf),
            server2Conf.lastModified(), server2Conf.length()));

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


            changeSet);
    }

    @Test
    public void updateScheduleAfterGeneratingCoverageChangeSet() throws Exception {
        DriftDefinition driftDef = driftDefinition("update-schedule-after-coverage-changeset", resourceDir
            .getAbsolutePath());
        DriftDetectionSchedule schedule = new DriftDetectionSchedule(resourceId(), driftDef);

        File confDir = mkdir(resourceDir, "conf");
        File serverConf = createRandomFile(confDir, "server.conf");
        assert (serverConf.exists());

        long currentTime = System.currentTimeMillis();

        scheduleQueue.addSchedule(schedule);
        detector.run();

        assertTrue(schedule.getNextScan() >= (currentTime + driftDef.getInterval()),
            "Failed to update schedule. next scan is  " + schedule.getNextScan() + " and should be greater than "
                + (currentTime + driftDef.getInterval()));
    }
View Full Code Here

    public void doNotUpdateSnapshotOrGenerateDriftChangeSetIfNothingChanges() throws Exception {
        File confDir = mkdir(resourceDir, "conf");
        File serverConf = createRandomFile(confDir, "server.conf");
        assert (serverConf.exists());

        DriftDefinition def = driftDefinition("nothing-to-update", resourceDir.getAbsolutePath());

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

        File changeSet = changeSet(def.getName(), COVERAGE);
        String originalHash = sha256(changeSet);

        // Reset the schedule so that detection will run again the next time we call
        // detection.run()
        DriftDetectionSchedule schedule = scheduleQueue.remove(resourceId(), def);
        schedule.resetSchedule();
        scheduleQueue.addSchedule(schedule);

        // Run the detector again. Note that nothing has changed so the snapshot should
        // remain the same and no drift change set file should be generated.
        detector.run();

        String newHash = sha256(changeSet);

        assertEquals(newHash, originalHash, "The snapshot file should not have changed since there was no drift. ");

        File driftChangeSet = changeSet(def.getName(), DRIFT);

        assertFalse(driftChangeSet.exists(), "A drift change set file should not have been generated since there was "
            + "no drift");
    }
View Full Code Here

            public void sendChangeSetToServer(DriftDetectionSummary detectionSummary) {
                fail("Should not invoke drift client when drift definition is disabled");
            }
        };

        DriftDefinition def = driftDefinition("disabled-config-test", resourceDir.getAbsolutePath());
        def.setEnabled(false);

        DriftDetectionSchedule schedule = new DriftDetectionSchedule(resourceId(), def);
        long nextScan = schedule.getNextScan();

        File confDir = mkdir(resourceDir, "conf");
View Full Code Here

            + " not get updated if drift detection does not actually run for the definition.");
    }

    @Test
    public void doNotUpdateScheduleIfItIsTooEarlyToRunDetection() throws Exception {
        DriftDefinition driftDef = driftDefinition("schedule-not-ready-test", resourceDir.getAbsolutePath());
        DriftDetectionSchedule schedule = new DriftDetectionSchedule(resourceId(), driftDef);

        File confDir = mkdir(resourceDir, "conf");
        File server1Conf = createRandomFile(confDir, "server.conf");
        assert (server1Conf.exists());
View Full Code Here

    }

    @Test
    public void reportMissingBaseDirWhenNoInitialSnapshotExists() throws Exception {
        final File basedir = new File(resourceDir, "conf");
        DriftDefinition def = driftDefinition("basedir-does-not-exist", basedir.getAbsolutePath());

        driftClient.setBaseDir(basedir);

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

        assertEquals(driftClient.getReportMissingBaseDirInvocationCount(), 1, "A missing base directory should be "
            + "reported to the server if no initial snapshot has already been generated.");
        assertEquals(driftClient.getSendChangeSetInvocationCount(), 0, "No initial change set should be sent to "
            + "the server if the base directory does not exist.");

        // verify that the initial change set was not generated
        File snapshot = changeSet(def.getName(), COVERAGE);
        assertFalse(snapshot.exists(), "An initial snapshot should not be written to disk if the base directory "
            + "does not exist.");
    }
View Full Code Here

    @Test
    public void skipDetectionWhenPreviousSnapshotFileExists() throws Exception {
        // The presence of a previous snapshot file means that the server has
        // not acknowledged that it has received and processed the change set.
        DriftDefinition def = driftDefinition("previous-snapshot-test", resourceDir.getAbsolutePath());

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

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

        // create some drift and generate a new snapshot
        createRandomFile(confDir, "server-1.conf");
        schedule.resetSchedule();
        detector.run();

        File snapshot = changeSet(def.getName(), COVERAGE);
        String newHash = sha256(snapshot);
        File previousSnapshot = previousSnapshot(def.getName());
        String oldHash = sha256(previousSnapshot);

        // create some drift and make sure drift detection does not run.
        createRandomFile(confDir, "server-2.conf");
        schedule.resetSchedule();
View Full Code Here

            + "drift detection should not have run until the server acked the previous snapshot.");
    }

    @Test
    public void includeAddedFileInDriftChangeSet() throws Exception {
        DriftDefinition def = driftDefinition("file-added-drift-test", resourceDir.getAbsolutePath());

        File confDir = mkdir(resourceDir, "conf");
        File server1Conf = createRandomFile(confDir, "server-1.conf");

        ChangeSetWriter writer = changeSetMgr.getChangeSetWriter(resourceId(), createHeaders(def, COVERAGE));
        writer.write(addedFileEntry("conf/server-1.conf", sha256(server1Conf), server1Conf.lastModified(), server1Conf
            .length()));
        writer.close();

        // Create some drift
        File server2Conf = createRandomFile(confDir, "server-2.conf");

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

        File driftChangeSet = changeSet(def.getName(), DRIFT);
        List<FileEntry> driftEntries = asList(addedFileEntry("conf/server-2.conf", sha256(server2Conf), server2Conf
            .lastModified(), server2Conf.length()));

        // verify that the drift change set was generated
        assertTrue(driftChangeSet.exists(), "Expected to find drift change set " + driftChangeSet.getPath());
        assertHeaderEquals(driftChangeSet, createHeaders(def, DRIFT, 1));
        assertFileEntriesMatch("The drift change set does not match the expected values", driftEntries, driftChangeSet);

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

        // verify that the coverage change set was updated
View Full Code Here

            coverageChangeSet);
    }

    @Test
    public void includeModifiedFileInDriftChangeSet() throws Exception {
        DriftDefinition def = driftDefinition("file-modified-drift-test", resourceDir.getAbsolutePath());

        File confDir = mkdir(resourceDir, "conf");
        File server1Conf = createRandomFile(confDir, "server-1.conf");
        String oldHash = sha256(server1Conf);

        ChangeSetWriter writer = changeSetMgr.getChangeSetWriter(resourceId(), createHeaders(def, COVERAGE));
        writer.write(addedFileEntry("conf/server-1.conf", oldHash, server1Conf.lastModified(), server1Conf.length()));
        writer.close();

        // create some drift
        server1Conf.delete();
        server1Conf = createRandomFile(confDir, "server-1.conf", 48);
        String newHash = sha256(server1Conf);

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

        File driftChangeSet = changeSet(def.getName(), DRIFT);
        List<FileEntry> driftEntries = asList(changedFileEntry("conf/server-1.conf", oldHash, newHash, server1Conf
            .lastModified(), server1Conf.length()));

        // verify that the drift change set was generated
        assertTrue(driftChangeSet.exists(), "Expected to find drift change set " + driftChangeSet.getPath());
        assertHeaderEquals(driftChangeSet, createHeaders(def, DRIFT, 1));
        assertFileEntriesMatch("The drift change set does not match the expected values", driftEntries, driftChangeSet);

        File coverageChangeSet = changeSet(def.getName(), COVERAGE);
        List<FileEntry> coverageEntries = asList(changedFileEntry("conf/server-1.conf", oldHash, newHash, server1Conf
            .lastModified(), server1Conf.length()));

        // verify that the coverage change set was updated
        assertHeaderEquals(coverageChangeSet, createHeaders(def, COVERAGE, 1));
View Full Code Here

            coverageChangeSet);
    }

    @Test(enabled = false)
    public void includeFiledAddedInNewDirectoryInDriftChangeSet() throws Exception {
        DriftDefinition def = driftDefinition("file-added-in-new-dir", resourceDir.getAbsolutePath());

        File confDir = mkdir(resourceDir, "conf");
        File server1Conf = createRandomFile(confDir, "server-1.conf");

        ChangeSetWriter writer = changeSetMgr.getChangeSetWriter(resourceId(), createHeaders(def, COVERAGE));
        writer.write(addedFileEntry("conf/server-1.conf", sha256(server1Conf), server1Conf.lastModified(), server1Conf
            .length()));
        writer.close();

        // create some drift
        File subconfDir = mkdir(confDir, "subconf");
        File server2Conf = createRandomFile(subconfDir, "server-2.conf");

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

        File driftChangeSet = changeSet(def.getName(), DRIFT);
        List<FileEntry> driftEntries = asList(addedFileEntry("conf/subconf/server-2.conf", sha256(server2Conf),
            server2Conf.lastModified(), server2Conf.length()));

        // verify that the drift change set was generated
        assertTrue(driftChangeSet.exists(), "Expected to find drift change set " + driftChangeSet.getPath());
        assertHeaderEquals(driftChangeSet, createHeaders(def, DRIFT, 1));
        assertFileEntriesMatch("The drift change set does not match the expected values", driftEntries, driftChangeSet);

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

        // verify that the coverage change set was updated
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.