mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
REPO-2910: Replace ooo.direct with jod (#46)
REPO-2910 Replace ooo.direct with jod - basic removal of ooo.direct
This commit is contained in:
@@ -0,0 +1,244 @@
|
||||
/*
|
||||
* #%L
|
||||
* Alfresco Repository
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2017 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
* #L%
|
||||
*/
|
||||
package org.alfresco.repo.content;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* Tests methods added to JodConverterSharedInstance that try to use the replaced oooDirect settings.
|
||||
* @author Alan Davis
|
||||
*/
|
||||
public class JodConverterSharedInstanceTest
|
||||
{
|
||||
public static final String LIBREOFFICE = "libreoffice";
|
||||
public static final String PROGRAM = "program";
|
||||
public static final String ELSEWHERE = "elsewhere";
|
||||
public static final String SOFFICE_BIN = "soffice.bin";
|
||||
public static final String SOFFICE_EXE = "soffice.exe";
|
||||
|
||||
private static final File OFFICE_HOME_DIR = new File(LIBREOFFICE);
|
||||
private static final File PROGRAM_DIR = new File(OFFICE_HOME_DIR, PROGRAM);
|
||||
private static final File ELSEWHERE_DIR = new File(OFFICE_HOME_DIR, ELSEWHERE);
|
||||
|
||||
private static final String OFFICE_HOME = OFFICE_HOME_DIR.getPath();
|
||||
private static final String PROGRAM_BIN = new File( PROGRAM_DIR, SOFFICE_BIN).getPath();
|
||||
private static final String PROGRAM_EXE = new File( PROGRAM_DIR, SOFFICE_EXE).getPath();
|
||||
private static final String ELSEWHERE_BIN = new File( ELSEWHERE_DIR, SOFFICE_BIN).getPath();
|
||||
private static final String NO_OFFICE_HOME_BIN = new File(new File(PROGRAM), SOFFICE_BIN).getPath();
|
||||
private static final String JUST_SOFFICE_BIN = new File( SOFFICE_BIN).getPath();
|
||||
|
||||
|
||||
private JodConverterSharedInstance instance;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
MockitoAnnotations.initMocks(this);
|
||||
instance = new JodConverterSharedInstance();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setupTest()
|
||||
{
|
||||
String SLASH = File.separator;
|
||||
assertEquals(LIBREOFFICE, OFFICE_HOME);
|
||||
assertEquals(LIBREOFFICE + SLASH + PROGRAM + SLASH + SOFFICE_EXE, PROGRAM_EXE);
|
||||
assertEquals(LIBREOFFICE + SLASH + PROGRAM + SLASH + SOFFICE_BIN, PROGRAM_BIN);
|
||||
assertEquals(LIBREOFFICE + SLASH + ELSEWHERE + SLASH + SOFFICE_BIN, ELSEWHERE_BIN);
|
||||
assertEquals( PROGRAM + SLASH + SOFFICE_BIN, NO_OFFICE_HOME_BIN);
|
||||
assertEquals( SOFFICE_BIN, JUST_SOFFICE_BIN);
|
||||
assertNotEquals(PROGRAM_BIN, PROGRAM_EXE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void officeHomeTest()
|
||||
{
|
||||
// Only jodconverter.officehome
|
||||
instance.setOfficeHome(OFFICE_HOME);
|
||||
instance.setDeprecatedOooExe(null);
|
||||
assertEquals(OFFICE_HOME, instance.getOfficeHome());
|
||||
|
||||
// Use ooo.exe
|
||||
instance.setOfficeHome(null);
|
||||
instance.setDeprecatedOooExe(PROGRAM_BIN);
|
||||
assertEquals(OFFICE_HOME, instance.getOfficeHome());
|
||||
|
||||
// jodconverter.officehome wins
|
||||
instance.setOfficeHome(OFFICE_HOME);
|
||||
instance.setDeprecatedOooExe(PROGRAM_EXE);
|
||||
assertEquals(OFFICE_HOME, instance.getOfficeHome());
|
||||
|
||||
// ooo.exe has no parent
|
||||
instance.setOfficeHome(null);
|
||||
instance.setDeprecatedOooExe(JUST_SOFFICE_BIN);
|
||||
assertEquals("", instance.getOfficeHome());
|
||||
|
||||
// ooo.exe parent is not "program"
|
||||
instance.setOfficeHome(null);
|
||||
instance.setDeprecatedOooExe(ELSEWHERE_BIN);
|
||||
assertEquals("", instance.getOfficeHome());
|
||||
|
||||
// ooo.exe has a parent "program" directory but no grandparent
|
||||
instance.setOfficeHome(null);
|
||||
instance.setDeprecatedOooExe(NO_OFFICE_HOME_BIN);
|
||||
assertEquals("", instance.getOfficeHome());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void enabledTest()
|
||||
{
|
||||
// If ooo.enabled is true the JodConverter will be enabled, otherwise the jodconverter.enabled value is used.
|
||||
// Community set properties via alfresco-global.properties.
|
||||
// Enterprise may do the same but may also reset jodconverter.enabled them via the Admin console.
|
||||
// In the case of Enterprise it is very unlikely that ooo.enabled will be set to true.
|
||||
|
||||
// Only jodconverter.enabled
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("true");
|
||||
instance.setDeprecatedOooEnabled(null);
|
||||
assertTrue(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("true");
|
||||
assertTrue(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("false");
|
||||
instance.setDeprecatedOooEnabled(null);
|
||||
assertFalse(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("false");
|
||||
assertFalse(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("any value other than true");
|
||||
instance.setDeprecatedOooEnabled(null);
|
||||
assertFalse(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("");
|
||||
instance.setDeprecatedOooEnabled(null);
|
||||
assertFalse(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled(null);
|
||||
instance.setDeprecatedOooEnabled(null);
|
||||
assertFalse(instance.isEnabled());
|
||||
|
||||
// Use ooo.enabled
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled(null);
|
||||
instance.setDeprecatedOooEnabled("true");
|
||||
assertTrue(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled(null);
|
||||
instance.setDeprecatedOooEnabled("false");
|
||||
assertFalse(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setDeprecatedOooEnabled("true");
|
||||
assertTrue(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setDeprecatedOooEnabled("false");
|
||||
assertFalse(instance.isEnabled());
|
||||
|
||||
// Check jodconverter.enabled is used if ooo.enabled is false - Original Enterprise setup
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("true");
|
||||
instance.setDeprecatedOooEnabled("false");
|
||||
assertTrue(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("false");
|
||||
instance.setDeprecatedOooEnabled("false");
|
||||
assertFalse(instance.isEnabled());
|
||||
|
||||
// Check jodconverter.enabled is ignored if ooo.enabled is true - Original Community setup
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("true");
|
||||
instance.setDeprecatedOooEnabled("true");
|
||||
assertTrue(instance.isEnabled());
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("false");
|
||||
instance.setDeprecatedOooEnabled("true");
|
||||
assertTrue(instance.isEnabled());
|
||||
|
||||
// Check reset of jodconverter.enabled turns off isAvailable
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("true");
|
||||
instance.isAvailable = true; // Normally set to true after running afterPropertiesSet()
|
||||
instance.setEnabled("true");
|
||||
assertTrue(instance.isAvailable);
|
||||
instance.setEnabled("false");
|
||||
assertFalse(instance.isAvailable);
|
||||
|
||||
instance = new JodConverterSharedInstance();
|
||||
instance.setEnabled("true");
|
||||
instance.setDeprecatedOooEnabled("false"); // Extra line compare with previous
|
||||
instance.isAvailable = true;
|
||||
instance.setEnabled("true");
|
||||
assertTrue(instance.isAvailable);
|
||||
instance.setEnabled("false");
|
||||
assertFalse(instance.isAvailable);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void portNumbersTest()
|
||||
{
|
||||
// ooo.port or jodconverter.portNumber is used depending on the setting of enabled properties.
|
||||
// If jodconverter.enabled is true jodconverter.portNumber is used.
|
||||
// If jodconverter.enabled is false and ooo.enabled is true ooo.port is used.
|
||||
// If jodconverter.enabled is false and ooo.enabled is true ooo.port is used.
|
||||
|
||||
// jodconverter.enabled=true use jodconverter.portNumber
|
||||
instance.setEnabled("true");
|
||||
instance.setPortNumbers("8001,8002,8003");
|
||||
instance.setDeprecatedOooPort("8001");
|
||||
assertArrayEquals(new int[] {8001, 8002, 8003}, instance.getPortNumbers());
|
||||
|
||||
// jodconverter.enabled=true and ooo.enabled=true use jodconverter.portNumber
|
||||
instance.setDeprecatedOooEnabled("true");
|
||||
assertArrayEquals(new int[] {8001, 8002, 8003}, instance.getPortNumbers());
|
||||
|
||||
// jodconverter.enabled=false and ooo.enabled=true use ooo.port
|
||||
instance.setEnabled("false");
|
||||
assertArrayEquals(new int[] {8001}, instance.getPortNumbers());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user