1 28 29 package com.idaremedia.antx.valueuri.tests; 30 31 import java.util.Properties ; 32 33 import org.apache.tools.ant.Project; 34 35 import junit.framework.TestSuite; 36 37 import com.idaremedia.antx.Iteration; 38 import com.idaremedia.antx.ValueURIHandler; 39 import com.idaremedia.antx.helpers.SIDs; 40 import com.idaremedia.antx.valueuri.info.DefaultsValueURIHandler; 41 import com.idaremedia.antx.valueuri.info.PasswordValueURIHandler; 42 43 52 53 public final class PasswordValueURIHandlerTest extends ValueURIHandlerTestSkeleton 54 { 55 59 public PasswordValueURIHandlerTest(String methodname) 60 { 61 super("PasswordValueURIHandler::",methodname); 62 } 63 64 65 68 public static TestSuite suite() 69 { 70 return new TestSuite(PasswordValueURIHandlerTest.class); 71 } 72 73 77 private static final String PASSWORDSMAP = "build.passwords"; 78 private static final String DEFAULTPASSWORD = "defaults.password"; 79 80 81 protected String xmlTestFile() 82 { 83 return "password.xml"; 84 } 85 86 protected ValueURIHandler newOUT() 87 { 88 return new PasswordValueURIHandler(); 89 } 90 91 protected void setUp() throws Exception 92 { 93 super.setUp(); 94 95 Project myproject = getProject(); 96 assertNil(myproject.getProperty(PASSWORDSMAP),"'build.passwords' property"); 97 assertNil(myproject.getProperty(DEFAULTPASSWORD),"'defaults.password' property"); 98 assertNil(myproject.getReference(PASSWORDSMAP),"'build.passwords' reference"); 99 100 Iteration.initValueURIHandler("default",DefaultsValueURIHandler.class); 101 Iteration.initValueURIHandler("df",DefaultsValueURIHandler.class); 102 } 103 104 108 112 public void testBaseline_AntX05() 113 { 114 checkBaseline(); 115 116 String result = newOUT().valueFrom("","$password:",m_rqlink); 117 assertNil(result,"$password:"); 118 } 119 120 121 125 public void testFallbackOnDefaultsPassword_AntX05() 126 { 127 Project myproject = getProject(); 128 129 ValueURIHandler out = newOUT(); 130 String userid = SIDs.next("user"); 131 String result = out.valueFrom(userid,"$password:"+userid,m_rqlink); 132 assertNil(result,"$password:"+userid); 133 134 myproject.setProperty(DEFAULTPASSWORD,"superseekrit"); 135 result = out.valueFrom(userid,"$password:"+userid,m_rqlink); 136 assertEqual(result,"superseekrit","$password:"+userid+"(defaults)"); 137 138 Properties passwords = new Properties (); 139 passwords.setProperty("user0","password0"); 140 myproject.addReference(PASSWORDSMAP,passwords); 141 142 result = out.valueFrom(userid,"$password:"+userid,m_rqlink); 143 assertEqual(result,"superseekrit","$password:"+userid+"(passwords+defaults)"); 144 } 145 146 147 148 154 public void testBuildPasswordsBlocksDefaultsPassword_AntX05() 155 { 156 String userid = SIDs.next("user"); 157 String password= SIDs.next("pw"); 158 159 Project myproject = getProject(); 160 myproject.setProperty(DEFAULTPASSWORD,"superseekrit"); 161 162 Properties passwords = new Properties (); 163 passwords.setProperty("user0","password0"); 164 passwords.setProperty("user1","password1"); 165 passwords.setProperty(userid,password); 166 myproject.addReference(PASSWORDSMAP,passwords); 167 168 ValueURIHandler out = newOUT(); 169 String result = out.valueFrom(userid,"$password:"+userid,m_rqlink); 170 assertEqual(result,password,"$password:"+userid); 171 172 passwords.setProperty(userid,password+"-delta"); 173 result = out.valueFrom(userid,"$password:"+userid,m_rqlink); 174 assertEqual(result,password+"-delta","$password:"+userid); 175 } 176 177 178 183 public void testIllegalBuildPasswordsTypesIgnored_AntX05() 184 { 185 Project myproject = getProject(); 186 myproject.addReference(PASSWORDSMAP, new Thingy()); 187 188 String userid = SIDs.next("user"); 189 ValueURIHandler out = newOUT(); 190 String result = out.valueFrom(userid,"$password:"+userid,m_rqlink); 191 assertNil(result,"$password:"+userid+"(badtype passwords)"); 192 193 myproject.setProperty(DEFAULTPASSWORD,"lightweight"); 194 result = out.valueFrom(userid,"$password:"+userid,m_rqlink); 195 assertEqual(result,"lightweight","$password:"+userid+"(badtype passwords+defaults)"); 196 } 197 198 199 204 public void testPropertyRefsInterpreted_AntX05() 205 { 206 runTarget("testPropertyRefsInterpreted_AntX05"); 207 } 208 209 210 215 public void testUserHomePasswordFileUsed_AntX05() 216 { 217 runTarget("testUserHomePasswordFileUsed_AntX05"); 218 } 219 220 221 226 public void testDefaultsPasswordFileOptionUsed_AntX05() 227 { 228 runTarget("testDefaultsPasswordFileOptionUsed_AntX05"); 229 } 230 231 232 237 public void testSearchOrdering_AntX05() 238 { 239 runTarget("testSearchOrdering_AntX05"); 240 } 241 242 243 247 private static class Thingy { 248 private Thingy() {} 249 } 250 } 251 252 | Popular Tags |