Remove sleep() from junit tests 68/90668/2
authorJim Hahn <jrh3@att.com>
Fri, 28 Jun 2019 13:53:35 +0000 (09:53 -0400)
committerJim Hahn <jrh3@att.com>
Fri, 28 Jun 2019 14:02:44 +0000 (10:02 -0400)
Replaced sleep() calls with awaitability.await().  Also shortened
the timeout, for the test, from 10s to 2s.

Change-Id: I5d9cb84b405782f174b6230294e5d6a47938c4b8
Issue-ID: POLICY-1791
Signed-off-by: Jim Hahn <jrh3@att.com>
controlloop/common/feature-controlloop-trans/pom.xml
controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java
controlloop/common/feature-controlloop-trans/src/test/resources/feature-controlloop-trans.properties

index a7cc8dd..f7bc974 100644 (file)
@@ -8,9 +8,9 @@
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
-  
+
        http://www.apache.org/licenses/LICENSE-2.0
-  
+
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <version>3.0.0</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
index 6618033..abc5db8 100644 (file)
@@ -20,6 +20,7 @@
 
 package org.onap.policy.drools.apps.controlloop.feature.trans;
 
+import static org.awaitility.Awaitility.await;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -28,6 +29,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.nio.file.Path;
 import java.util.UUID;
+import java.util.concurrent.TimeUnit;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -65,7 +67,7 @@ public class ControlLoopMetricsFeatureTest {
     @Test
     public void cacheDefaults() {
         assertEquals(3, ControlLoopMetrics.manager.getCacheSize());
-        assertEquals(10, ControlLoopMetrics.manager.getTransactionTimeout());
+        assertEquals(2, ControlLoopMetrics.manager.getTransactionTimeout());
         assertEquals(0, ControlLoopMetrics.manager.getCacheOccupancy());
     }
 
@@ -98,10 +100,10 @@ public class ControlLoopMetricsFeatureTest {
         assertNotNull(ControlLoopMetrics.manager.getTransaction(requestId).getNotificationTime());
         assertTrue(ControlLoopMetrics.manager.getCacheOccupancy() == 1);
 
-        /* let the entries expire */
-        Thread.sleep((ControlLoopMetrics.manager.getTransactionTimeout() + 1) * 1000L);
+        /* wait for the entries to expire */
+        await().atMost(ControlLoopMetrics.manager.getTransactionTimeout() + 1, TimeUnit.SECONDS)
+                        .until(() -> ControlLoopMetrics.manager.getTransaction(requestId) == null);
 
-        assertNull(ControlLoopMetrics.manager.getTransaction(requestId));
         this.cacheDefaults();
     }
 
@@ -151,8 +153,9 @@ public class ControlLoopMetricsFeatureTest {
         assertFalse(ControlLoopMetrics.manager.getTransactionIds().isEmpty());
         assertFalse(ControlLoopMetrics.manager.getTransactions().isEmpty());
 
-        /* let the entries expire */
-        Thread.sleep((ControlLoopMetrics.manager.getTransactionTimeout() + 1) * 1000L);
+        /* wait for the entries to expire */
+        await().atMost(ControlLoopMetrics.manager.getTransactionTimeout() + 1, TimeUnit.SECONDS)
+                        .until(() -> ControlLoopMetrics.manager.getTransactions().isEmpty());
 
         ControlLoopMetrics.manager.refresh();
         assertTrue(ControlLoopMetrics.manager.getTransactionIds().size() == ControlLoopMetrics.manager
index cc4c068..c921e8c 100644 (file)
@@ -2,14 +2,14 @@
 # ============LICENSE_START=======================================================
 # ONAP
 # ================================================================================
-# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2018-2019 AT&T Intellectual Property. All rights reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
-# 
+#
 #      http://www.apache.org/licenses/LICENSE-2.0
-# 
+#
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,4 +18,4 @@
 # ============LICENSE_END=========================================================
 ###
 controlloop.cache.transactions.size=3
-controllop.cache.transactions.timeout.seconds=10
\ No newline at end of file
+controllop.cache.transactions.timeout.seconds=2