@Test
public void testNoAutoRemediation() throws Exception {

    new MockUp<JMXNodeTool>() {
        @Mock
        NodeProbe instance(IConfiguration config) {
            return nodeProbe;
        }
    };
    final InputStream mockOutput = new ByteArrayInputStream("a process".getBytes());
    new Expectations() {
        {
            mockProcess.getInputStream();
            result = mockOutput;
            nodeProbe.isGossipRunning();
            result = true;
            nodeProbe.isNativeTransportRunning();
            result = true;
            nodeProbe.isThriftServerRunning();
            result = true;
        }
    };
    // Mock out the ps call
    final Runtime r = Runtime.getRuntime();
    String[] cmd = {
        "/bin/sh",
        "-c",
        "ps -ef |grep -v -P \"\\sgrep\\s\" | grep " + config.getCassProcessName()
    };
    new Expectations(r) {
        {
            r.exec(cmd);
            result = mockProcess;
        }
    };
    instanceState.setShouldCassandraBeAlive(false);
    instanceState.setCassandraProcessAlive(false);
    monitor.execute();
    Assert.assertTrue(!instanceState.shouldCassandraBeAlive());
    Assert.assertTrue(instanceState.isCassandraProcessAlive());
    new Verifications() {
        {
            cassProcess.start(anyBoolean);
            times = 0;
        }
    };
}