You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2010/06/25 03:17:50 UTC
svn commit: r957774 - in /shindig/trunk: config/
java/common/src/main/java/org/apache/shindig/common/
java/common/src/main/java/org/apache/shindig/config/
java/common/src/test/java/org/apache/shindig/config/
java/gadgets/src/test/java/org/apache/shindi...
Author: lindner
Date: Fri Jun 25 01:17:49 2010
New Revision: 957774
URL: http://svn.apache.org/viewvc?rev=957774&view=rev
Log:
Dynamically set the SERVER_PORT for tests and defaults
Modified:
shindig/trunk/config/container.js
shindig/trunk/java/common/src/main/java/org/apache/shindig/common/PropertiesModule.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/SocialApiTestsGuiceModule.java
Modified: shindig/trunk/config/container.js
URL: http://svn.apache.org/viewvc/shindig/trunk/config/container.js?rev=957774&r1=957773&r2=957774&view=diff
==============================================================================
--- shindig/trunk/config/container.js (original)
+++ shindig/trunk/config/container.js Fri Jun 25 01:17:49 2010
@@ -102,10 +102,10 @@
//"gadgets.securityTokenKeyFile" : "/path/to/key/file.txt",
// URI for the default shindig test instance.
-"defaultShindigTestHost": "http://localhost:9003",
+"defaultShindigTestHost": "http://localhost:${SERVER_PORT}",
// Authority (host:port without scheme) for the proxy and concat servlets.
-"defaultShindigProxyConcatAuthority": "localhost:9003",
+"defaultShindigProxyConcatAuthority": "localhost:${SERVER_PORT}",
// Default Uri config: these must be overridden - specified here for testing purposes
"gadgets.uri.iframe.unlockedDomain": "${Cur['defaultShindigTestHost']}",
Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/common/PropertiesModule.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/PropertiesModule.java?rev=957774&r1=957773&r2=957774&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/common/PropertiesModule.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/common/PropertiesModule.java Fri Jun 25 01:17:49 2010
@@ -57,6 +57,19 @@ public class PropertiesModule extends Ab
@Override
protected void configure() {
Names.bindProperties(this.binder(), getProperties());
+ // This could be generalized to inject any system property...
+ this.binder().bindConstant().annotatedWith(Names.named("shindig.port")).to(getServerPort());
+ }
+
+ /**
+ * Should return the port that the current server is running on. Useful for testing and working out of the box configs.
+ * Looks for a port in system properties "shindig.port" then "jetty.port", if not set uses fixed value of "8080"
+ * @return an integer port number as a string.
+ */
+ protected String getServerPort() {
+ return System.getProperty("shindig.port") != null ? System.getProperty("shindig.port") :
+ System.getProperty("jetty.port") != null ? System.getProperty("jetty.port") :
+ "8080";
}
protected static String getDefaultPropertiesPath() {
Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java?rev=957774&r1=957773&r2=957774&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java Fri Jun 25 01:17:49 2010
@@ -73,17 +73,30 @@ public class JsonContainerConfig extends
private final Map<String, Map<String, Object>> config;
private final Expressions expressions;
+
private static final Pattern CRLF_PATTERN = Pattern.compile("[\r\n]+");
+ // Used by tests
+ public JsonContainerConfig(String containers, Expressions expressions) throws ContainerConfigException {
+ this(containers, "8080", expressions);
+ }
/**
* Creates a new configuration from files.
* @throws ContainerConfigException
*/
@Inject
- public JsonContainerConfig(@Named("shindig.containers.default") String containers, Expressions expressions)
+ public JsonContainerConfig(@Named("shindig.containers.default") String containers,
+ @Named("shindig.port") String port,
+ Expressions expressions)
throws ContainerConfigException {
this.expressions = expressions;
- config = createContainers(loadContainers(containers));
+ JSONObject configJson = loadContainers(containers);
+ try {
+ configJson.getJSONObject(ContainerConfig.DEFAULT_CONTAINER).put("SERVER_PORT", port);
+ } catch (JSONException e) {
+ // ignore
+ }
+ config = createContainers(configJson);
init();
}
Modified: shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java?rev=957774&r1=957773&r2=957774&view=diff
==============================================================================
--- shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java (original)
+++ shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java Fri Jun 25 01:17:49 2010
@@ -193,6 +193,19 @@ public class JsonContainerConfigTest {
}
@Test
+ public void shindigPortTest() throws Exception {
+ // We use a JSON Object here to guarantee that we're well formed up front.
+ JSONObject json = new JSONObject();
+ json.put(CONTAINER_KEY, new String[]{DEFAULT_CONTAINER});
+ json.put("expression", "port=${SERVER_PORT}");
+
+ ContainerConfig config = new JsonContainerConfig(createContainer(json).getAbsolutePath(), Expressions.forTesting());
+
+ assertEquals("port=8080", config.getString(DEFAULT_CONTAINER, "expression"));
+
+ }
+
+ @Test
public void expressionEvaluationUsingParent() throws Exception {
// We use a JSON Object here to guarantee that we're well formed up front.
JSONObject json = new JSONObject();
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java?rev=957774&r1=957773&r2=957774&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java Fri Jun 25 01:17:49 2010
@@ -259,7 +259,7 @@ public class ConcatProxyServletTest exte
verify();
String results = "_js={\r\n"
+ addVar(URL1.toString(), SCRT1_ESCAPED)
- + "FAILED_TO_RETRIEVE_CONTENT concat(http://example.org/4.js) null";
+ + "FAILED_TO_RETRIEVE_CONTENT concat(http://example.org/4.js) null};\r\n";
assertEquals(results, recorder.getResponseAsString());
assertEquals(400, recorder.getHttpStatusCode());
}
@@ -274,7 +274,7 @@ public class ConcatProxyServletTest exte
String results = "_js={\r\n"
+ addVar(URL1.toString(), SCRT1_ESCAPED)
- + "HTML_PARSE_ERROR concat(http://example.org/4.js) null";
+ + "HTML_PARSE_ERROR concat(http://example.org/4.js) null};\r\n";
expectRequestWithUris(Lists.newArrayList(URL1, URL4), "_js");
Modified: shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java?rev=957774&r1=957773&r2=957774&view=diff
==============================================================================
--- shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java (original)
+++ shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java Fri Jun 25 01:17:49 2010
@@ -105,6 +105,9 @@ public class EndToEndServer {
* Starts the server for end-to-end tests.
*/
private Server createServer(int port) throws Exception {
+ System.setProperty("shindig.port", String.valueOf(port));
+ System.setProperty("jetty.port", String.valueOf(port));
+
Server newServer = new Server(port);
// Attach the test resources in /endtoend as static content for the test
Modified: shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/SocialApiTestsGuiceModule.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/SocialApiTestsGuiceModule.java?rev=957774&r1=957773&r2=957774&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/SocialApiTestsGuiceModule.java (original)
+++ shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/SocialApiTestsGuiceModule.java Fri Jun 25 01:17:49 2010
@@ -73,9 +73,9 @@ public class SocialApiTestsGuiceModule e
.toInstance(ImmutableSet.<Object>of(ActivityHandler.class, AppDataHandler.class,
PersonHandler.class, MessageHandler.class));
- bind(String.class).annotatedWith(
- Names.named("shindig.containers.default"))
- .toInstance("res://containers/default/container.js");
+ bindConstant().annotatedWith(Names.named("shindig.containers.default"))
+ .to("res://containers/default/container.js");
+ bindConstant().annotatedWith(Names.named("shindig.port")).to("8080");
bind(ContainerConfig.class).to(JsonContainerConfig.class);
bind(Integer.class).annotatedWith(