Package org.ngrinder.monitor.collector

Source Code of org.ngrinder.monitor.collector.MonitorCollectorTest

package org.ngrinder.monitor.collector;

import org.hyperic.jni.ArchLoaderException;
import org.hyperic.jni.ArchNotSupportedException;
import org.junit.Before;
import org.junit.Test;
import org.ngrinder.common.util.ThreadUtils;
import org.ngrinder.infra.AgentConfig;
import org.ngrinder.infra.ArchLoaderInit;
import org.ngrinder.monitor.share.domain.BandWidth;
import org.ngrinder.monitor.share.domain.SystemInfo;

import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertThat;

public class MonitorCollectorTest {
  @Before
  public void before() throws ArchNotSupportedException, ArchLoaderException {
    AgentConfig agentConfig = new AgentConfig.NullAgentConfig(1).init();
    new ArchLoaderInit().init(agentConfig.getHome().getNativeDirectory());
  }

  @Test
  public void testSystemDataCollection() throws InterruptedException {
    SystemDataCollector collector = new SystemDataCollector();
    collector.refresh();
    int i = 0;
    boolean sent = false;
    boolean received = false;

    while (i++ < 3) {
      SystemInfo systemInfo = collector.execute();
      ThreadUtils.sleep(2000);
      BandWidth bandWidth = systemInfo.getBandWidth();
      if (bandWidth.getReceivedPerSec() != 0) {
        received = true;
      }
      if (bandWidth.getSentPerSec() != 0) {
        sent = true;
      }
      assertThat(systemInfo.getFreeMemory(), not(0l));
      assertThat(systemInfo.getTotalMemory(), not(0l));
    }
    assertThat("sent", sent, is(true));
    assertThat("received", received, is(true));
  }
}
TOP

Related Classes of org.ngrinder.monitor.collector.MonitorCollectorTest

TOP
Copyright © 2018 www.massapi.com. 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.