/* * Copyright (c) 2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.systemservices.impl.healthmonitor; import com.emc.vipr.model.sys.healthmonitor.DiskStats; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import java.io.File; import java.util.List; public class NodeStatsExtractorTest extends NodeStatsExtractor { private static final String INVALID_PID = "0"; private static volatile String validPID = null; @BeforeClass public static void getValidPID() throws Exception { File procDir = new File(PROC_DIR); File[] procFiles = procDir.listFiles(); String sname = null; for (File f : procFiles) { validPID = f.getName().trim(); if (validPID.equalsIgnoreCase(SELF_DIR)) { continue; } sname = ProcStats.getServiceName(validPID); if (sname != null && !sname.isEmpty() && !"monitor".equals(sname)) { break; } } Assert.assertNotNull(validPID); } @Test public void testDiskStatsWithInterval() { List<DiskStats> diskStatsList = getDiskStats(2); Assert.assertTrue(diskStatsList != null && !diskStatsList.isEmpty()); } @Test public void testDiskStatsWithoutInterval() { List<DiskStats> diskStatsList = getDiskStats(0); Assert.assertTrue(diskStatsList != null && !diskStatsList.isEmpty()); } @Test public void testNegDeltaMS() { double delta = getCPUTimeDeltaMS(null, null); Assert.assertFalse(delta > 0); } @Test public void testPerSec() { double persec = getRate(23000, 2); Assert.assertTrue(persec > 0); } @Test public void testNegPerSec() { double persec = getRate(23, 0); Assert.assertFalse(persec > 0); } }