Merge Sabre4 to HEAD

110660: New ModulePackages api endpoint for RA-370


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@111187 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gethin James
2015-09-01 13:04:38 +00:00
parent eae59798ba
commit 876fce75a4

View File

@@ -36,49 +36,53 @@ import junit.framework.TestCase;
*/
public class ModuleDetailsImplTest extends TestCase
{
private Properties defaultProperties;
@Override
protected void setUp() throws Exception
{
defaultProperties = new Properties();
defaultProperties.setProperty(ModuleDetails.PROP_ID, "org.alfresco.module.Test");
defaultProperties.setProperty(ModuleDetails.PROP_ALIASES, "test, Test");
defaultProperties.setProperty(ModuleDetails.PROP_TITLE, "Test");
defaultProperties.setProperty(ModuleDetails.PROP_DESCRIPTION, "Test description");
defaultProperties.setProperty(ModuleDetails.PROP_VERSION, "1.0.0");
defaultProperties.setProperty(ModuleDetails.PROP_EDITIONS, "Community, Enterprise");
defaultProperties.setProperty(ModuleDetails.PROP_REPO_VERSION_MIN, new VersionNumber("1.2").toString());
defaultProperties.setProperty(ModuleDetails.PROP_REPO_VERSION_MAX, new VersionNumber("1.4.3").toString());
defaultProperties.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "a", "1.2.3");
defaultProperties.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "b", "*");
defaultProperties.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "c", "- 1.2");
defaultProperties.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "d", "1.2 -");
defaultProperties.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "e", "* - 1.2");
defaultProperties.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "f", "1.2 - *");
defaultProperties.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "g", "0.5, 0.6");
defaultProperties.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "h", "0.5 - 0.6, 0.9 - *");
defaultProperties.setProperty(ModuleDetails.PROP_INSTALL_STATE, ModuleInstallState.INSTALLED.toString());
public static Properties DEFAULT_PROPS;
static {
DEFAULT_PROPS = new Properties();
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_ID, "org.alfresco.module.Test");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_ALIASES, "test, Test");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_TITLE, "Test");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_DESCRIPTION, "Test description");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_VERSION, "1.0.0");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_EDITIONS, "Community, Enterprise");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_REPO_VERSION_MIN, new VersionNumber("1.2").toString());
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_REPO_VERSION_MAX, new VersionNumber("1.4.3").toString());
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "a", "1.2.3");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "b", "*");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "c", "- 1.2");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "d", "1.2 -");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "e", "* - 1.2");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "f", "1.2 - *");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "g", "0.5, 0.6");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_DEPENDS_PREFIX + "h", "0.5 - 0.6, 0.9 - *");
DEFAULT_PROPS.setProperty(ModuleDetails.PROP_INSTALL_STATE, ModuleInstallState.INSTALLED.toString());
}
@SuppressWarnings("unused")
public void testDefaults()
{
ModuleDetails details = new ModuleDetailsImpl(defaultProperties);
Properties props = new Properties();
props.putAll(DEFAULT_PROPS);
ModuleDetails details = new ModuleDetailsImpl(props);
}
public void testWriteAndReadProperties()
{
ModuleDetails details = new ModuleDetailsImpl(defaultProperties);
Properties props = new Properties();
props.putAll(DEFAULT_PROPS);
ModuleDetails details = new ModuleDetailsImpl(props);
// convert back to properties
Properties processedProperties = details.getProperties();
assertEquals("The number of properties changed", defaultProperties.size(), processedProperties.size());
assertEquals("The properties are different", defaultProperties, processedProperties);
assertEquals("The number of properties changed", props.size(), processedProperties.size());
assertEquals("The properties are different", props, processedProperties);
}
public void testDependencyChecks()
{
ModuleDetails details = new ModuleDetailsImpl(defaultProperties);
Properties props = new Properties();
props.putAll(DEFAULT_PROPS);
ModuleDetails details = new ModuleDetailsImpl(props);
Properties tempProperties = new Properties();
tempProperties.setProperty(ModuleDetails.PROP_ID, "a");
@@ -101,20 +105,24 @@ public class ModuleDetailsImplTest extends TestCase
public void testTrimming() throws Exception
{
defaultProperties.setProperty(ModuleDetails.PROP_INSTALL_STATE, " ");
ModuleDetails details = new ModuleDetailsImpl(defaultProperties);
Properties props = new Properties();
props.putAll(DEFAULT_PROPS);
props.setProperty(ModuleDetails.PROP_INSTALL_STATE, " ");
ModuleDetails details = new ModuleDetailsImpl(props);
assertEquals("Expected the install state to be UNKNOWN", ModuleInstallState.UNKNOWN, details.getInstallState());
}
public void testInvalidIds() throws Exception
{
Properties props = new Properties();
props.putAll(DEFAULT_PROPS);
String[] invalidIds = new String[] {"", " ", "$", "module$Test", "module.Test$", "org alfresco module Test"};
for (String invalidId : invalidIds)
{
try
{
defaultProperties.setProperty(ModuleDetails.PROP_ID, invalidId);
new ModuleDetailsImpl(defaultProperties);
props.setProperty(ModuleDetails.PROP_ID, invalidId);
new ModuleDetailsImpl(props);
fail("Invalid ID not detected: " + invalidId);
}
catch (AlfrescoRuntimeException e)
@@ -126,11 +134,13 @@ public class ModuleDetailsImplTest extends TestCase
public void testValidIds() throws Exception
{
Properties props = new Properties();
props.putAll(DEFAULT_PROPS);
String[] validIds = new String[] {"abc123", " abc123 ", "a-b-c", "a.b.c", "a_b_c", "A.1.2.3"};
for (String validId : validIds)
{
defaultProperties.setProperty(ModuleDetails.PROP_ID, validId);
new ModuleDetailsImpl(defaultProperties);
props.setProperty(ModuleDetails.PROP_ID, validId);
new ModuleDetailsImpl(props);
}
}
}