package org.zend.php.zendserver.deployment.core.internal.descriptor;
import java.io.IOException;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPathExpressionException;
import junit.framework.TestCase;
import org.eclipse.core.runtime.CoreException;
import org.xml.sax.SAXException;
import org.zend.php.zendserver.deployment.core.descriptor.IDeploymentDescriptor;
import org.zend.php.zendserver.deployment.core.descriptor.IDirectiveDependency;
import org.zend.php.zendserver.deployment.core.descriptor.IExtensionDependency;
import org.zend.php.zendserver.deployment.core.descriptor.IPHPDependency;
import org.zend.php.zendserver.deployment.core.descriptor.IParameter;
import org.zend.php.zendserver.deployment.core.descriptor.IVariable;
import org.zend.php.zendserver.deployment.core.tests.Activator;
public class ModelSerializerReadTests extends TestCase {
private IDeploymentDescriptor descr;
public void setUp() throws CoreException, IOException, ParserConfigurationException, SAXException, XPathExpressionException {
URL entry = Activator.getInstance().getBundleContext().getBundle().getEntry("example1.xml");
ModelSerializer lm = new ModelSerializer();
descr = new DeploymentDescriptor();
lm.load(entry.openStream(), entry.openStream(), descr);
}
public void testBasicInfo() {
assertEquals("Magento", descr.getName());
assertEquals("Magento short description", descr.getSummary());
assertEquals("Magento long description", descr.getDescription());
assertEquals("data/LICENSE.txt", descr.getEulaLocation());
assertEquals("", descr.getDocumentRoot());
assertEquals("", descr.getScriptsRoot());
assertEquals("1.4.1.1", descr.getReleaseVersion());
}
public void testVariable0() {
List<IVariable> vars = descr.getVariables();
IVariable var = vars.get(0);
assertEquals("LS", var.getName());
assertEquals("ls -l", var.getValue());
}
public void testVariable1() {
List<IVariable> vars = descr.getVariables();
IVariable var = vars.get(1);
assertEquals("UNAME", var.getName());
assertEquals("uname -a -l", var.getValue());
}
public void testPrereq0() {
List<IPHPDependency> prereqs = descr.getPHPDependencies();
IPHPDependency php = prereqs.get(0);
assertEquals("5.2.13", php.getMin());
}
public void testPrereq1() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(0);
assertEquals("pdo_mysql", dep.getName());
}
public void testPrereq2() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(1);
assertEquals("curl", dep.getName());
}
public void testPrereq3() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(2);
assertEquals("gd", dep.getName());
}
public void testPrereq4() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(3);
assertEquals("mcrypt", dep.getName());
}
public void testPrereq5() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(4);
assertEquals("pdo", dep.getName());
}
public void testPrereq6() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(5);
assertEquals("dom", dep.getName());
}
public void testPrereq7() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(6);
assertEquals("hash", dep.getName());
}
public void testPrereq8() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(7);
assertEquals("iconv", dep.getName());
}
public void testPrereq9() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(8);
assertEquals("pcre", dep.getName());
}
public void testPrereq10() {
List<IExtensionDependency> prereqs = descr.getExtensionDependencies();
IExtensionDependency dep = prereqs.get(9);
assertEquals("simplexml", dep.getName());
}
public void testPrereq11() {
List<IDirectiveDependency> prereqs = descr.getDirectiveDependencies();
IDirectiveDependency dep = prereqs.get(0);
assertEquals("safe_mode", dep.getName());
assertEquals("off", dep.getEquals());
}
public void testParams0() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(0);
assertEquals("locale", param.getId());
assertEquals("Localization.Locale Settings.Locale", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("ID_LOCALE", param.getType());
assertEquals("", param.getDescription());
}
public void testParams1() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(1);
assertEquals("timezone", param.getId());
assertEquals("Localization.Locale Settings.Time Zone", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("ID_TIMEZONE", param.getType());
assertEquals("", param.getDescription());
}
public void testParams2() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(2);
assertEquals("currency", param.getId());
assertEquals("Localization.Locale Settings.Default Currency", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("ID_CURRENCY", param.getType());
assertEquals("", param.getDescription());
}
public void testParams3() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(3);
assertEquals("db_host", param.getId());
assertEquals("Configuration.Database Connection.Host", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("string", param.getType());
assertEquals("You can specify server port, ex.: localhost:3307 If you are not using default UNIX socket, you can specify it here instead of host, ex.: /var/run/mysqld/mysqld.sock", param.getDescription());
}
public void testParams4() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(4);
assertEquals("db_name", param.getId());
assertEquals("Configuration.Database Connection.Database Name", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("string", param.getType());
assertEquals("", param.getDescription());
assertEquals("magento", param.getDefaultValue());
}
public void testParams5() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(5);
assertEquals("db_username", param.getId());
assertEquals("Configuration.Database Connection.User Name", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("string", param.getType());
assertEquals("", param.getDescription());
assertEquals("root", param.getDefaultValue());
}
public void testParams6() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(6);
assertEquals("db_password", param.getId());
assertEquals("Configuration.Database Connection.User Password", param.getDisplay());
assertFalse(param.isRequired());
assertEquals("string", param.getType());
assertEquals("", param.getDescription());
assertEquals("", param.getDefaultValue());
}
public void testParams7() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(7);
assertEquals("db_tables_prefix", param.getId());
assertEquals("Configuration.Database Connection.Tables Prefix", param.getDisplay());
assertFalse(param.isRequired());
assertEquals("string", param.getType());
assertEquals("(Optional. Leave blank for no prefix)", param.getDescription());
assertEquals("", param.getDefaultValue());
}
public void testParams8() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(8);
assertEquals("base_url", param.getId());
assertEquals("Configuration.Web access options.Base URL", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("string", param.getType());
assertEquals("", param.getDescription());
assertEquals("$(WEBSERVER_SCHEMA)://$(WEBSERVER_HOSTNAME)/$(WEBSERVER_PATH)", param.getDefaultValue());
}
public void testParams9() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(9);
assertEquals("admin_path", param.getId());
assertEquals("Configuration.Web access options.Admin Path", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("string", param.getType());
assertEquals("Additional path added after Base URL to access your Administrative Panel (e.g. admin, backend, control etc.)", param.getDescription());
assertEquals("admin", param.getDefaultValue());
}
public void testParams10() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(10);
assertEquals("skip_base", param.getId());
assertEquals("Configuration.Web access options.Skip Base URL Validation Before the Next Step", param.getDisplay());
assertFalse(param.isRequired());
assertEquals("checkbox", param.getType());
assertEquals("Check this box only if it is not possible to automatically validate the Base URL.", param.getDescription());
assertEquals("false", param.getDefaultValue());
}
public void testParams11() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(11);
assertEquals("use_apache_rewrites", param.getId());
assertEquals("Configuration.Web access options.Skip Base URL Validation Before the Next Step", param.getDisplay());
assertFalse(param.isRequired());
assertEquals("checkbox", param.getType());
assertEquals("You could enable this option to use web server rewrites functionality for improved search engines optimization. Please make sure that mod_rewrite is enabled in Apache configuration.", param.getDescription());
assertEquals("false", param.getDefaultValue());
}
public void testParams12() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(12);
assertEquals("use_ssl", param.getId());
assertEquals("Configuration.Web access options.Use Secure URLs (SSL)", param.getDisplay());
assertFalse(param.isRequired());
assertEquals("checkbox", param.getType());
assertEquals("false", param.getDefaultValue());
assertEquals("Enable this option only if you have SSL available.", param.getDescription());
}
public void testParams13() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(13);
assertEquals("session_save_data", param.getId());
assertEquals("Configuration.Session Storage Options.Save Session Data In", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("choice", param.getType());
assertEquals("File System", param.getDefaultValue());
assertEquals("", param.getDescription());
assertEquals(Arrays.asList(new String[] {"File System", "Database"}), param.getValidValues());
}
public void testParams14() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(14);
assertEquals("first_name", param.getId());
assertEquals("Create Admin Account.Personal Information.First Name", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("string", param.getType());
assertEquals(null, param.getDefaultValue());
assertEquals("", param.getDescription());
}
public void testParams15() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(15);
assertEquals("last_name", param.getId());
assertEquals("Create Admin Account.Personal Information.Last Name", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("string", param.getType());
assertEquals(null, param.getDefaultValue());
assertEquals("", param.getDescription());
}
public void testParams16() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(16);
assertEquals("email", param.getId());
assertEquals("Create Admin Account.Personal Information.Email", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("email", param.getType());
assertEquals(null, param.getDefaultValue());
assertEquals("", param.getDescription());
}
public void testParams17() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(17);
assertEquals("login_username", param.getId());
assertEquals("Create Admin Account.Login Information.Username", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("string", param.getType());
assertEquals(null, param.getDefaultValue());
assertEquals("", param.getDescription());
}
public void testParams18() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(18);
assertEquals("login_password", param.getId());
assertEquals("Create Admin Account.Login Information.Password", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("password", param.getType());
assertEquals(null, param.getDefaultValue());
assertEquals("", param.getDescription());
}
public void testParams19() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(19);
assertEquals("login_confirm_password", param.getId());
assertEquals("Create Admin Account.Login Information.Confirm Password", param.getDisplay());
assertTrue(param.isRequired());
assertEquals("password", param.getType());
assertEquals(null, param.getDefaultValue());
assertEquals("", param.getDescription());
}
public void testParams20() {
List<IParameter> params = descr.getParameters();
IParameter param = params.get(20);
assertEquals("encription_key", param.getId());
assertEquals("Create Admin Account.Encription Key", param.getDisplay());
assertFalse(param.isRequired());
assertEquals("string", param.getType());
assertEquals(null, param.getDefaultValue());
assertEquals("", param.getDescription());
}
}