diff options
author | Instrumental <jonathan.gathman@att.com> | 2019-08-07 13:40:39 -0500 |
---|---|---|
committer | Instrumental <jonathan.gathman@att.com> | 2019-08-07 13:40:42 -0500 |
commit | 3d1706fcbe7f95830ff6fd23cf679ee55c6d0595 (patch) | |
tree | ff97f10380a44d9f81d536c066782af10f728687 /cadi/core/src/test | |
parent | 321dce367d74092a0ba09930c3aa526abdbd5da8 (diff) |
Remove Tabs, per Jococo
Issue-ID: AAF-932
Change-Id: I3ab0ebcc082048d2d1424a58a90ea479fb005ee6
Signed-off-by: Instrumental <jonathan.gathman@att.com>
Diffstat (limited to 'cadi/core/src/test')
3 files changed, 370 insertions, 370 deletions
diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/config/test/JU_MapBathConverter.java b/cadi/core/src/test/java/org/onap/aaf/cadi/config/test/JU_MapBathConverter.java index d9a5a0eb..2be51ece 100644 --- a/cadi/core/src/test/java/org/onap/aaf/cadi/config/test/JU_MapBathConverter.java +++ b/cadi/core/src/test/java/org/onap/aaf/cadi/config/test/JU_MapBathConverter.java @@ -50,199 +50,199 @@ import junit.framework.Assert; * */ public class JU_MapBathConverter { - private static final String NEW_USER_SOMETHING_ORG = "NEW_USER@Something.org"; - private static final String OLD_ID = "OLD_ID"; - private static final String SHARED_PASS = "SHARED_PASS"; - private static CSV csv; - private static ArrayList<String> expected; - private static final Access access = new PropAccess(); + private static final String NEW_USER_SOMETHING_ORG = "NEW_USER@Something.org"; + private static final String OLD_ID = "OLD_ID"; + private static final String SHARED_PASS = "SHARED_PASS"; + private static CSV csv; + private static ArrayList<String> expected; + private static final Access access = new PropAccess(); private final static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - @BeforeClass - public static void createFile() throws IOException { - // Note, you cate a "MapBathConverter" by access to a File. - // We will create that file now. Local is fine. - csv = new CSV(access,"JU_MapBathConverter.csv"); - } - - @BeforeClass - public static void beforeClass() { - expected = new ArrayList<>(); - } - - @Before - public void before() { - expected.clear(); - } - - @Test - public void test() throws IOException, CadiException { - CSV.Writer cw = csv.writer(); - GregorianCalendar gc = new GregorianCalendar(); - gc.add(GregorianCalendar.MONTH, 6); - try { - try { - // CSV can simply be OLD ID and NEW, no passwords - cw.row(exp(OLD_ID), exp(NEW_USER_SOMETHING_ORG),sdf.format(gc.getTime())); - - // Style 1 - Incoming ID/pass, create new cred with NweID and same Pass - cw.row(exp(bath(OLD_ID,SHARED_PASS)), exp(NEW_USER_SOMETHING_ORG),sdf.format(gc.getTime())); - // the response should be Basic with NEW_ID and OLD_PASS - - // Style 2 - cw.row(exp(bath(OLD_ID,"OLD_PASS")), exp(bath(NEW_USER_SOMETHING_ORG,"NEW_PASS")),sdf.format(gc.getTime())); - - } finally { - cw.close(); - } - - final Iterator<String> exp = expected.iterator(); - csv.visit(new Visitor() { - @Override - public void visit(List<String> row) { - int i=0; - for(String s : row) { - switch(i++) { - case 0: - case 1: - Assert.assertEquals(exp.next(), s); - break; - case 2: - try { - Date.valueOf(s); - } catch (Exception e) { - Assert.assertTrue("Last entry should be a date",false); - } - break; - default: - Assert.fail("There should only be 3 columns in this test case."); - } - } - } - }); - - MapBathConverter mbc = new MapBathConverter(access, csv); - - // Check no lookup just returns the same - Assert.assertEquals("NonKey", "NonKey"); // if not in map, expect same value - - Iterator<String> exp1 = expected.iterator(); - // there's no passwords in CSV - String old = exp1.next(); - String nw = exp1.next(); - Assert.assertEquals(nw, mbc.convert(access,old)); - - Assert.assertEquals(bath(NEW_USER_SOMETHING_ORG,SHARED_PASS), mbc.convert(access,bath(OLD_ID,SHARED_PASS))); - - // Style 1 (new cred, old password) - old = exp1.next(); - nw = bath(exp1.next(),SHARED_PASS); - Assert.assertEquals(nw, mbc.convert(access,old)); - - // Style 2 - old = exp1.next(); - nw = exp1.next(); - Assert.assertEquals(nw, mbc.convert(access,old)); - - } finally { - csv.delete(); - } - } - - @Test - public void testInsecureRole() throws IOException { - CSV.Writer cw = csv.writer(); - GregorianCalendar gc = new GregorianCalendar(); - gc.add(GregorianCalendar.MONTH, 6); - try { - try { - // Invalid Scenario - Non Authenticated ID to authenticated User - cw.row(exp(OLD_ID), exp(bath(NEW_USER_SOMETHING_ORG,"NEW_PASS")),sdf.format(gc.getTime())); - - } finally { - cw.close(); - } - - try { - new MapBathConverter(access, csv); - Assert.fail("Invalid Data should throw Exception"); - } catch (CadiException e) { - Assert.assertTrue("Invalid Data should throw Exception",true); - } - - } finally { - csv.delete(); - } - } - - @Test - public void testTooFewColumns() throws IOException, CadiException { - CSV.Writer cw = csv.writer(); - try { - try { - cw.row(exp(bath(OLD_ID,"OLD_PASS")), exp(bath(NEW_USER_SOMETHING_ORG,"NEW_PASS"))); - } finally { - cw.close(); - } - - try { - new MapBathConverter(access, csv); - Assert.fail("file with too few rows should throw exception"); - } catch(CadiException | IOException e) { - Assert.assertTrue("Correctly thrown Exception",true); - } - } finally { - csv.delete(); - } - } - - @Test - public void testNoFile() { - try { - new MapBathConverter(access, new CSV(access,"Bogus")); - Assert.fail("Non Existent File should throw exception"); - } catch(CadiException | IOException e) { - Assert.assertTrue("Correctly thrown Exception",true); - } - } - - @Test - public void testBadRows() throws IOException { - try { - Writer cw = csv.writer(); - try { - cw.row("Single Column"); - } finally { - cw.close(); - } - - try { - new MapBathConverter(access,csv); - Assert.fail("Non Existent File should throw exception"); - } catch(CadiException | IOException e) { - Assert.assertTrue("Correctly thrown Exception",true); - } - } finally { - csv.delete(); - } - - // Check for deletion - Assert.assertFalse(csv.toString() + "should have been deleted",new File(csv.toString()).exists()); - } - - private String bath(String user, String password) throws IOException { - StringBuilder sb = new StringBuilder(user); - sb.append(':'); - sb.append(password); - byte[] encoded = Symm.base64noSplit.encode(sb.toString().getBytes()); - sb.setLength(0); - sb.append("Basic "); - sb.append(new String(encoded)); - return sb.toString(); - } - - private String exp(String s) { - expected.add(s); - return s; - } + @BeforeClass + public static void createFile() throws IOException { + // Note, you cate a "MapBathConverter" by access to a File. + // We will create that file now. Local is fine. + csv = new CSV(access,"JU_MapBathConverter.csv"); + } + + @BeforeClass + public static void beforeClass() { + expected = new ArrayList<>(); + } + + @Before + public void before() { + expected.clear(); + } + + @Test + public void test() throws IOException, CadiException { + CSV.Writer cw = csv.writer(); + GregorianCalendar gc = new GregorianCalendar(); + gc.add(GregorianCalendar.MONTH, 6); + try { + try { + // CSV can simply be OLD ID and NEW, no passwords + cw.row(exp(OLD_ID), exp(NEW_USER_SOMETHING_ORG),sdf.format(gc.getTime())); + + // Style 1 - Incoming ID/pass, create new cred with NweID and same Pass + cw.row(exp(bath(OLD_ID,SHARED_PASS)), exp(NEW_USER_SOMETHING_ORG),sdf.format(gc.getTime())); + // the response should be Basic with NEW_ID and OLD_PASS + + // Style 2 + cw.row(exp(bath(OLD_ID,"OLD_PASS")), exp(bath(NEW_USER_SOMETHING_ORG,"NEW_PASS")),sdf.format(gc.getTime())); + + } finally { + cw.close(); + } + + final Iterator<String> exp = expected.iterator(); + csv.visit(new Visitor() { + @Override + public void visit(List<String> row) { + int i=0; + for(String s : row) { + switch(i++) { + case 0: + case 1: + Assert.assertEquals(exp.next(), s); + break; + case 2: + try { + Date.valueOf(s); + } catch (Exception e) { + Assert.assertTrue("Last entry should be a date",false); + } + break; + default: + Assert.fail("There should only be 3 columns in this test case."); + } + } + } + }); + + MapBathConverter mbc = new MapBathConverter(access, csv); + + // Check no lookup just returns the same + Assert.assertEquals("NonKey", "NonKey"); // if not in map, expect same value + + Iterator<String> exp1 = expected.iterator(); + // there's no passwords in CSV + String old = exp1.next(); + String nw = exp1.next(); + Assert.assertEquals(nw, mbc.convert(access,old)); + + Assert.assertEquals(bath(NEW_USER_SOMETHING_ORG,SHARED_PASS), mbc.convert(access,bath(OLD_ID,SHARED_PASS))); + + // Style 1 (new cred, old password) + old = exp1.next(); + nw = bath(exp1.next(),SHARED_PASS); + Assert.assertEquals(nw, mbc.convert(access,old)); + + // Style 2 + old = exp1.next(); + nw = exp1.next(); + Assert.assertEquals(nw, mbc.convert(access,old)); + + } finally { + csv.delete(); + } + } + + @Test + public void testInsecureRole() throws IOException { + CSV.Writer cw = csv.writer(); + GregorianCalendar gc = new GregorianCalendar(); + gc.add(GregorianCalendar.MONTH, 6); + try { + try { + // Invalid Scenario - Non Authenticated ID to authenticated User + cw.row(exp(OLD_ID), exp(bath(NEW_USER_SOMETHING_ORG,"NEW_PASS")),sdf.format(gc.getTime())); + + } finally { + cw.close(); + } + + try { + new MapBathConverter(access, csv); + Assert.fail("Invalid Data should throw Exception"); + } catch (CadiException e) { + Assert.assertTrue("Invalid Data should throw Exception",true); + } + + } finally { + csv.delete(); + } + } + + @Test + public void testTooFewColumns() throws IOException, CadiException { + CSV.Writer cw = csv.writer(); + try { + try { + cw.row(exp(bath(OLD_ID,"OLD_PASS")), exp(bath(NEW_USER_SOMETHING_ORG,"NEW_PASS"))); + } finally { + cw.close(); + } + + try { + new MapBathConverter(access, csv); + Assert.fail("file with too few rows should throw exception"); + } catch(CadiException | IOException e) { + Assert.assertTrue("Correctly thrown Exception",true); + } + } finally { + csv.delete(); + } + } + + @Test + public void testNoFile() { + try { + new MapBathConverter(access, new CSV(access,"Bogus")); + Assert.fail("Non Existent File should throw exception"); + } catch(CadiException | IOException e) { + Assert.assertTrue("Correctly thrown Exception",true); + } + } + + @Test + public void testBadRows() throws IOException { + try { + Writer cw = csv.writer(); + try { + cw.row("Single Column"); + } finally { + cw.close(); + } + + try { + new MapBathConverter(access,csv); + Assert.fail("Non Existent File should throw exception"); + } catch(CadiException | IOException e) { + Assert.assertTrue("Correctly thrown Exception",true); + } + } finally { + csv.delete(); + } + + // Check for deletion + Assert.assertFalse(csv.toString() + "should have been deleted",new File(csv.toString()).exists()); + } + + private String bath(String user, String password) throws IOException { + StringBuilder sb = new StringBuilder(user); + sb.append(':'); + sb.append(password); + byte[] encoded = Symm.base64noSplit.encode(sb.toString().getBytes()); + sb.setLength(0); + sb.append("Basic "); + sb.append(new String(encoded)); + return sb.toString(); + } + + private String exp(String s) { + expected.add(s); + return s; + } } diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/config/test/JU_RegistrationPropHolder.java b/cadi/core/src/test/java/org/onap/aaf/cadi/config/test/JU_RegistrationPropHolder.java index 68235e1a..1fe6a753 100644 --- a/cadi/core/src/test/java/org/onap/aaf/cadi/config/test/JU_RegistrationPropHolder.java +++ b/cadi/core/src/test/java/org/onap/aaf/cadi/config/test/JU_RegistrationPropHolder.java @@ -33,117 +33,117 @@ import org.onap.aaf.cadi.config.RegistrationPropHolder; public class JU_RegistrationPropHolder { - @Test - public void testBlank() { - PropAccess pa = new PropAccess(); - RegistrationPropHolder rph; - int ju_port = 20; - try { - //////////////// - // Check Required Properties - //////////////// - try { - rph = new RegistrationPropHolder(pa,20); - } catch (CadiException e) { - Assert.assertEquals( - "\ncadi_latitude must be defined." + - "\ncadi_longitude must be defined.",e.getMessage()); - } - - try { - pa.setProperty(Config.CADI_LATITUDE, "32.7"); - rph = new RegistrationPropHolder(pa,20); - } catch (CadiException e) { - Assert.assertEquals( - "\ncadi_longitude must be defined.",e.getMessage()); - } - - pa.setProperty(Config.CADI_LONGITUDE, "-72.0"); - rph = new RegistrationPropHolder(pa,ju_port); - - //////////////// - // Validate Default Properties - //////////////// - for(String dot_le : new String[] {"",".helm"}) { - assertEquals(rph.hostname,rph.default_fqdn); - assertEquals("",rph.lcontainer); - assertEquals(rph.hostname,rph.public_fqdn); - assertEquals(ju_port,rph.getEntryPort(dot_le)); - assertEquals(rph.hostname,rph.getEntryFQDN("",dot_le)); - } + @Test + public void testBlank() { + PropAccess pa = new PropAccess(); + RegistrationPropHolder rph; + int ju_port = 20; + try { + //////////////// + // Check Required Properties + //////////////// + try { + rph = new RegistrationPropHolder(pa,20); + } catch (CadiException e) { + Assert.assertEquals( + "\ncadi_latitude must be defined." + + "\ncadi_longitude must be defined.",e.getMessage()); + } + + try { + pa.setProperty(Config.CADI_LATITUDE, "32.7"); + rph = new RegistrationPropHolder(pa,20); + } catch (CadiException e) { + Assert.assertEquals( + "\ncadi_longitude must be defined.",e.getMessage()); + } + + pa.setProperty(Config.CADI_LONGITUDE, "-72.0"); + rph = new RegistrationPropHolder(pa,ju_port); + + //////////////// + // Validate Default Properties + //////////////// + for(String dot_le : new String[] {"",".helm"}) { + assertEquals(rph.hostname,rph.default_fqdn); + assertEquals("",rph.lcontainer); + assertEquals(rph.hostname,rph.public_fqdn); + assertEquals(ju_port,rph.getEntryPort(dot_le)); + assertEquals(rph.hostname,rph.getEntryFQDN("",dot_le)); + } - String ns = "myns"; - pa.setProperty(Config.AAF_LOCATOR_APP_NS, ns); - for(String dot_le : new String[] {"",".helm"}) { - assertEquals(rph.hostname,rph.default_fqdn); - assertEquals("",rph.lcontainer); - assertEquals(rph.hostname,rph.public_fqdn); - assertEquals(ju_port,rph.getEntryPort(dot_le)); - assertEquals(rph.hostname,rph.getEntryFQDN("",dot_le)); - } + String ns = "myns"; + pa.setProperty(Config.AAF_LOCATOR_APP_NS, ns); + for(String dot_le : new String[] {"",".helm"}) { + assertEquals(rph.hostname,rph.default_fqdn); + assertEquals("",rph.lcontainer); + assertEquals(rph.hostname,rph.public_fqdn); + assertEquals(ju_port,rph.getEntryPort(dot_le)); + assertEquals(rph.hostname,rph.getEntryFQDN("",dot_le)); + } - String ns2 = "onap"; - pa.setProperty(Config.AAF_LOCATOR_APP_NS+".helm", ns2); - for(String dot_le : new String[] {"",".helm"}) { - assertEquals(rph.hostname,rph.default_fqdn); - assertEquals("",rph.lcontainer); - assertEquals(rph.hostname,rph.public_fqdn); - assertEquals(ju_port,rph.getEntryPort(dot_le)); - assertEquals(rph.hostname,rph.getEntryFQDN("",dot_le)); - } + String ns2 = "onap"; + pa.setProperty(Config.AAF_LOCATOR_APP_NS+".helm", ns2); + for(String dot_le : new String[] {"",".helm"}) { + assertEquals(rph.hostname,rph.default_fqdn); + assertEquals("",rph.lcontainer); + assertEquals(rph.hostname,rph.public_fqdn); + assertEquals(ju_port,rph.getEntryPort(dot_le)); + assertEquals(rph.hostname,rph.getEntryFQDN("",dot_le)); + } - //////////////// - // Validate Public Host and Port settings - //////////////// - String public_hostname = "com.public.hostname"; - int public_port = 999; - pa.setProperty(Config.AAF_LOCATOR_PUBLIC_FQDN, public_hostname); - pa.setProperty(Config.AAF_LOCATOR_PUBLIC_PORT,Integer.toString(public_port)); - RegistrationPropHolder pubRPH = new RegistrationPropHolder(pa,ju_port); - assertEquals(public_hostname,pubRPH.public_fqdn); - assertEquals(public_port,pubRPH.getEntryPort("")); + //////////////// + // Validate Public Host and Port settings + //////////////// + String public_hostname = "com.public.hostname"; + int public_port = 999; + pa.setProperty(Config.AAF_LOCATOR_PUBLIC_FQDN, public_hostname); + pa.setProperty(Config.AAF_LOCATOR_PUBLIC_PORT,Integer.toString(public_port)); + RegistrationPropHolder pubRPH = new RegistrationPropHolder(pa,ju_port); + assertEquals(public_hostname,pubRPH.public_fqdn); + assertEquals(public_port,pubRPH.getEntryPort("")); - final String url = "https://aaf.osaaf.org:8095/org.osaaf.aaf.service:2.1"; - String name="theName"; - assertEquals(url,rph.replacements(getClass().getSimpleName(),url, name, "")); - - String alu = "aaf.osaaf.org:8095"; - String curl = url.replace(alu, Config.AAF_LOCATE_URL_TAG); - pa.setProperty(Config.AAF_LOCATE_URL,"https://"+alu); - assertEquals(url.replace("8095","8095/locate"),rph.replacements(getClass().getSimpleName(),curl, name, "")); - - String root_ns = "org.osaaf.aaf"; - curl = url.replace(root_ns, "AAF_NS"); - pa.setProperty(Config.AAF_ROOT_NS,root_ns); - assertEquals(url,rph.replacements(getClass().getSimpleName(),curl, name, "")); - - curl = url.replace(root_ns, "%AAF_NS"); - pa.setProperty(Config.AAF_ROOT_NS,root_ns); - assertEquals(url,rph.replacements(getClass().getSimpleName(),curl, name, "")); - - final String fqdn = "%C.%CNS.%NS.%N"; - String target = "myns.theName"; - assertEquals(target,rph.replacements(getClass().getSimpleName(),fqdn, name, "")); + final String url = "https://aaf.osaaf.org:8095/org.osaaf.aaf.service:2.1"; + String name="theName"; + assertEquals(url,rph.replacements(getClass().getSimpleName(),url, name, "")); + + String alu = "aaf.osaaf.org:8095"; + String curl = url.replace(alu, Config.AAF_LOCATE_URL_TAG); + pa.setProperty(Config.AAF_LOCATE_URL,"https://"+alu); + assertEquals(url.replace("8095","8095/locate"),rph.replacements(getClass().getSimpleName(),curl, name, "")); + + String root_ns = "org.osaaf.aaf"; + curl = url.replace(root_ns, "AAF_NS"); + pa.setProperty(Config.AAF_ROOT_NS,root_ns); + assertEquals(url,rph.replacements(getClass().getSimpleName(),curl, name, "")); + + curl = url.replace(root_ns, "%AAF_NS"); + pa.setProperty(Config.AAF_ROOT_NS,root_ns); + assertEquals(url,rph.replacements(getClass().getSimpleName(),curl, name, "")); + + final String fqdn = "%C.%CNS.%NS.%N"; + String target = "myns.theName"; + assertEquals(target,rph.replacements(getClass().getSimpleName(),fqdn, name, "")); - pa.setProperty(Config.AAF_LOCATOR_CONTAINER_NS+".hello", "mycontns"); - target = "mycontns.myns.theName"; - assertEquals(target,rph.replacements(getClass().getSimpleName(),fqdn, name, ".hello")); - - pa.setProperty(Config.AAF_LOCATOR_CONTAINER+".hello","helloC"); - target = "helloC.mycontns.myns.theName"; - assertEquals(target,rph.replacements(getClass().getSimpleName(),fqdn, name, ".hello")); - - pa.setProperty(Config.AAF_LOCATOR_CONTAINER_NS,"c_ns"); - target = "c_ns.myns.theName"; - assertEquals(target,rph.replacements(getClass().getSimpleName(),fqdn, name, "")); + pa.setProperty(Config.AAF_LOCATOR_CONTAINER_NS+".hello", "mycontns"); + target = "mycontns.myns.theName"; + assertEquals(target,rph.replacements(getClass().getSimpleName(),fqdn, name, ".hello")); + + pa.setProperty(Config.AAF_LOCATOR_CONTAINER+".hello","helloC"); + target = "helloC.mycontns.myns.theName"; + assertEquals(target,rph.replacements(getClass().getSimpleName(),fqdn, name, ".hello")); + + pa.setProperty(Config.AAF_LOCATOR_CONTAINER_NS,"c_ns"); + target = "c_ns.myns.theName"; + assertEquals(target,rph.replacements(getClass().getSimpleName(),fqdn, name, "")); - } catch (UnknownHostException | CadiException e) { - e.printStackTrace(); - Assert.fail(); - } - } - + } catch (UnknownHostException | CadiException e) { + e.printStackTrace(); + Assert.fail(); + } + } + } diff --git a/cadi/core/src/test/java/org/onap/aaf/cadi/util/test/JU_CSV.java b/cadi/core/src/test/java/org/onap/aaf/cadi/util/test/JU_CSV.java index 9df6de7b..d4feac6f 100644 --- a/cadi/core/src/test/java/org/onap/aaf/cadi/util/test/JU_CSV.java +++ b/cadi/core/src/test/java/org/onap/aaf/cadi/util/test/JU_CSV.java @@ -43,83 +43,83 @@ import org.onap.aaf.cadi.util.CSV.Writer; public class JU_CSV { - private String filename; - private File file; - private static ArrayList<Object> expected; + private String filename; + private File file; + private static ArrayList<Object> expected; - @Before - public void start() { - filename = "Sample.csv"; - file = new File(filename); - } - - @After - public void end() { - if(file!=null) { - file.delete(); - } - } + @Before + public void start() { + filename = "Sample.csv"; + file = new File(filename); + } + + @After + public void end() { + if(file!=null) { + file.delete(); + } + } - @BeforeClass - public static void before() { - expected = new ArrayList<>(); - } - - @Test - public void test() throws IOException, CadiException { - Access access = new PropAccess(); - CSV csv = new CSV(access,file); - // Can't visit for file that doesn't exist - try { - csv.visit(new Visitor() { - @Override - public void visit(List<String> row) { - }}); - } catch(IOException e) { - Assert.assertTrue("CSV correctly created exception",true); - } - - Writer writer = csv.writer(); - try { - writer.row(add("\"hello\"")); - writer.comment("Ignore Comments"); - writer.row(add("dXNlcjpwYXNzd29yZA=="),add("dXNlckBzb21ldGhpbmcub3JnOm90aGVyUGFzc3dvcmQ=")); - writer.row(); // no output - writer.row(add("There is, but one thing to say"), add(" and that is"), add("\"All the best\"")); - } finally { - writer.close(); - } - - PrintStream garbage = new PrintStream(new FileOutputStream(file, true)); - try { - garbage.println("# Ignore empty spaces, etc"); - garbage.println(" "); - garbage.println("# Ignore blank lines"); - garbage.println(); - } finally { - garbage.close(); - } + @BeforeClass + public static void before() { + expected = new ArrayList<>(); + } + + @Test + public void test() throws IOException, CadiException { + Access access = new PropAccess(); + CSV csv = new CSV(access,file); + // Can't visit for file that doesn't exist + try { + csv.visit(new Visitor() { + @Override + public void visit(List<String> row) { + }}); + } catch(IOException e) { + Assert.assertTrue("CSV correctly created exception",true); + } + + Writer writer = csv.writer(); + try { + writer.row(add("\"hello\"")); + writer.comment("Ignore Comments"); + writer.row(add("dXNlcjpwYXNzd29yZA=="),add("dXNlckBzb21ldGhpbmcub3JnOm90aGVyUGFzc3dvcmQ=")); + writer.row(); // no output + writer.row(add("There is, but one thing to say"), add(" and that is"), add("\"All the best\"")); + } finally { + writer.close(); + } + + PrintStream garbage = new PrintStream(new FileOutputStream(file, true)); + try { + garbage.println("# Ignore empty spaces, etc"); + garbage.println(" "); + garbage.println("# Ignore blank lines"); + garbage.println(); + } finally { + garbage.close(); + } - - //////////// - // Tests - //////////// - final Holder<Integer> hi = new Holder<>(0); - csv.visit(new CSV.Visitor() { - @Override - public void visit(List<String> row) { - for(String s: row) { -// System.out.println(hi.value + ") " + s); - Assert.assertEquals(expected.get(hi.value++),s); - } - } - }); + + //////////// + // Tests + //////////// + final Holder<Integer> hi = new Holder<>(0); + csv.visit(new CSV.Visitor() { + @Override + public void visit(List<String> row) { + for(String s: row) { +// System.out.println(hi.value + ") " + s); + Assert.assertEquals(expected.get(hi.value++),s); + } + } + }); - } + } - private String add(String s) { - expected.add(s); - return s; - } + private String add(String s) { + expected.add(s); + return s; + } } |