X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-cass%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fdao%2FJU_Cached.java;h=055e91ed522eb4f5e65f25d1a935b20fc3e42988;hb=ff1417ff60baee231a28272f9a16ef2c9c8ea0a2;hp=22f9a6f7bbe5662d747a62a1a59bf48afe24c89e;hpb=71037c39a37d3549dcfe31926832a657744fbe05;p=aaf%2Fauthz.git diff --git a/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/JU_Cached.java b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/JU_Cached.java index 22f9a6f7..055e91ed 100644 --- a/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/JU_Cached.java +++ b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/JU_Cached.java @@ -19,106 +19,126 @@ * * * * ******************************************************************************/ + package org.onap.aaf.auth.dao; import static org.junit.Assert.*; +import static org.hamcrest.CoreMatchers.*; +import static org.mockito.Mockito.*; +import org.junit.*; +import org.mockito.*; +// import org.junit.runner.RunWith; +// import org.powermock.modules.junit4.PowerMockRunner; import java.util.Date; import java.util.List; +import java.util.ArrayList; import java.util.Map; import java.util.Timer; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; import org.onap.aaf.auth.cache.Cache; import org.onap.aaf.auth.cache.Cache.Dated; import org.onap.aaf.auth.dao.CIDAO; import org.onap.aaf.auth.dao.Cached; import org.onap.aaf.auth.dao.Cached.Getter; +import org.onap.aaf.auth.dao.JU_Cached.DataStub; +import org.onap.aaf.auth.dao.cass.CacheableData; import org.onap.aaf.auth.env.AuthzEnv; import org.onap.aaf.auth.env.AuthzTrans; import org.onap.aaf.auth.layer.Result; import org.onap.aaf.misc.env.Trans; -import org.powermock.modules.junit4.PowerMockRunner; -@RunWith(PowerMockRunner.class) +// @RunWith(PowerMockRunner.class) public class JU_Cached { - Cached cached; - @Mock - CIDAO ciDaoMock; - @Mock - AuthzEnv authzEnvMock; - @Mock - CIDAO cidaoATMock; - - String name = "nameString"; - - @Before - public void setUp(){ - cached = new Cached(ciDaoMock, name, (int)0, 30000L); - } - - @Test(expected=ArithmeticException.class) - public void testCachedIdx(){ - int Result = cached.cacheIdx("1234567890"); - } - - @Test(expected=ArithmeticException.class) - public void testInvalidate(){ - int Res = cached.invalidate(name); - } - - @SuppressWarnings("static-access") - @Test - public void testStopTimer(){ - cached.stopTimer(); - assertTrue(true); - } - @SuppressWarnings("static-access") - @Test - public void testStartRefresh(){ - cached.startRefresh(authzEnvMock, cidaoATMock); - assertTrue(true); - } -// @Mock -// Trans transMock; -// @Mock -// Getter getterMock; -// -// @Test -// public void testGet(){ -// cached.get(transMock, name, getterMock); -// fail("not implemented"); -// } -// -// @SuppressWarnings("unchecked") -// public Result> get(TRANS trans, String key, Getter getter) { -// List ld = null; -// Result> rld = null; -// -// int cacheIdx = cacheIdx(key); -// Map map = ((Map)cache[cacheIdx]); -// -// // Check for saved element in cache -// Dated cached = map.get(key); -// // Note: These Segment Timestamps are kept up to date with DB -// Date dbStamp = info.get(trans, name,cacheIdx); -// -// // Check for cache Entry and whether it is still good (a good Cache Entry is same or after DBEntry, so we use "before" syntax) -// if(cached!=null && dbStamp.before(cached.timestamp)) { -// ld = (List)cached.data; -// rld = Result.ok(ld); -// } else { -// rld = getter.get(); -// if(rld.isOK()) { // only store valid lists -// map.put(key, new Dated(rld.value)); // successful item found gets put in cache -//// } else if(rld.status == Result.ERR_Backend){ -//// map.remove(key); -// } -// } -// return rld; -// } + @Mock + CIDAO ciDaoMock; + + @Mock + AuthzEnv authzEnvMock; + + @Mock + CIDAO cidaoATMock; + + String name = "nameString"; + + @Before + public void setUp(){ + MockitoAnnotations.initMocks(this); + } + + @Test + public void testCachedIdx(){ + Cached cached = new Cached(ciDaoMock, name, 1, 30000L); + assertThat(cached.cacheIdx("1234567890"), is(0)); + } + + @Test + public void testInvalidate(){ + Cached cached = new Cached(ciDaoMock, name, 5, 30000L); + cached.add("test", new ArrayList<>()); + cached.invalidate("test"); + cached.invalidate("test1"); + } + +/* + * DO NOT ATTEMPT TO TEST Timer Threads in JUNIT!!!!! + @SuppressWarnings("static-access") + @Test + public void testStopTimer(){ + Cached cached = new Cached(ciDaoMock, name, 1, 30000L); + cached.stopTimer(); + assertTrue(true); + } + + @SuppressWarnings("static-access") + @Test + public void testStartRefresh(){ + Cached cached = new Cached(ciDaoMock, name, 1, 30000L); + cached.startRefresh(authzEnvMock, cidaoATMock); + assertTrue(true); + } +*/ +// @Mock +// Trans transMock; +// @Mock +// Getter getterMock; +// +// @Test +// public void testGet(){ +// cached.get(transMock, name, getterMock); +// fail("not implemented"); +// } +// +// @SuppressWarnings("unchecked") +// public Result> get(TRANS trans, String key, Getter getter) { +// List ld = null; +// Result> rld = null; +// +// int cacheIdx = cacheIdx(key); +// Map map = ((Map)cache[cacheIdx]); +// +// // Check for saved element in cache +// Dated cached = map.get(key); +// // Note: These Segment Timestamps are kept up to date with DB +// Date dbStamp = info.get(trans, name,cacheIdx); +// +// // Check for cache Entry and whether it is still good (a good Cache Entry is same or after DBEntry, so we use "before" syntax) +// if (cached!=null && dbStamp.before(cached.timestamp)) { +// ld = (List)cached.data; +// rld = Result.ok(ld); +// } else { +// rld = getter.get(); +// if (rld.isOK()) { // only store valid lists +// map.put(key, new Dated(rld.value)); // successful item found gets put in cache +//// } else if (rld.status == Result.ERR_Backend){ +//// map.remove(key); +// } +// } +// return rld; +// } + + class DataStub extends CacheableData { + @Override public int[] invalidate(Cached cache) { return null; } + } }