diff options
author | Jim Hahn <jrh3@att.com> | 2018-06-21 16:23:19 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2018-06-21 17:17:10 -0400 |
commit | 9afa523e5147c971a0d8d0405361f3c3e8faa6ce (patch) | |
tree | 05566af1d59b8da6338435384a0fed481c76b179 /integrity-audit/src/main/java/org/onap/policy/common/ia/AuditorTime.java | |
parent | ec62d8d34ae4724b81d29f6314951c277f423ba4 (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.java | 56 |
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(); + } +} |