1 16 package scriptella.driver.ldap.ldif; 17 18 import scriptella.AbstractTestCase; 19 import scriptella.spi.MockParametersCallbacks; 20 import scriptella.spi.ParametersCallback; 21 22 import java.io.BufferedReader ; 23 import java.io.IOException ; 24 import java.io.StringReader ; 25 26 32 public class SubstitutingLineReaderTest extends AbstractTestCase { 33 public void test() throws IOException { 34 ParametersCallback pc = MockParametersCallbacks.SIMPLE; 35 String test = "Just a ${test}\n" + 36 "Line2 $var:\n" + 37 "\n" + 38 "Line${a}4"; 39 SubstitutingLineReader reader = new SubstitutingLineReader(new StringReader (test), pc); 40 String s = reader.readLine(); 41 assertEquals("Just a *test*", s); 42 s = reader.readLine(); 43 assertEquals("Line2 *var*:", s); 44 s = reader.readLine(); 45 assertEquals("", s); 46 s = reader.readLine(); 47 assertEquals("Line*a*4", s); 48 assertEquals(null, reader.readLine()); } 50 51 54 public void testLdif() throws IOException { 55 String expected = "dn: cn=Gern Jensen, ou=Product Testing, dc=airius, dc=com\n" + 56 "objectclass: top\n" + 57 "cn: Gern Jensen\n" + 58 "sn: Jensen\n" + 59 "uid: gernj\n" + 60 "telephonenumber: +1 408 555 1212\n" + 61 "description:: V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVl"+ 62 "IGlzIGJhc2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdG"; 63 ParametersCallback pc = new ParametersCallback() { 64 public Object getParameter(final String name) { 65 if ("cn".equals(name)) { 66 return "Gern Jensen"; 67 } 68 if ("desc".equals(name)) { 69 return "V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVl"+ 70 "IGlzIGJhc2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdG"; 71 } 72 return null; 73 } 74 }; 75 76 String str = "dn: cn=${cn}, ou=Product Testing, dc=airius, dc=com\n" + 77 "objectclass: top\n" + 78 "cn: $cn\n" + 79 "sn: Jensen\n" + 80 "uid: gernj\n" + 81 "telephonenumber: +1 408 555 1212\n" + 82 "description:: $desc"; 83 SubstitutingLineReader r = new SubstitutingLineReader(new StringReader (str), pc); 84 BufferedReader r2 = new BufferedReader (new StringReader (expected)); 85 for (int i=0;i<8;i++) { 86 assertEquals(r2.readLine(), r.readLine()); 87 } 88 89 90 } 91 } 92 | Popular Tags |