SLIDER-710: make sure that when the back door is closed, the tests will switch to the proxy
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/3ba98bff Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/3ba98bff Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/3ba98bff Branch: refs/heads/develop Commit: 3ba98bff98d1076c09a6ac01c4d3f1d1899c9578 Parents: d2e8f88 Author: Steve Loughran <[email protected]> Authored: Fri Jan 9 15:31:12 2015 +0000 Committer: Steve Loughran <[email protected]> Committed: Fri Jan 9 15:33:55 2015 +0000 ---------------------------------------------------------------------- .../slider/agent/rest/RestTestDelegates.groovy | 8 ++++---- .../slider/agent/rest/TestStandaloneREST.groovy | 16 ++++++++++++--- .../funtest/lifecycle/AgentWebPagesIT.groovy | 21 ++++++++++++++++---- 3 files changed, 34 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/3ba98bff/slider-core/src/test/groovy/org/apache/slider/agent/rest/RestTestDelegates.groovy ---------------------------------------------------------------------- diff --git a/slider-core/src/test/groovy/org/apache/slider/agent/rest/RestTestDelegates.groovy b/slider-core/src/test/groovy/org/apache/slider/agent/rest/RestTestDelegates.groovy index f5264b4..430ddf1 100644 --- a/slider-core/src/test/groovy/org/apache/slider/agent/rest/RestTestDelegates.groovy +++ b/slider-core/src/test/groovy/org/apache/slider/agent/rest/RestTestDelegates.groovy @@ -150,7 +150,7 @@ class RestTestDelegates extends SliderTestUtils { * with the global option * @param appmaster */ - public void testRESTModel(String appmaster) { + public void testRESTModel() { describe "model" assertPathServesList(appmaster, @@ -182,7 +182,7 @@ class RestTestDelegates extends SliderTestUtils { TEST_GLOBAL_OPTION_PRESENT } - public void testPing(String appmaster) { + public void testPing() { // GET String ping = appendToURL(appmaster, SLIDER_PATH_APPLICATION, ACTION_PING) describe "ping to AM URL $appmaster, ping URL $ping" @@ -203,14 +203,14 @@ class RestTestDelegates extends SliderTestUtils { } - public HttpOperationResponse pingAction( + private HttpOperationResponse pingAction( HttpVerb verb, URL pingUrl, String payload) { return pingAction(connectionFactory, verb, pingUrl, payload) } - public HttpOperationResponse pingAction( + private HttpOperationResponse pingAction( UrlConnectionOperations ops, HttpVerb verb, URL pingUrl, String payload) { def pinged def outcome = ops.execHttpOperation( http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/3ba98bff/slider-core/src/test/groovy/org/apache/slider/agent/rest/TestStandaloneREST.groovy ---------------------------------------------------------------------- diff --git a/slider-core/src/test/groovy/org/apache/slider/agent/rest/TestStandaloneREST.groovy b/slider-core/src/test/groovy/org/apache/slider/agent/rest/TestStandaloneREST.groovy index 582ddc7..4b907e1 100644 --- a/slider-core/src/test/groovy/org/apache/slider/agent/rest/TestStandaloneREST.groovy +++ b/slider-core/src/test/groovy/org/apache/slider/agent/rest/TestStandaloneREST.groovy @@ -22,6 +22,7 @@ import groovy.transform.CompileStatic import groovy.util.logging.Slf4j import org.apache.hadoop.yarn.api.records.ApplicationReport import org.apache.slider.agent.AgentMiniClusterTestBase +import org.apache.slider.common.SliderXmlConfKeys import org.apache.slider.common.params.Arguments import org.apache.slider.server.appmaster.web.rest.application.ApplicationResource import org.apache.slider.client.SliderClient @@ -83,6 +84,10 @@ class TestStandaloneREST extends AgentMiniClusterTestBase { log.info GET(appmaster, SYSTEM_HEALTHCHECK) log.info GET(appmaster, SYSTEM_METRICS_JSON) + def wsBackDoorRequired = conf.getBoolean( + SliderXmlConfKeys.X_DEV_INSECURE_WS, + true) + RestTestDelegates proxied = new RestTestDelegates(appmaster) RestTestDelegates direct = new RestTestDelegates(realappmaster) @@ -97,11 +102,16 @@ class TestStandaloneREST extends AgentMiniClusterTestBase { describe "Application REST ${LIVE_RESOURCES}" proxied.testLiveResources() - proxied.testRESTModel(appmaster) + proxied.testRESTModel() // PUT & POST &c must go direct for now - direct.testPing(realappmaster) - + direct.testPing() + // PUT & POST &c direct + direct.testPing() + if (!wsBackDoorRequired) { + // and via the proxy + proxied.testRESTModel() + } } http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/3ba98bff/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy ---------------------------------------------------------------------- diff --git a/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy b/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy index c71df8a..9e5e2cd 100644 --- a/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy +++ b/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy @@ -25,6 +25,7 @@ import org.apache.slider.common.SliderExitCodes import org.apache.slider.common.SliderXmlConfKeys import org.apache.slider.common.params.Arguments import org.apache.slider.common.params.SliderActions +import org.apache.slider.common.tools.ConfigHelper import org.apache.slider.funtest.framework.AgentCommandTestBase import org.apache.slider.funtest.framework.FuntestProperties import org.apache.slider.funtest.framework.SliderShell @@ -58,7 +59,15 @@ public class AgentWebPagesIT extends AgentCommandTestBase describe("Create a 0-role cluster and make web queries against it") // verify the ws/ path is open for all HTTP verbs - assert SLIDER_CONFIG.getBoolean(SliderXmlConfKeys.X_DEV_INSECURE_WS, false) + def sliderConfiguration = ConfigHelper.loadSliderConfiguration(); + + def wsBackDoorRequired = SLIDER_CONFIG.getBoolean( + SliderXmlConfKeys.X_DEV_INSECURE_WS, + true) + assert wsBackDoorRequired == + sliderConfiguration.getBoolean( + SliderXmlConfKeys.X_DEV_INSECURE_WS, + false) def clusterpath = buildClusterPath(CLUSTER) File launchReportFile = createTempJsonFile(); SliderShell shell = createTemplatedSliderApplication(CLUSTER, @@ -104,10 +113,14 @@ public class AgentWebPagesIT extends AgentCommandTestBase direct.testCodahaleOperations() proxied.testLiveResources() - proxied.testRESTModel(appmaster) + proxied.testRESTModel() - // PUT & POST &c must go direct for now - direct.testPing(realappmaster) + // PUT & POST &c direct + direct.testPing() + if (!wsBackDoorRequired) { + // and via the proxy + proxied.testRESTModel() + } } }
