aa0785a4a11c27c7cc716d8ba6858c714eaa39bc
[aaf/authz.git] / authz-cass / src / test / java / org / onap / aaf / dao / JU_Cached.java
1 /*******************************************************************************\r
2  * ============LICENSE_START====================================================\r
3  * * org.onap.aaf\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * ===========================================================================\r
7  * * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * * you may not use this file except in compliance with the License.\r
9  * * You may obtain a copy of the License at\r
10  * * \r
11  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * * \r
13  *  * Unless required by applicable law or agreed to in writing, software\r
14  * * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * * See the License for the specific language governing permissions and\r
17  * * limitations under the License.\r
18  * * ============LICENSE_END====================================================\r
19  * *\r
20  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21  * *\r
22  ******************************************************************************/\r
23 package org.onap.aaf.dao;\r
24 \r
25 import static org.junit.Assert.*;\r
26 \r
27 import java.util.Date;\r
28 import java.util.List;\r
29 import java.util.Map;\r
30 import java.util.Timer;\r
31 \r
32 import org.junit.Before;\r
33 import org.junit.Test;\r
34 import org.junit.runner.RunWith;\r
35 import org.mockito.Mock;\r
36 import org.onap.aaf.authz.env.AuthzEnv;\r
37 import org.onap.aaf.authz.env.AuthzTrans;\r
38 import org.onap.aaf.authz.layer.Result;\r
39 import org.onap.aaf.cache.Cache;\r
40 import org.onap.aaf.cache.Cache.Dated;\r
41 import org.onap.aaf.dao.CIDAO;\r
42 import org.onap.aaf.dao.Cached;\r
43 import org.onap.aaf.dao.Cached.Getter;\r
44 import org.powermock.modules.junit4.PowerMockRunner;\r
45 \r
46 //import org.onap.aaf.dao.Cached.Refresh;\r
47 import org.onap.aaf.inno.env.Trans;\r
48 \r
49 @RunWith(PowerMockRunner.class)\r
50 public class JU_Cached {\r
51         Cached cached;\r
52         @Mock\r
53         CIDAO<Trans> ciDaoMock;\r
54         @Mock\r
55         AuthzEnv authzEnvMock;\r
56         @Mock\r
57         CIDAO<AuthzTrans> cidaoATMock;\r
58         \r
59         String name = "nameString";\r
60         \r
61         @Before\r
62         public void setUp(){\r
63                 cached = new Cached(ciDaoMock, name, 0);\r
64         }\r
65         \r
66         @Test(expected=ArithmeticException.class)\r
67         public void testCachedIdx(){\r
68                 int Result = cached.cacheIdx("1234567890");             \r
69         }\r
70         \r
71         @Test(expected=ArithmeticException.class)\r
72         public void testInvalidate(){\r
73                 int Res = cached.invalidate(name);\r
74         }\r
75         \r
76         @SuppressWarnings("static-access")\r
77         @Test\r
78         public void testStopTimer(){\r
79                 cached.stopTimer();\r
80                 assertTrue(true);\r
81         }\r
82 \r
83         @SuppressWarnings("static-access")\r
84         @Test\r
85         public void testStartRefresh(){\r
86                 cached.startRefresh(authzEnvMock, cidaoATMock);\r
87                 assertTrue(true);\r
88         }\r
89 //      @Mock\r
90 //      Trans transMock;\r
91 //      @Mock\r
92 //      Getter<DAO> getterMock;\r
93 //      \r
94 //      @Test\r
95 //      public void testGet(){\r
96 //              cached.get(transMock, name, getterMock);\r
97 //              fail("not implemented");\r
98 //      }\r
99 //      \r
100 //      @SuppressWarnings("unchecked")\r
101 //      public Result<List<DATA>> get(TRANS trans, String key, Getter<DATA> getter) {\r
102 //              List<DATA> ld = null;\r
103 //              Result<List<DATA>> rld = null;\r
104 //              \r
105 //              int cacheIdx = cacheIdx(key);\r
106 //              Map<String, Dated> map = ((Map<String,Dated>)cache[cacheIdx]);\r
107 //              \r
108 //              // Check for saved element in cache\r
109 //              Dated cached = map.get(key);\r
110 //              // Note: These Segment Timestamps are kept up to date with DB\r
111 //              Date dbStamp = info.get(trans, name,cacheIdx);\r
112 //              \r
113 //              // 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
114 //              if(cached!=null && dbStamp.before(cached.timestamp)) {\r
115 //                      ld = (List<DATA>)cached.data;\r
116 //                      rld = Result.ok(ld);\r
117 //              } else {\r
118 //                      rld = getter.get();\r
119 //                      if(rld.isOK()) { // only store valid lists\r
120 //                              map.put(key, new Dated(rld.value));  // successful item found gets put in cache\r
121 ////                    } else if(rld.status == Result.ERR_Backend){\r
122 ////                            map.remove(key);\r
123 //                      }\r
124 //              }\r
125 //              return rld;\r
126 //      }\r
127 }\r