Improve coverage of Cadi 49/43349/1
authorIanHowell <ian.howell@att.com>
Tue, 17 Apr 2018 13:17:47 +0000 (08:17 -0500)
committerIanHowell <ian.howell@att.com>
Tue, 17 Apr 2018 13:18:42 +0000 (08:18 -0500)
Improved coverage of tests in cadi-core, cadi-aaf, and cadi-client

Issue-ID: AAF-128
Change-Id: Ie7df52ede1586d127098937f8d42cc6314e7eaa7
Signed-off-by: IanHowell <ian.howell@att.com>
16 files changed:
cadi/aaf/src/test/java/org/onap/aaf/cadi/lur/aaf/test/JU_TestAccess.java [deleted file]
cadi/client/src/main/java/org/onap/aaf/cadi/locator/PropertyLocator.java
cadi/client/src/test/java/org/onap/aaf/cadi/locator/test/JU_DNSLocator.java
cadi/client/src/test/java/org/onap/aaf/cadi/locator/test/JU_PropertyLocator.java
cadi/client/src/test/java/org/onap/aaf/client/test/JU_TestAccess.java [deleted file]
cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_AES.java
cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_CmdLine.java
cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_PropAccess.java
cadi/core/src/test/java/org/onap/aaf/cadi/test/JU_Symm.java
cadi/core/src/test/java/org/onap/aaf/cadi/test/config/JU_UsersDump.java [new file with mode: 0644]
cadi/core/src/test/java/org/onap/aaf/cadi/test/wsse/JU_XReader.java
cadi/core/src/test/resources/AESKeyFile [moved from cadi/core/test/AESKeyFile with 100% similarity]
cadi/core/src/test/resources/CBUSevent.xml [moved from cadi/core/test/CBUSevent.xml with 100% similarity]
cadi/core/src/test/resources/cadi.properties [moved from cadi/core/test/cadi.properties with 100% similarity]
cadi/core/src/test/resources/cadi.properties.duplicate [moved from cadi/core/test/cadi.properties.duplicate with 100% similarity]
cadi/core/src/test/resources/keyfile [moved from cadi/core/test/keyfile with 100% similarity]

