2 * ============LICENSE_START======================================================================
3 * Copyright (C) 2019 Nordix Foundation. All rights reserved.
4 * ===============================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
6 * in compliance with the License. You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software distributed under the License
11 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing permissions and limitations under
14 * ============LICENSE_END========================================================================
17 package org.onap.dcaegen2.collectors.datafile.service;
19 import java.nio.file.Path;
20 import java.nio.file.Paths;
21 import java.time.Instant;
22 import org.junit.jupiter.api.Assertions;
23 import org.junit.jupiter.api.BeforeAll;
24 import org.junit.jupiter.api.Test;
26 public class PublishedFileCacheTest {
28 private static PublishedFileCache testObject;
31 public static void setUp() {
32 testObject = new PublishedFileCache();
36 public void purgeFiles_timeNotExpired() {
37 Assertions.assertNull(testObject.put(Paths.get("A")));
38 Assertions.assertNotNull(testObject.put(Paths.get("A")));
39 testObject.put(Paths.get("B"));
41 testObject.purge(Instant.now());
42 Assertions.assertEquals(2, testObject.size());
46 public void purgeFiles_timeExpired() {
47 testObject.put(Paths.get("A"));
48 testObject.put(Paths.get("B"));
49 testObject.put(Paths.get("C"));
51 testObject.purge(Instant.MAX);
52 Assertions.assertEquals(0, testObject.size());
56 public void purgeFiles_remove() {
57 Path path = Paths.get("A");
59 Assertions.assertEquals(1, testObject.size());
60 testObject.remove(path);
61 Assertions.assertEquals(0, testObject.size());