Merge "Bug-1338: Create a grouping for order to help create generic OrderComparator...
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / jmx / mbeans / shard / ShardStatsTest.java
index f7c467652d329550dc665e53a2dd7b93e9342d12..41adcc55b188296f899b1569e98276906b233c1e 100644 (file)
@@ -8,48 +8,86 @@ import org.opendaylight.controller.cluster.datastore.jmx.mbeans.AbstractBaseMBea
 
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
 public class ShardStatsTest {
-  private MBeanServer mbeanServer;
private  ShardStats  shardStats;
-  private ObjectName testMBeanName;
+    private MBeanServer mbeanServer;
   private ShardStats shardStats;
+    private ObjectName testMBeanName;
 
-  @Before
-  public void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
 
-    shardStats = new ShardStats("shard-1");
-    shardStats.registerMBean();
-    mbeanServer= shardStats.getMBeanServer();
-    String objectName = AbstractBaseMBean.BASE_JMX_PREFIX + "type="+shardStats.getMBeanType()+",Category="+
-        shardStats.getMBeanCategory() + ",name="+
-        shardStats.getMBeanName();
-    testMBeanName = new ObjectName(objectName);
-  }
+        shardStats = new ShardStats("shard-1");
+        shardStats.registerMBean();
+        mbeanServer = shardStats.getMBeanServer();
+        String objectName =
+            AbstractBaseMBean.BASE_JMX_PREFIX + "type=" + shardStats
+                .getMBeanType() + ",Category=" +
+                shardStats.getMBeanCategory() + ",name=" +
+                shardStats.getMBeanName();
+        testMBeanName = new ObjectName(objectName);
+    }
 
-  @After
-  public void tearDown() throws Exception {
-    shardStats.unregisterMBean();
-  }
+    @After
+    public void tearDown() throws Exception {
+        shardStats.unregisterMBean();
+    }
 
-  @Test
-  public void testGetShardName() throws Exception {
+    @Test
+    public void testGetShardName() throws Exception {
 
-    Object attribute = mbeanServer.getAttribute(testMBeanName,"ShardName");
-    Assert.assertEquals((String) attribute, "shard-1");
+        Object attribute = mbeanServer.getAttribute(testMBeanName, "ShardName");
+        Assert.assertEquals((String) attribute, "shard-1");
 
-  }
+    }
 
-  @Test
-  public void testGetCommittedTransactionsCount() throws Exception {
-    //let us increment some transactions count and then check
-    shardStats.incrementCommittedTransactionCount();
-    shardStats.incrementCommittedTransactionCount();
-    shardStats.incrementCommittedTransactionCount();
+    @Test
+    public void testGetCommittedTransactionsCount() throws Exception {
+        //let us increment some transactions count and then check
+        shardStats.incrementCommittedTransactionCount();
+        shardStats.incrementCommittedTransactionCount();
+        shardStats.incrementCommittedTransactionCount();
 
-    //now let us get from MBeanServer what is the transaction count.
-    Object attribute = mbeanServer.getAttribute(testMBeanName,"CommittedTransactionsCount");
-    Assert.assertEquals((Long) attribute, (Long)3L);
+        //now let us get from MBeanServer what is the transaction count.
+        Object attribute = mbeanServer.getAttribute(testMBeanName,
+            "CommittedTransactionsCount");
+        Assert.assertEquals((Long) attribute, (Long) 3L);
 
 
-  }
-}
\ No newline at end of file
+    }
+
+    @Test
+    public void testGetLastCommittedTransactionTime() throws Exception {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
+        Assert.assertEquals(shardStats.getLastCommittedTransactionTime(),
+            sdf.format(new Date(0L)));
+        long millis = System.currentTimeMillis();
+        shardStats.setLastCommittedTransactionTime(new Date(millis));
+
+        //now let us get from MBeanServer what is the transaction count.
+        Object attribute = mbeanServer.getAttribute(testMBeanName,
+            "LastCommittedTransactionTime");
+        Assert.assertEquals((String) attribute, sdf.format(new Date(millis)));
+        Assert.assertNotEquals((String) attribute,
+            sdf.format(new Date(millis - 1)));
+
+    }
+
+    @Test
+    public void testGetFailedTransactionsCount() throws Exception {
+        //let us increment some transactions count and then check
+        shardStats.incrementFailedTransactionsCount();
+        shardStats.incrementFailedTransactionsCount();
+
+
+        //now let us get from MBeanServer what is the transaction count.
+        Object attribute =
+            mbeanServer.getAttribute(testMBeanName, "FailedTransactionsCount");
+        Assert.assertEquals((Long) attribute, (Long) 2L);
+
+
+
+    }
+}