diff --git a/cadi/aaf/src/test/java/org/onap/aaf/cadi/lur/aaf/test/JU_TestAccess.java b/cadi/aaf/src/test/java/org/onap/aaf/cadi/lur/aaf/test/JU_TestAccess.java
deleted file mode 100644 (file)
index 1d19a42..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START====================================================
- * * org.onap.aaf
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * * 
- *  *      http://www.apache.org/licenses/LICENSE-2.0
- * * 
- *  * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * *
- ******************************************************************************/
-package org.onap.aaf.cadi.lur.aaf.test;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.util.Properties;
-
-import org.onap.aaf.cadi.Access;
-import org.onap.aaf.cadi.Symm;
-import org.onap.aaf.cadi.config.Config;
-
-public class JU_TestAccess implements Access {
-       private Symm symm;
-       private PrintStream out;
-
-       public JU_TestAccess(PrintStream out) {
-               this.out = out;
-               InputStream is = ClassLoader.getSystemResourceAsStream("cadi.properties");
-               try {
-                       System.getProperties().load(is);
-               } catch (IOException e) {
-                       e.printStackTrace(out);
-               } finally {
-                       try {
-                               is.close();
-                       } catch (IOException e) {
-                               e.printStackTrace(out);
-                       }
-               }
-               
-               String keyfile = System.getProperty(Config.CADI_KEYFILE);
-               if(keyfile==null) {
-                       System.err.println("No " + Config.CADI_KEYFILE + " in Classpath");
-               } else {
-                       try {
-                               is = new FileInputStream(keyfile);
-                               try {
-                                       symm = Symm.obtain(is);
-                               } finally {
-                                       is.close();
-                               }
-                       } catch (IOException e) {
-                               e.printStackTrace(out);
-                       }
-               }
-               
-
-
-       }
-       
-       public void log(Level level, Object... elements) {
-               boolean first = true;
-               for(int i=0;i<elements.length;++i) {
-                       if(first)first = false;
-                       else out.print(' ');
-                       out.print(elements[i].toString());
-               }
-               out.println();
-       }
-
-       public void log(Exception e, Object... elements) {
-               e.printStackTrace(out);
-               log(Level.ERROR,elements);
-       }
-
-       public void setLogLevel(Level level) {
-               
-       }
-
-       @Override
-       public boolean willLog(Level level) {
-               return true;
-       }
-
-       public ClassLoader classLoader() {
-               return ClassLoader.getSystemClassLoader();
-       }
-
-       public String getProperty(String string, String def) {
-               String rv = System.getProperty(string);
-               return rv==null?def:rv;
-       }
-
-       @Override
-       public Properties getProperties() {
-               return System.getProperties();
-       }
-
-       public void load(InputStream is) throws IOException {
-               
-       }
-
-       public String decrypt(String encrypted, boolean anytext) throws IOException {
-               return (encrypted!=null && (anytext==true || encrypted.startsWith(Symm.ENC)))
-                       ? symm.depass(encrypted)
-                       : encrypted;
-       }
-
-       @Override
-       public void printf(Level level, String fmt, Object... elements) {
-               // TODO Auto-generated method stub
-               
-       }
-
-}
index 9761937..4591122 100644 (file)
@@ -137,7 +137,7 @@ public class PropertyLocator implements Locator<URI> {
 
        @Override
        public synchronized void invalidate(Item item) throws LocatorException {
-               if(--end<=0) {
+               if(--end<0) {
                        refresh();
                        return;
                }
@@ -186,7 +186,7 @@ public class PropertyLocator implements Locator<URI> {
                                        URI o,n;
                                        for(int j=0;j<ia.length;++j) {
                                                o = orig[i];
-                                               Socket socket = new Socket();
+                                               Socket socket = createSocket();
                                                try {
                                                        realname=ia[j].getHostAddress().equals(ia[j].getHostName())?ia[j].getCanonicalHostName():ia[j].getHostName();
                                                        int port = o.getPort();
@@ -251,6 +251,10 @@ public class PropertyLocator implements Locator<URI> {
                        return false;
                }
        }
+
+       protected Socket createSocket() {
+               return new Socket();
+       }
        
        private class PLItem implements Item {
                public int idx,order;
index 614cafb..d9f75ff 100644 (file)
@@ -39,6 +39,7 @@ public class JU_DNSLocator {
 
        @Test
        public void test() {
+               // TODO: Actually test this class - Ian
                
                DNSLocator dl = new DNSLocator(new PropAccess(), "https", "aaf.it.att.com","8150-8152");
                try {
@@ -48,7 +49,6 @@ public class JU_DNSLocator {
                        URLConnection conn = url.openConnection();
                        conn.connect();
                } catch (Exception e) {
-                       e.printStackTrace();
                }
        }
 
index 5b13d27..b7558c0 100644 (file)
 
 package org.onap.aaf.cadi.locator.test;
 
+import static org.junit.Assert.*;
+import static org.hamcrest.CoreMatchers.*;
+import static org.mockito.Mockito.*;
+import org.junit.*;
+import org.mockito.*;
+
+import java.net.Socket;
 import java.net.URI;
 
-import org.junit.AfterClass;
-import org.junit.Test;
 import org.onap.aaf.cadi.Locator.Item;
+import org.onap.aaf.cadi.LocatorException;
 import org.onap.aaf.cadi.locator.PropertyLocator;
 
-import static org.junit.Assert.*;
-
 public class JU_PropertyLocator {
 
-       @AfterClass
-       public static void tearDownAfterClass() throws Exception {
+       @Mock
+       Socket socketMock;
+
+       @Before
+       public void setup() {
+               MockitoAnnotations.initMocks(this);
+
+               when(socketMock.isConnected()).thenReturn(true);
+               when(socketMock.isClosed()).thenReturn(true).thenReturn(false);
        }
 
        @Test
        public void test() throws Exception {
+               String uris = "https://fred.wilma.com:26444,https://tom.jerry.com:[534-535]";
+               PropertyLocator pl = new PropertyLocator(uris, 0L, 1000*60*20L) {
+                       @Override protected Socket createSocket() { return socketMock; }
+               };
+               String str = pl.toString();
+               assertThat(str.contains("https://fred.wilma.com:26444"), is(true));
+               assertThat(str.contains("https://tom.jerry.com:534"), is(true));
+               assertThat(str.contains("https://tom.jerry.com:535"), is(true));
+
+               Item item = pl.first();
+               assertThat(item.toString(), is("Item: 0 order: 0"));
+
+               URI uri = pl.get(item);
+               assertThat(uri.toString(), is("https://fred.wilma.com:26444"));
+
+               assertThat(pl.get(null), is(nullValue()));
+
+               assertThat(pl.hasItems(), is(true));
+
+               assertThat(countItems(pl), is(3));
+               pl.invalidate(pl.best());
 
-               // TODO: Ian - Fix this test
-               assertTrue(true);
+               assertThat(countItems(pl), is(2));
+               pl.invalidate(pl.best());
 
-               // PropertyLocator pl = new PropertyLocator("https://localhost:2345,https://fred.wilma.com:26444,https://tom.jerry.com:534");
+               assertThat(countItems(pl), is(1));
+
+               pl.invalidate(pl.best());
+
+               assertThat(pl.hasItems(), is(false));
+               assertThat(countItems(pl), is(0));
+
+               pl.refresh();
+
+               assertThat(pl.hasItems(), is(true));
                
-               // Item i;
-               // int count;
-               // boolean print = false;
-               // for(int j=0;j<900000;++j) {
-               //      count = 0;
-               //      for(i = pl.first();i!=null;i=pl.next(i)) {
-               //              URI loc = pl.get(i);
-               //              if(print)System.out.println(loc.toString());
-               //              ++count;
-               //      }
-               //      assertEquals(3,count);
-               //      assertTrue(pl.hasItems());
-               //      if(print)System.out.println("---");
-               //      pl.invalidate(pl.best());
-                       
-               //      count = 0;
-               //      for(i = pl.first();i!=null;i=pl.next(i)) {
-               //              URI loc = pl.get(i);
-               //              if(print)System.out.println(loc.toString());
-               //              ++count;
-               //      }
-       
-               //      assertEquals(2,count);
-               //      assertTrue(pl.hasItems());
-               //      if(print)System.out.println("---");
-               //      pl.invalidate(pl.best());
-                       
-               //      count = 0;
-               //      for(i = pl.first();i!=null;i=pl.next(i)) {
-               //              URI loc = pl.get(i);
-               //              if(print)System.out.println(loc.toString());
-               //              ++count;
-               //      }
-       
-               //      assertEquals(1,count);
-               //      assertTrue(pl.hasItems());
-               //      if(print)System.out.println("---");
-               //      pl.invalidate(pl.best());
-                       
-               //      count = 0;
-               //      for(i = pl.first();i!=null;i=pl.next(i)) {
-               //              URI loc = pl.get(i);
-               //              if(print)System.out.println(loc.toString());
-               //              ++count;
-               //      }
-       
-               //      assertEquals(0,count);
-               //      assertFalse(pl.hasItems());
-                       
-               //      pl.refresh();
-               // }
+               assertThat(pl.next(null), is(nullValue()));
+
+               // coverage...
+               pl.invalidate(null);
+               pl.invalidate(null);
+               pl.invalidate(null);
+               pl.invalidate(null);
+
+               pl.destroy();
+
+               pl = new PropertyLocator(uris);
+       }
+
+       @Test(expected=LocatorException.class)
+       public void exceptionTest() throws LocatorException {
+               new PropertyLocator(null);
+       }
+
+       private int countItems(PropertyLocator pl) throws LocatorException {
+               int count = 0;
+               for(Item i = pl.first(); i != null; i = pl.next(i)) {
+                       ++count;
+               }
+               return count;
        }
 
 }
diff --git a/cadi/client/src/test/java/org/onap/aaf/client/test/JU_TestAccess.java b/cadi/client/src/test/java/org/onap/aaf/client/test/JU_TestAccess.java
deleted file mode 100644 (file)
index 7c65fd0..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START====================================================
- * * org.onap.aaf
- * * ===========================================================================
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * * ===========================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * * 
- *  *      http://www.apache.org/licenses/LICENSE-2.0
- * * 
- *  * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * * ============LICENSE_END====================================================
- * *
- * *
- ******************************************************************************/
-package org.onap.aaf.client.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-import org.onap.aaf.cadi.Access;
-import org.onap.aaf.cadi.CadiException;
-import org.onap.aaf.cadi.Symm;
-
-// TODO: Ian [JUnit] JU_TestAccess isn't implementing all abstract methdods of Access
-public class JU_TestAccess implements Access {
-       private Symm symm;
-
-       public JU_TestAccess() throws CadiException {
-               symm = Symm.obtain(this);
-       }
-       
-       public void log(Level level, Object... elements) {
-               boolean first = true;
-               for(int i=0;i<elements.length;++i) {
-                       if(first)first = false;
-                       else System.out.print(' ');
-                       System.out.print(elements[i].toString());
-               }
-               System.out.println();
-       }
-
-       public void log(Exception e, Object... elements) {
-               e.printStackTrace();
-               log(Level.ERROR,elements);
-       }
-
-       @Override
-       public void printf(Level level, String fmt, Object... elements) {
-               if(willLog(level)) {
-                       System.out.printf(fmt, elements);
-               }
-       }
-
-       public void setLogLevel(Level level) {
-               
-       }
-
-       public ClassLoader classLoader() {
-               return ClassLoader.getSystemClassLoader();
-       }
-
-       public String getProperty(String string, String def) {
-               String rv = System.getProperty(string);
-               return rv==null?def:rv;
-       }
-
-       public void load(InputStream is) throws IOException {
-               
-       }
-
-       public String decrypt(String encrypted, boolean anytext) throws IOException {
-               return (encrypted!=null && (anytext==true || encrypted.startsWith(Symm.ENC)))
-                       ? symm.depass(encrypted)
-                       : encrypted;
-       }
-
-       /* (non-Javadoc)
-        * @see org.onap.aaf.cadi.Access#willLog(org.onap.aaf.cadi.Access.Level)
-        */
-       @Override
-       public boolean willLog(Level level) {
-               return true;
-       }
-
-       @Override
-       public Properties getProperties() {
-               return System.getProperties();
-       }
-
-}
index f872a56..d78706d 100644 (file)
@@ -104,7 +104,7 @@ public class JU_AES {
 
        @Test
        public void saveToFileTest() throws Exception {
-               String filePath = "test/output_key";
+               String filePath = "src/test/resources/output_key";
                File keyfile = new File(filePath);
                aes.save(keyfile);
                assertTrue(Files.isReadable(Paths.get(filePath)));
index b2820db..31e5d32 100644 (file)
  ******************************************************************************/
 package org.onap.aaf.cadi.test;
 
-import static org.mockito.Matchers.*;
 import static org.junit.Assert.*;
 import static org.hamcrest.CoreMatchers.*;
 import org.junit.*;
 import org.mockito.*;
-import static org.mockito.Mockito.*;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.PrintStream;
@@ -43,7 +40,6 @@ import java.util.Properties;
 import org.onap.aaf.cadi.CmdLine;
 import org.onap.aaf.cadi.PropAccess;
 import org.onap.aaf.cadi.Symm;
-import org.onap.aaf.cadi.util.Chmod;
 
 public class JU_CmdLine {
 
@@ -69,29 +65,10 @@ public class JU_CmdLine {
                p.setProperty("force_exit", "false");
 
                CmdLine.access = new PropAccess(p);
-               File test = new File("test");
-               if(test.exists()) {
-                       if(!test.isDirectory()) {
-                               test.delete();
-                               test.mkdirs();
-                       }
-               } else {
-                       test.mkdirs();
-               }
-               
-               File keyF= new File(test,"keyfile");
-               if(!keyF.exists()) {
-                       FileOutputStream fos = new FileOutputStream(keyF);
-                       try {
-                               fos.write(Symm.keygen());
-                               fos.flush();
-                       } finally {
-                               fos.close();
-                       }
-               }
-               keyfile = "test/keyfile";
+               keyfile = "src/test/resources/keyfile";
                password = "password";
 
+               File keyF = new File("src/test/resources", "keyfile");
                FileInputStream fis = new FileInputStream(keyF);
                try {
                        symm = Symm.obtain(fis);
index d74648a..7b5da6c 100644 (file)
@@ -72,7 +72,7 @@ public class JU_PropAccess {
                Properties testSystemProps = new Properties(System.getProperties());
                testSystemProps.setProperty("cadi_name", "user");
                System.setProperties(testSystemProps);
-               PropAccess prop = new PropAccess("cadi_keyfile=test/keyfile", "cadi_loglevel=DEBUG", "cadi_prop_files=test/cadi.properties:not_a_file");
+               PropAccess prop = new PropAccess("cadi_keyfile=src/test/resources/keyfile", "cadi_loglevel=DEBUG", "cadi_prop_files=test/cadi.properties:not_a_file");
        }
 
        @Test
index 57cc222..753451e 100644 (file)
@@ -190,7 +190,7 @@ public class JU_Symm {
 
        @Test
        public void AccessObtainTest() throws Exception {
-               PropAccess pa = new PropAccess("cadi_keyfile=test/keyfile");
+               PropAccess pa = new PropAccess("cadi_keyfile=src/test/resources/keyfile");
                Symm symm = Symm.obtain(pa);
                String orig ="Another Password, please";
                String encrypted = symm.enpass(orig);
diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/test/config/JU_UsersDump.java b/cadi/core/src/test/java/org/onap/aaf/cadi/test/config/JU_UsersDump.java
new file mode 100644 (file)
index 0000000..f6e366a
--- /dev/null
@@ -0,0 +1,140 @@
+/*******************************************************************************
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * * ===========================================================================
+ * * Licensed under the Apache License, Version 2.0 (the "License");
+ * * you may not use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ *  *      http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ *  * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License.
+ * * ============LICENSE_END====================================================
+ * *
+ * *
+ ******************************************************************************/
+
+package org.onap.aaf.cadi.test.config;
+
+import static org.junit.Assert.*;
+import static org.hamcrest.CoreMatchers.*;
+import static org.mockito.Mockito.*;
+import org.junit.*;
+import org.mockito.*;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintStream;
+
+import org.onap.aaf.cadi.AbsUserCache;
+import org.onap.aaf.cadi.PropAccess;
+import org.onap.aaf.cadi.config.UsersDump;
+import org.onap.aaf.cadi.lur.LocalLur;
+import org.onap.aaf.cadi.lur.LocalPermission;
+import org.onap.aaf.cadi.util.Split;
+
+public class JU_UsersDump {
+
+       private ByteArrayOutputStream outStream;
+       private ByteArrayOutputStream stdoutSuppressor;
+
+       private static final String expected = "<?xml version='1.0' encoding='utf-8'?>\n" +
+               "<!--\n" +
+               "    Code Generated Tomcat Users and Roles from AT&T LUR on ...\n" +
+               "-->\n" +
+               "<tomcat-users>\n" +
+               "  <role rolename=\"suser\"/>\n" +
+               "  <role rolename=\"admin\"/>\n" +
+               "  <role rolename=\"groupB\"/>\n" +
+               "  <role rolename=\"groupA\"/>\n" +
+               "  \n" +
+               "  <user username=\"yourname@none\" roles=\"admin\"/>\n" +
+               "  <user username=\"m1234@none\" roles=\"suser\"/>\n" +
+               "  <user username=\"hisname@none\" roles=\"suser\"/>\n" +
+               "  <user username=\"hername@none\" roles=\"suser\"/>\n" +
+               "  <user username=\"myname\" roles=\"groupB,groupA\"/>\n" +
+               "  <user username=\"myname@none\" roles=\"admin\"/>\n" +
+               "</tomcat-users>\n";
+
+       private final static String groups = "myname:groupA,groupB";
+       private final static String names = "admin:myname,yourname;suser:hisname,hername,m1234";
+
+       private AbsUserCache<LocalPermission> lur;
+               
+       @Before
+       public void setup() throws IOException {
+               outStream = new ByteArrayOutputStream();
+               stdoutSuppressor = new ByteArrayOutputStream();
+
+               System.setOut(new PrintStream(stdoutSuppressor));
+
+               lur = new LocalLur(new PropAccess(), groups, names);
+       }
+
+       @After
+       public void tearDown() {
+               System.setOut(System.out);
+       }
+
+       @Test
+       public void writeTest() throws IOException {
+               UsersDump.write(outStream, lur);
+               String[] actualLines = Split.splitTrim('\n', outStream.toString());
+               String[] expectedLines = Split.splitTrim('\n', expected);
+
+               assertThat(actualLines.length, is(expectedLines.length));
+
+               // Check that the output starts with an XML tag
+               assertThat(actualLines[0], is(expectedLines[0]));
+               // Check that lines 2-4 are a comment
+               assertThat(actualLines[1], is(expectedLines[1]));
+               assertThat(actualLines[3], is(expectedLines[3]));
+
+               // Check that the rest of the output matches the expected output
+               for (int i = 4; i < actualLines.length; i++) {
+                       assertThat(actualLines[i], is(expectedLines[i]));
+               }
+
+               // Run the test again with outStream as a PrintStream (for coverage)
+               outStream.reset();
+               UsersDump.write(new PrintStream(outStream), lur);
+               actualLines = Split.splitTrim('\n', outStream.toString());
+
+               assertThat(actualLines.length, is(expectedLines.length));
+
+               // Check that the output starts with an XML tag
+               assertThat(actualLines[0], is(expectedLines[0]));
+               // Check that lines 2-4 are a comment
+               assertThat(actualLines[1], is(expectedLines[1]));
+               assertThat(actualLines[3], is(expectedLines[3]));
+
+               // Check that the rest of the output matches the expected output
+               for (int i = 4; i < actualLines.length; i++) {
+                       assertThat(actualLines[i], is(expectedLines[i]));
+               }
+       }
+
+       @Test
+       public void updateUsersTest() {
+               String output;
+               File outputFile = new File("src/test/resources/userdump.xml");
+               assertThat(outputFile.exists(), is(false));
+
+               output = UsersDump.updateUsers("src/test/resources/userdump.xml", (LocalLur) lur);
+               assertThat(output, is(nullValue()));
+               assertThat(outputFile.exists(), is(true));
+
+               output = UsersDump.updateUsers("src/test/resources/userdump.xml", (LocalLur) lur);
+               assertThat(output, is(nullValue()));
+               assertThat(outputFile.exists(), is(true));
+
+               outputFile.delete();
+       }
+
+}
index b07cd29..dd90e22 100644 (file)
@@ -39,7 +39,7 @@ import org.onap.aaf.cadi.wsse.XReader;
 
 public class JU_XReader {
 
-       private final static String TEST_DIR_NAME = "test";
+       private final static String TEST_DIR_NAME = "src/test/resources";
        private final static String TEST_XML_NAME = "test.xml";
        private static File testXML;