You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/10/07 09:38:55 UTC

openmeetings git commit: [OPENMEETINGS-1714] additional admin tests are added

Repository: openmeetings
Updated Branches:
  refs/heads/master 39cbb3e35 -> fdda80c57


[OPENMEETINGS-1714] additional admin tests are added


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/fdda80c5
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/fdda80c5
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/fdda80c5

Branch: refs/heads/master
Commit: fdda80c574bdeba39032520113a87e60dac72a9d
Parents: 39cbb3e
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Sat Oct 7 16:38:47 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Sat Oct 7 16:38:47 2017 +0700

----------------------------------------------------------------------
 .../java/org/apache/openmeetings/cli/Admin.java |  7 ++-
 .../src/main/assembly/scripts/admin.bat         |  2 +-
 .../src/main/assembly/scripts/admin.sh          |  2 +-
 .../openmeetings/web/pages/auth/SignInPage.java | 22 ++++-----
 .../org/apache/openmeetings/cli/TestAdmin.java  | 48 +++++++++++++++++++-
 .../web/pages/install/TestInstall.java          | 12 ++++-
 6 files changed, 75 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/fdda80c5/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
----------------------------------------------------------------------
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
index 1d9493d..2b7bf0b 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
@@ -76,6 +76,7 @@ import org.springframework.web.context.WebApplicationContext;
 
 public class Admin {
 	private static final Logger log = Red5LoggerFactory.getLogger(Admin.class);
+	public static final String RED5_HOME = "red5_home";
 
 	private boolean verbose = false;
 	private InstallationConfig cfg = null;
@@ -190,9 +191,13 @@ public class Admin {
 	}
 
 	private void process(String... args) throws Exception {
+		step = "Initialization";
+		if (!System.getProperties().containsKey("context")) {
+			System.out.println(String.format("System.property 'context' is not set, defaulting to %s", DEFAULT_CONTEXT_NAME));
+		}
 		String ctxName = System.getProperty("context", DEFAULT_CONTEXT_NAME);
 		setWicketApplicationName(ctxName);
-		File home = new File(System.getenv("RED5_HOME"));
+		File home = new File(System.getProperty(RED5_HOME));
 		OmFileHelper.setOmHome(new File(new File(home, "webapps"), ctxName));
 
 		CommandLineParser parser = new DefaultParser();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/fdda80c5/openmeetings-server/src/main/assembly/scripts/admin.bat
----------------------------------------------------------------------
diff --git a/openmeetings-server/src/main/assembly/scripts/admin.bat b/openmeetings-server/src/main/assembly/scripts/admin.bat
index c5a47c2..340b2f9 100644
--- a/openmeetings-server/src/main/assembly/scripts/admin.bat
+++ b/openmeetings-server/src/main/assembly/scripts/admin.bat
@@ -17,5 +17,5 @@ set OM_CONTEXT=openmeetings
 
 set CLASSPATH=%RED5_HOME%\*;%RED5_HOME%\conf;%RED5_HOME%\plugins\*;%RED5_HOME%\lib\*;%RED5_HOME%\webapps\%OM_CONTEXT%\WEB-INF\lib\*;%RED5_HOME%\webapps\%OM_CONTEXT%\WEB-INF;%RED5_HOME%\webapps\%OM_CONTEXT%\WEB-INF\classes
 
-java -cp "%CLASSPATH%" -Dcontext=%OM_CONTEXT% -Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector org.apache.openmeetings.cli.Admin %*
+java -cp "%CLASSPATH%" -Dred5_home=%RED5_HOME% -Dcontext=%OM_CONTEXT% -Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector org.apache.openmeetings.cli.Admin %*
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/fdda80c5/openmeetings-server/src/main/assembly/scripts/admin.sh
----------------------------------------------------------------------
diff --git a/openmeetings-server/src/main/assembly/scripts/admin.sh b/openmeetings-server/src/main/assembly/scripts/admin.sh
index a31a5ad..6868099 100644
--- a/openmeetings-server/src/main/assembly/scripts/admin.sh
+++ b/openmeetings-server/src/main/assembly/scripts/admin.sh
@@ -17,5 +17,5 @@ export OM_CONTEXT=openmeetings
 
 export CLASSPATH=$RED5_HOME/*:$RED5_HOME/conf:$RED5_HOME/plugins/*:$RED5_HOME/lib/*:$RED5_HOME/webapps/${OM_CONTEXT}/WEB-INF/lib/*:$RED5_HOME/webapps/${OM_CONTEXT}/WEB-INF:$RED5_HOME/webapps/${OM_CONTEXT}/WEB-INF/classes
 
-java -cp "$CLASSPATH" -Dcontext=${OM_CONTEXT} -Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector org.apache.openmeetings.cli.Admin $*
+java -cp "$CLASSPATH" -Dred5_home=${RED5_HOME} -Dcontext=${OM_CONTEXT} -Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector org.apache.openmeetings.cli.Admin $*
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/fdda80c5/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
index 9bb1eb8..fdde19b 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
@@ -150,23 +150,21 @@ public class SignInPage extends BaseInitedPage {
 
 	// ============= OAuth2 methods =============
 	public static void showAuth(final OAuthServer s, Component c) {
-		String authUrl = prepareUrlParams(s.getRequestKeyUrl(), s.getClientId()
-				, null, null, getRedirectUri(s, c), null);
+		String authUrl = prepareUrlParams(s.getRequestKeyUrl(), s.getClientId(), getRedirectUri(s, c), null, null, null);
 		log.debug("redirectUrl={}", authUrl);
 		throw new RedirectToUrlException(authUrl);
 	}
 
-	public static String prepareUrlParams(String urlTemplate, String clientId, String clientSecret,
-			String clientToken, String redirectUri, String code) {
+	public static String prepareUrlParams(String urlTemplate, String clientId, String redirectUri, String secret, String token, String code) {
 		String result = urlTemplate;
 		if (clientId != null) {
 			result = result.replace("{$client_id}", clientId);
 		}
-		if (clientSecret != null) {
-			result = result.replace("{$client_secret}", clientSecret);
+		if (secret != null) {
+			result = result.replace("{$client_secret}", secret);
 		}
-		if (clientToken != null) {
-			result = result.replace("{$access_token}", clientToken);
+		if (token != null) {
+			result = result.replace("{$access_token}", token);
 		}
 		if (redirectUri != null) {
 			try {
@@ -234,8 +232,8 @@ public class SignInPage extends BaseInitedPage {
 		String requestTokenBaseUrl = server.getRequestTokenUrl();
 		// build url params to request auth token
 		String requestTokenParams = server.getRequestTokenAttributes();
-		requestTokenParams = prepareUrlParams(requestTokenParams, server.getClientId(), server.getClientSecret(),
-				null, getRedirectUri(server, this), code);
+		requestTokenParams = prepareUrlParams(requestTokenParams, server.getClientId(), getRedirectUri(server, this)
+				, server.getClientSecret(), null, code);
 		// request auth token
 		HttpURLConnection urlConnection = (HttpURLConnection) new URL(requestTokenBaseUrl).openConnection();
 		prepareConnection(urlConnection);
@@ -281,8 +279,8 @@ public class SignInPage extends BaseInitedPage {
 		String lastname = server.getLastnameParamName();
 		// prepare url
 		String requestInfoUrl = server.getRequestInfoUrl();
-		requestInfoUrl = prepareUrlParams(requestInfoUrl, server.getClientId(), server.getClientSecret(),
-				token, getRedirectUri(server, this), code);
+		requestInfoUrl = prepareUrlParams(requestInfoUrl, server.getClientId(), getRedirectUri(server, this)
+				, server.getClientSecret(), token, code);
 		// send request
 		URLConnection connection = new URL(requestInfoUrl).openConnection();
 		prepareConnection(connection);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/fdda80c5/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java b/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
index eb6246b..f5b37bd 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
@@ -18,14 +18,44 @@
  */
 package org.apache.openmeetings.cli;
 
+import static org.apache.commons.io.FileUtils.deleteDirectory;
+import static org.apache.openmeetings.cli.Admin.RED5_HOME;
+import static org.apache.openmeetings.util.OmFileHelper.getOmHome;
+import static org.apache.openmeetings.web.pages.install.TestInstall.resetDerbyHome;
+import static org.apache.openmeetings.web.pages.install.TestInstall.setDerbyHome;
 import static org.junit.Assert.fail;
 
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+
+import org.apache.openmeetings.AbstractSpringTest;
+import org.junit.After;
 import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Test;
 
 public class TestAdmin {
+	private File tempFolder;
+
+	@Before
+	public void setUp() throws IOException {
+		AbstractSpringTest.setOmHome();
+		tempFolder = Files.createTempDirectory("omtempdb").toFile();
+		System.setProperty("user.dir", tempFolder.getCanonicalPath());
+		System.setProperty(RED5_HOME, getOmHome().getCanonicalPath());
+		setDerbyHome(tempFolder);
+	}
+
+	@After
+	public void tearDown() throws IOException {
+		resetDerbyHome();
+		System.getProperties().remove(RED5_HOME);
+		deleteDirectory(tempFolder);
+	}
+
 	@Test
-	public void testNoParams() {
+	public void testNoArgs() {
 		try {
 			Admin.handle();
 			fail();
@@ -33,4 +63,20 @@ public class TestAdmin {
 			Assert.assertTrue(true);
 		}
 	}
+
+	@Test
+	public void testBadArgs() {
+		try {
+			Admin.handle("aaaa");
+			fail();
+		} catch (ExitException ee) {
+			Assert.assertTrue(true);
+		}
+	}
+
+	@Test
+	public void testUsage() {
+		Admin.handle("-h");
+		Assert.assertTrue(true);
+	}
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/fdda80c5/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
index cf8683c..3e9f426 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
@@ -65,12 +65,20 @@ public class TestInstall {
 	protected WicketTester tester;
 	protected Random rnd = new Random();
 
+	public static void setDerbyHome(File f) throws IOException {
+		System.setProperty(DERBY_HOME, f.getCanonicalPath());
+	}
+
+	public static void resetDerbyHome() {
+		System.getProperties().remove(DERBY_HOME);
+	}
+
 	@Before
 	public void setUp() throws IOException {
 		AbstractSpringTest.setOmHome();
 		setWicketApplicationName(DEFAULT_APP_NAME);
 		tempFolder = Files.createTempDirectory("omtempdb").toFile();
-		System.setProperty(DERBY_HOME, tempFolder.getCanonicalPath());
+		setDerbyHome(tempFolder);
 		tester = getWicketTester();
 		assertNotNull("Web session should not be null", WebSession.get());
 		Locale[] locales = Locale.getAvailableLocales();
@@ -81,7 +89,7 @@ public class TestInstall {
 	@After
 	public void tearDown() throws IOException {
 		AbstractWicketTester.destroy(tester);
-		System.getProperties().remove(DERBY_HOME);
+		resetDerbyHome();
 		deleteDirectory(tempFolder);
 	}