X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=cadi%2Faaf%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Faaf%2Fcadi%2Fpersist%2Ftest%2FJU_Persist.java;h=3e03eb7395f39bb2585e90ddd96067eed18612ee;hb=4b5a7d721d994a49057e9bfb403c7bff1b376660;hp=f8d76a959af3a96e4678b3e5eb892b81b12179ab;hpb=824dc7b5fc0e1ccdf7f460479aff344727f0f01e;p=aaf%2Fauthz.git diff --git a/cadi/aaf/src/test/java/org/onap/aaf/cadi/persist/test/JU_Persist.java b/cadi/aaf/src/test/java/org/onap/aaf/cadi/persist/test/JU_Persist.java index f8d76a95..3e03eb73 100644 --- a/cadi/aaf/src/test/java/org/onap/aaf/cadi/persist/test/JU_Persist.java +++ b/cadi/aaf/src/test/java/org/onap/aaf/cadi/persist/test/JU_Persist.java @@ -57,95 +57,95 @@ import org.onap.aaf.misc.rosetta.env.RosettaEnv; public class JU_Persist { - private static final String resourceDirString = "src/test/resources"; - private static final String tokenDirString = "tokenDir"; - private static final String key = "key"; - - private static final int data = 5; - - private static final byte[] cred = "password".getBytes(); - - private PropAccess access; - private Result> result; - - @Mock private RosettaEnv envMock; - @Mock private Persist persistMock; - @Mock private RosettaDF dfMock; - @Mock private RosettaData dataMock; - @Mock private Persistable ctMock1; - @Mock private Persisting ctMock2; - @Mock private Loader> loaderMock; - - @Before - public void setup() throws APIException, CadiException, LocatorException { - MockitoAnnotations.initMocks(this); - - doReturn(dfMock).when(envMock).newDataFactory((Class[]) any()); - when(dfMock.newData()).thenReturn(dataMock); - when(dataMock.load(data)).thenReturn(dataMock); - - - result = Result.ok(200, ctMock1); - when(loaderMock.load(key)).thenReturn(result); - - access = new PropAccess(new PrintStream(new ByteArrayOutputStream()), new String[0]); - access.setProperty(Config.CADI_TOKEN_DIR, resourceDirString); - } - - @After - public void tearDown() { - File dir = new File(resourceDirString + '/' + tokenDirString); - for (File f : dir.listFiles()) { - f.delete(); - } - dir.delete(); - } - - @Test - public void test() throws CadiException, APIException, LocatorException, InterruptedException { - Persist> persist = new PersistStub(access, envMock, null, tokenDirString); - // Second call for coverage - persist = new PersistStub(access, envMock, null, tokenDirString); - assertThat(persist.getDF(), is(dfMock)); - persist.put(key, ctMock2); - Result> output = persist.get(key, cred, loaderMock); - assertThat(output.code, is(200)); - assertThat(output.isOK(), is(true)); - - when(ctMock2.checkSyncTime()).thenReturn(true); - when(ctMock2.hasBeenTouched()).thenReturn(true); - output = persist.get(key, cred, loaderMock); - assertThat(output.code, is(200)); - assertThat(output.isOK(), is(true)); - - persist.delete(key); - - assertThat(persist.get(null, null, null), is(nullValue())); - - // Uncommenting this lets us begin to test the nested Clean class, but - // will dramatically slow down every build that runs tests - We need to - // either refactor or find a more creative way to test Clean -// Thread.sleep(25000); - - persist.close(); - } - - private class PersistStub extends Persist> { - public PersistStub(Access access, RosettaEnv env, Class cls, String sub_dir) - throws CadiException, APIException { super(access, env, cls, sub_dir); } - @Override - protected Persistable newCacheable(Integer t, long expires_secsFrom1970, byte[] hash, Path path) - throws APIException, IOException { return null; } - @Override - public Path writeDisk(final RosettaDF df, final T t, final byte[] cred, final Path target, final long expires) throws CadiException { - return null; - } - @SuppressWarnings("unchecked") - @Override - public T readDisk(final RosettaDF df, final byte[] cred, final String filename,final Holder hp, final Holder hl) throws CadiException { - return (T)new Integer(data); - } - - } + private static final String resourceDirString = "src/test/resources"; + private static final String tokenDirString = "tokenDir"; + private static final String key = "key"; + + private static final int data = 5; + + private static final byte[] cred = "password".getBytes(); + + private PropAccess access; + private Result> result; + + @Mock private RosettaEnv envMock; + @Mock private Persist persistMock; + @Mock private RosettaDF dfMock; + @Mock private RosettaData dataMock; + @Mock private Persistable ctMock1; + @Mock private Persisting ctMock2; + @Mock private Loader> loaderMock; + + @Before + public void setup() throws APIException, CadiException, LocatorException { + MockitoAnnotations.initMocks(this); + + doReturn(dfMock).when(envMock).newDataFactory((Class[]) any()); + when(dfMock.newData()).thenReturn(dataMock); + when(dataMock.load(data)).thenReturn(dataMock); + + + result = Result.ok(200, ctMock1); + when(loaderMock.load(key)).thenReturn(result); + + access = new PropAccess(new PrintStream(new ByteArrayOutputStream()), new String[0]); + access.setProperty(Config.CADI_TOKEN_DIR, resourceDirString); + } + + @After + public void tearDown() { + File dir = new File(resourceDirString + '/' + tokenDirString); + for (File f : dir.listFiles()) { + f.delete(); + } + dir.delete(); + } + + @Test + public void test() throws CadiException, APIException, LocatorException, InterruptedException { + Persist> persist = new PersistStub(access, envMock, null, tokenDirString); + // Second call for coverage + persist = new PersistStub(access, envMock, null, tokenDirString); + assertThat(persist.getDF(), is(dfMock)); + persist.put(key, ctMock2); + Result> output = persist.get(key, cred, loaderMock); + assertThat(output.code, is(200)); + assertThat(output.isOK(), is(true)); + + when(ctMock2.checkSyncTime()).thenReturn(true); + when(ctMock2.hasBeenTouched()).thenReturn(true); + output = persist.get(key, cred, loaderMock); + assertThat(output.code, is(200)); + assertThat(output.isOK(), is(true)); + + persist.delete(key); + + assertThat(persist.get(null, null, null), is(nullValue())); + + // Uncommenting this lets us begin to test the nested Clean class, but + // will dramatically slow down every build that runs tests - We need to + // either refactor or find a more creative way to test Clean +// Thread.sleep(25000); + + persist.close(); + } + + private class PersistStub extends Persist> { + public PersistStub(Access access, RosettaEnv env, Class cls, String sub_dir) + throws CadiException, APIException { super(access, env, cls, sub_dir); } + @Override + protected Persistable newCacheable(Integer t, long expires_secsFrom1970, byte[] hash, Path path) + throws APIException, IOException { return null; } + @Override + public Path writeDisk(final RosettaDF df, final T t, final byte[] cred, final Path target, final long expires) throws CadiException { + return null; + } + @SuppressWarnings("unchecked") + @Override + public T readDisk(final RosettaDF df, final byte[] cred, final String filename,final Holder hp, final Holder hl) throws CadiException { + return (T)new Integer(data); + } + + } }