⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testauthenticationhtpasswd.java

📁 java开源的企业总线.xmlBlaster
💻 JAVA
字号:
package org.xmlBlaster.test.authentication;import java.util.logging.Logger;import org.xmlBlaster.util.Global;import org.xmlBlaster.util.EmbeddedXmlBlaster;import org.xmlBlaster.util.FileLocator;import org.xmlBlaster.client.qos.ConnectQos;import org.xmlBlaster.client.qos.ConnectReturnQos;import org.xmlBlaster.client.I_XmlBlasterAccess;import org.xmlBlaster.test.Util;import junit.framework.*;public class TestAuthenticationHtPassWd extends TestCase{  private EmbeddedXmlBlaster serverThread = null;  private final String RIGHT_USERNAME = "existingUser";  private final String PARTIAL_USERNAME = "existingSomeThingElseStandsBehind";  private final String RIGHT_PASSWORD = "existingUserPW";  private final String WRONG_USERNAME = "notExistingUser";  private final String WRONG_PASSWORD = "notExistingUserPW";  private String userhome = "";  private Global glob = null;   private static Logger log = Logger.getLogger(TestAuthenticationHtPassWd.class.getName());  private I_XmlBlasterAccess con = null;  private int serverPort = 7604;  public final String ME = "TestAuthenticationHtPassWd";  public TestAuthenticationHtPassWd (String name)  { super(name);    this.glob = new Global();    this.userhome = glob.getProperty().get("user.home","/home/astelzl")+java.io.File.separatorChar;    try    { FileLocator.writeFile(userhome+"test.htpasswd","existingUser:yZum5CYzDk.EE\n");      FileLocator.writeFile(userhome+"test.htpasswd2","existing:yZum5CYzDk.EE\n");      FileLocator.writeFile(userhome+"test.htpasswd1","*");    }    catch(Exception ex)    { assertTrue("Could not create password files in directory '" + userhome + "'. Tests won't work!",false);    }  }                                                           protected void setUp()  {  }  private void setupTestCase(int testcase)  {     String[] ports = Util.getOtherServerPorts(serverPort);    String[] args = new String[4+ports.length];    switch (testcase)    { case 1: args[0] = "-Security.Server.Plugin.htpasswd.secretfile";                    args[1] = userhome+"test.htpasswd2";              args[2] = "-Security.Server.Plugin.htpasswd.allowPartialUsername";              args[3] = "true";              break;      case 2: args[0] = "-Security.Server.Plugin.htpasswd.secretfile";              args[1] = userhome+"test.htpasswd";              args[2] = "-Security.Server.Plugin.htpasswd.allowPartialUsername";              args[3] = "false";              break;        case 3: args[0] = "-Security.Server.Plugin.htpasswd.secretfile";              args[1] = userhome+"test.htpasswd";              args[2] = "-Security.Server.Plugin.htpasswd.allowPartialUsername";              args[3] = "false";              break;        case 4: args[0] = "-Security.Server.Plugin.htpasswd.secretfile";              args[1] = userhome+"test.htpasswd1";              args[2] = "-Security.Server.Plugin.htpasswd.allowPartialUsername";              args[3] = "false";              break;      }    for (int i=0;i<ports.length ;i++ ) {      args[i+4] = ports[i];    }    glob.init(args);    serverThread = EmbeddedXmlBlaster.startXmlBlaster(glob);  }  protected void tearDown() {     try { Thread.sleep(1000);} catch(Exception ex) {}      if (serverThread != null)       serverThread.stopServer(true);     glob.init(Util.getDefaultServerPorts());     Util.resetPorts(glob);     this.glob = null;         this.con = null;     Global.instance().shutdown();  }  public void testAuthHtPassWordCase1()  { log.info("Testcase1");    setupTestCase(1);    boolean isValue=true;    try    { con = glob.getXmlBlasterAccess();    }    catch(Exception ex)    { log.severe("Could not initialize I_XmlBlasterAccess: " + ex.toString());      ex.printStackTrace();    }    try    { ConnectQos qos = new ConnectQos(glob,PARTIAL_USERNAME, RIGHT_PASSWORD);      ConnectReturnQos conRetQos = con.connect(qos, null);      con.disconnect(null);    }    catch(Exception ex)    { log.info("Could not connect: " + ex.toString());      ex.printStackTrace();      isValue = false;    }    assertTrue("Could not connect although it should have been possible with the specified beginning of username and password",isValue);                   }    public void testAuthHtPassWordCase2()  { log.info("Testcase2");    setupTestCase(2);    boolean isValue = true;    try    { con = glob.getXmlBlasterAccess();    }    catch(Exception ex)    { log.severe("Could not initialize I_XmlBlasterAccess");    }    try    { ConnectQos qos = new ConnectQos(glob,RIGHT_USERNAME, RIGHT_PASSWORD);      ConnectReturnQos conRetQos = con.connect(qos, null);      con.disconnect(null);    }    catch(Exception ex)    { log.info("Could not connect");      isValue = false;      ex.printStackTrace();    }    assertTrue("Could not connect although it should have been possible with the specified username and password",isValue);  }  public void testAuthHtPassWordCaseWrongPassword()  { log.info("Testcase3");    setupTestCase(3);    boolean isValue = false;    try    { con = glob.getXmlBlasterAccess();    }    catch(Exception ex)    { log.severe("Could not initialize I_XmlBlasterAccess");    }    try    { ConnectQos qos = new ConnectQos(glob,WRONG_USERNAME, WRONG_PASSWORD);      ConnectReturnQos conRetQos = con.connect(qos, null);      con.disconnect(null);      assertTrue("Could connect although it should not have been possible with the specified username and password",isValue);    }    catch(Exception ex)    { isValue = true;      log.info("Could not connect");    }  }  public void testAuthHtPassWordCase3()  { log.info("Testcase4");    setupTestCase(4);    boolean isValue = true;    try    { con = glob.getXmlBlasterAccess();    }    catch(Exception ex)    { log.severe("Could not initialize I_XmlBlasterAccess");    }    try    { ConnectQos qos = new ConnectQos(glob,WRONG_USERNAME, WRONG_PASSWORD);      ConnectReturnQos conRetQos = con.connect(qos, null);      con.disconnect(null);    }    catch(Exception ex)    { log.info("Could not connect");      isValue = false;    }    assertTrue("Could not connect although it should have been possible as any username and password is authenticated",isValue);  }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -