Repository: samza Updated Branches: refs/heads/master 9d66772d1 -> 28afae09d
SAMZA-1206; Fix TestJMXServer. Author: Shanthoosh Venkataraman <[email protected]> Reviewers: Navina Ramesh<[email protected]> Closes #164 from shanthoosh/fix-test-jmx-server-1 Project: http://git-wip-us.apache.org/repos/asf/samza/repo Commit: http://git-wip-us.apache.org/repos/asf/samza/commit/28afae09 Tree: http://git-wip-us.apache.org/repos/asf/samza/tree/28afae09 Diff: http://git-wip-us.apache.org/repos/asf/samza/diff/28afae09 Branch: refs/heads/master Commit: 28afae09d030d272b63076d0319bda45d3e15f86 Parents: 9d66772 Author: Shanthoosh Venkataraman <[email protected]> Authored: Mon May 8 17:22:14 2017 -0700 Committer: vjagadish1989 <[email protected]> Committed: Mon May 8 17:22:14 2017 -0700 ---------------------------------------------------------------------- build.gradle | 13 +++-- gradle/dependency-versions.gradle | 29 +++++----- .../apache/samza/metrics/TestJmxServer.scala | 60 +++++++++----------- 3 files changed, 49 insertions(+), 53 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/samza/blob/28afae09/build.gradle ---------------------------------------------------------------------- diff --git a/build.gradle b/build.gradle index c1a261b..1b97272 100644 --- a/build.gradle +++ b/build.gradle @@ -155,18 +155,21 @@ project(":samza-core_$scalaVersion") { dependencies { compile project(':samza-api') + compile "com.101tec:zkclient:$zkClientVersion" compile "com.google.guava:guava:$guavaVersion" - compile "org.scala-lang:scala-library:$scalaLibVersion" - compile "org.slf4j:slf4j-api:$slf4jVersion" compile "net.sf.jopt-simple:jopt-simple:$joptSimpleVersion" - compile "org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion" - compile "org.eclipse.jetty:jetty-webapp:$jettyVersion" - compile "com.101tec:zkclient:$zkClientVersion" compile "org.apache.commons:commons-collections4:$apacheCommonsCollections4Version" compile "org.apache.commons:commons-lang3:$commonsLang3Version" + compile "org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion" + compile "org.eclipse.jetty:jetty-webapp:$jettyVersion" + compile "org.scala-lang:scala-library:$scalaLibVersion" + compile "org.slf4j:slf4j-api:$slf4jVersion" testCompile project(":samza-api").sourceSets.test.output testCompile "junit:junit:$junitVersion" testCompile "org.mockito:mockito-all:$mockitoVersion" + testCompile "org.powermock:powermock-api-mockito:$powerMockVersion" + testCompile "org.powermock:powermock-core:$powerMockVersion" + testCompile "org.powermock:powermock-module-junit4:$powerMockVersion" testCompile "org.scalatest:scalatest_$scalaVersion:$scalaTestVersion" } http://git-wip-us.apache.org/repos/asf/samza/blob/28afae09/gradle/dependency-versions.gradle ---------------------------------------------------------------------- diff --git a/gradle/dependency-versions.gradle b/gradle/dependency-versions.gradle index 8122ca9..cedc979 100644 --- a/gradle/dependency-versions.gradle +++ b/gradle/dependency-versions.gradle @@ -17,27 +17,28 @@ * under the License. */ ext { + apacheCommonsCollections4Version = "4.0" + commonsCodecVersion = "1.9" + commonsCollectionVersion = "3.2.1" + commonsHttpClientVersion = "3.1" + commonsLang3Version = "3.4" elasticsearchVersion = "2.2.0" + guavaVersion = "17.0" + httpClientVersion = "4.4.1" + jacksonVersion = "1.9.13" jerseyVersion = "2.22.1" jodaTimeVersion = "2.2" joptSimpleVersion = "3.2" - jacksonVersion = "1.9.13" junitVersion = "4.8.1" + kafkaVersion = "0.10.1.1" + log4jVersion = "1.2.17" + metricsVersion = "2.2.0" mockitoVersion = "1.10.19" + powerMockVersion = "1.6.6" + rocksdbVersion = "5.0.1" scalaTestVersion = "3.0.1" + slf4jVersion = "1.6.2" + yarnVersion = "2.6.1" zkClientVersion = "0.8" zookeeperVersion = "3.4.6" - metricsVersion = "2.2.0" - kafkaVersion = "0.10.1.1" - commonsHttpClientVersion = "3.1" - rocksdbVersion = "5.0.1" - yarnVersion = "2.6.1" - slf4jVersion = "1.6.2" - log4jVersion = "1.2.17" - guavaVersion = "17.0" - commonsCodecVersion = "1.9" - commonsCollectionVersion = "3.2.1" - httpClientVersion="4.4.1" - commonsLang3Version="3.4" - apacheCommonsCollections4Version="4.0" } http://git-wip-us.apache.org/repos/asf/samza/blob/28afae09/samza-core/src/test/scala/org/apache/samza/metrics/TestJmxServer.scala ---------------------------------------------------------------------- diff --git a/samza-core/src/test/scala/org/apache/samza/metrics/TestJmxServer.scala b/samza-core/src/test/scala/org/apache/samza/metrics/TestJmxServer.scala index 4caece4..5c65663 100644 --- a/samza-core/src/test/scala/org/apache/samza/metrics/TestJmxServer.scala +++ b/samza-core/src/test/scala/org/apache/samza/metrics/TestJmxServer.scala @@ -19,45 +19,37 @@ package org.apache.samza.metrics -import org.junit.Assert._ -import org.junit.Test +import javax.management.remote.JMXConnectorServer +import javax.management.remote.JMXConnectorServerFactory import org.apache.samza.util.Logging - -import java.io.IOException - -import javax.management.remote.{JMXConnector, JMXConnectorFactory, JMXServiceURL} - +import org.junit.runner.RunWith +import org.junit.Test +import org.mockito.Matchers.anyObject +import org.mockito.Mockito.atLeastOnce +import org.mockito.Mockito.mock +import org.mockito.Mockito.verify +import org.mockito.Mockito.when +import org.powermock.api.mockito.PowerMockito +import org.powermock.core.classloader.annotations.PowerMockIgnore +import org.powermock.core.classloader.annotations.PrepareForTest +import org.powermock.modules.junit4.PowerMockRunner + +@RunWith(classOf[PowerMockRunner]) +@PrepareForTest(Array(classOf[JMXConnectorServerFactory])) +@PowerMockIgnore(Array("javax.management.*")) class TestJmxServer extends Logging { - // TODO: Fix in SAMZA-1206 - //@Test - def serverStartsUp { - var jmxServer: JmxServer = null - - try { - jmxServer = new JmxServer + @Test + def serverStartsUp() { + val mockJMXConnectorServer: JMXConnectorServer = mock(classOf[JMXConnectorServer]) - println("JmxServer = %s" format jmxServer) - println("Got jmxServer on port " + jmxServer.getRegistryPort) + PowerMockito.mockStatic(classOf[JMXConnectorServerFactory]) + when(JMXConnectorServerFactory.newJMXConnectorServer(anyObject(), anyObject(), anyObject())).thenReturn(mockJMXConnectorServer) - val jmxURL = new JMXServiceURL(jmxServer.getJmxUrl) - var jmxConnector:JMXConnector = null - try { - jmxConnector = JMXConnectorFactory.connect(jmxURL, null) - val connection = jmxConnector.getMBeanServerConnection() - assertTrue("Connected but mbean count is somehow 0", connection.getMBeanCount.intValue() > 0) - } catch { - case ioe:IOException => fail("Couldn't open connection to local JMX server") - } finally { - if (jmxConnector != null) { - jmxConnector.close - } - } + val jmxServer: JmxServer = new JmxServer + jmxServer.stop - } finally { - if (jmxServer != null) { - jmxServer.stop - } - } + verify(mockJMXConnectorServer, atLeastOnce()).start() + verify(mockJMXConnectorServer, atLeastOnce()).stop() } }
