aboutsummaryrefslogtreecommitdiffstats
path: root/integrity-audit/src/main/java/org/onap/policy/common/ia/AuditorTime.java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2018-06-21 16:23:19 -0400
committerJim Hahn <jrh3@att.com>2018-06-21 17:17:10 -0400
commit9afa523e5147c971a0d8d0405361f3c3e8faa6ce (patch)
tree05566af1d59b8da6338435384a0fed481c76b179 /integrity-audit/src/main/java/org/onap/policy/common/ia/AuditorTime.java
parentec62d8d34ae4724b81d29f6314951c277f423ba4 (diff)
IntegrityAuditor: remove sleep from junit tests
Modified the code to use a CurrentTime object for its "time" operations (e.g., sleep(), currentTimeInMillis()). Modified junit tests to replace the CurrentTime object with TestTime objects so they don't actually do any sleeping. Reformat "commit" message. Remove TODO from junit test. Init testTime in junit setUp(). Add AuditorTime and test classes. Change "latch" to "semaphore" in comments. Change time units in junit test from SECONDS to MILLISECONDS. Add sleep() method to auditor test class. Reorder field qualifiers. Change utils scope to "compile" in pom. Change-Id: I8aa8b642b315156c00422192e4aa8e47b4503c2f Issue-ID: POLICY-908 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'integrity-audit/src/main/java/org/onap/policy/common/ia/AuditorTime.java')
-rw-r--r--integrity-audit/src/main/java/org/onap/policy/common/ia/AuditorTime.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/integrity-audit/src/main/java/org/onap/policy/common/ia/AuditorTime.java b/integrity-audit/src/main/java/org/onap/policy/common/ia/AuditorTime.java
new file mode 100644
index 00000000..9cff742c
--- /dev/null
+++ b/integrity-audit/src/main/java/org/onap/policy/common/ia/AuditorTime.java
@@ -0,0 +1,56 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Integrity Audit
+ * ================================================================================
+ * Copyright (C) 2018 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.ia;
+
+import java.util.function.Supplier;
+import org.onap.policy.common.utils.time.CurrentTime;
+
+/**
+ * "Current" time used by IntegrityMonitor classes.
+ */
+public class AuditorTime {
+
+ /**
+ * Instance to be used.
+ */
+ private static final CurrentTime currentTime = new CurrentTime();
+
+ /**
+ * Supplies the instance to be used for accessing the current time. This may be
+ * overridden by junit tests to provide a different time instance for each thread when
+ * multiple threads are run in parallel.
+ */
+ private static Supplier<CurrentTime> supplier = () -> currentTime;
+
+ /**
+ *
+ */
+ private AuditorTime() {
+ super();
+ }
+
+ /**
+ * @return the CurrentTime singleton
+ */
+ public static CurrentTime getInstance() {
+ return supplier.get();
+ }
+}