Update project structure to org.onap.aaf
[aaf/authz.git] / authz-cass / src / test / java / org / onap / aaf / dao / JU_Cached.java
diff --git a/authz-cass/src/test/java/org/onap/aaf/dao/JU_Cached.java b/authz-cass/src/test/java/org/onap/aaf/dao/JU_Cached.java
new file mode 100644 (file)
index 0000000..aa0785a
--- /dev/null
@@ -0,0 +1,127 @@
+/*******************************************************************************\r
+ * ============LICENSE_START====================================================\r
+ * * org.onap.aaf\r
+ * * ===========================================================================\r
+ * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ * * ===========================================================================\r
+ * * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * * you may not use this file except in compliance with the License.\r
+ * * You may obtain a copy of the License at\r
+ * * \r
+ *  *      http://www.apache.org/licenses/LICENSE-2.0\r
+ * * \r
+ *  * Unless required by applicable law or agreed to in writing, software\r
+ * * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * * See the License for the specific language governing permissions and\r
+ * * limitations under the License.\r
+ * * ============LICENSE_END====================================================\r
+ * *\r
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
+ * *\r
+ ******************************************************************************/\r
+package org.onap.aaf.dao;\r
+\r
+import static org.junit.Assert.*;\r
+\r
+import java.util.Date;\r
+import java.util.List;\r
+import java.util.Map;\r
+import java.util.Timer;\r
+\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.mockito.Mock;\r
+import org.onap.aaf.authz.env.AuthzEnv;\r
+import org.onap.aaf.authz.env.AuthzTrans;\r
+import org.onap.aaf.authz.layer.Result;\r
+import org.onap.aaf.cache.Cache;\r
+import org.onap.aaf.cache.Cache.Dated;\r
+import org.onap.aaf.dao.CIDAO;\r
+import org.onap.aaf.dao.Cached;\r
+import org.onap.aaf.dao.Cached.Getter;\r
+import org.powermock.modules.junit4.PowerMockRunner;\r
+\r
+//import org.onap.aaf.dao.Cached.Refresh;\r
+import org.onap.aaf.inno.env.Trans;\r
+\r
+@RunWith(PowerMockRunner.class)\r
+public class JU_Cached {\r
+       Cached cached;\r
+       @Mock\r
+       CIDAO<Trans> ciDaoMock;\r
+       @Mock\r
+       AuthzEnv authzEnvMock;\r
+       @Mock\r
+       CIDAO<AuthzTrans> cidaoATMock;\r
+       \r
+       String name = "nameString";\r
+       \r
+       @Before\r
+       public void setUp(){\r
+               cached = new Cached(ciDaoMock, name, 0);\r
+       }\r
+       \r
+       @Test(expected=ArithmeticException.class)\r
+       public void testCachedIdx(){\r
+               int Result = cached.cacheIdx("1234567890");             \r
+       }\r
+       \r
+       @Test(expected=ArithmeticException.class)\r
+       public void testInvalidate(){\r
+               int Res = cached.invalidate(name);\r
+       }\r
+       \r
+       @SuppressWarnings("static-access")\r
+       @Test\r
+       public void testStopTimer(){\r
+               cached.stopTimer();\r
+               assertTrue(true);\r
+       }\r
+\r
+       @SuppressWarnings("static-access")\r
+       @Test\r
+       public void testStartRefresh(){\r
+               cached.startRefresh(authzEnvMock, cidaoATMock);\r
+               assertTrue(true);\r
+       }\r
+//     @Mock\r
+//     Trans transMock;\r
+//     @Mock\r
+//     Getter<DAO> getterMock;\r
+//     \r
+//     @Test\r
+//     public void testGet(){\r
+//             cached.get(transMock, name, getterMock);\r
+//             fail("not implemented");\r
+//     }\r
+//     \r
+//     @SuppressWarnings("unchecked")\r
+//     public Result<List<DATA>> get(TRANS trans, String key, Getter<DATA> getter) {\r
+//             List<DATA> ld = null;\r
+//             Result<List<DATA>> rld = null;\r
+//             \r
+//             int cacheIdx = cacheIdx(key);\r
+//             Map<String, Dated> map = ((Map<String,Dated>)cache[cacheIdx]);\r
+//             \r
+//             // Check for saved element in cache\r
+//             Dated cached = map.get(key);\r
+//             // Note: These Segment Timestamps are kept up to date with DB\r
+//             Date dbStamp = info.get(trans, name,cacheIdx);\r
+//             \r
+//             // Check for cache Entry and whether it is still good (a good Cache Entry is same or after DBEntry, so we use "before" syntax)\r
+//             if(cached!=null && dbStamp.before(cached.timestamp)) {\r
+//                     ld = (List<DATA>)cached.data;\r
+//                     rld = Result.ok(ld);\r
+//             } else {\r
+//                     rld = getter.get();\r
+//                     if(rld.isOK()) { // only store valid lists\r
+//                             map.put(key, new Dated(rld.value));  // successful item found gets put in cache\r
+////                   } else if(rld.status == Result.ERR_Backend){\r
+////                           map.remove(key);\r
+//                     }\r
+//             }\r
+//             return rld;\r
+//     }\r
+}\r