You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by ja...@apache.org on 2017/05/09 00:22:19 UTC

samza git commit: SAMZA-1206; Fix TestJMXServer.

Repository: samza
Updated Branches:
  refs/heads/master 9d66772d1 -> 28afae09d


SAMZA-1206; Fix TestJMXServer.

Author: Shanthoosh Venkataraman <sv...@linkedin.com>

Reviewers: Navina Ramesh<na...@apache.org>

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 <sv...@linkedin.com>
Authored: Mon May 8 17:22:14 2017 -0700
Committer: vjagadish1989 <jv...@linkedin.com>
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()
   }
 }