@@ -21,7 +21,7 @@ import org.apache.kafka.common.message.ApiMessageType.ListenerType
2121import org .apache .kafka .common .protocol .ApiKeys
2222import org .apache .kafka .server .BrokerFeatures
2323import org .apache .kafka .server .common .KRaftVersion
24- import org .junit .jupiter .api .{ Disabled , Test }
24+ import org .junit .jupiter .api .Test
2525import org .junit .jupiter .api .Assertions ._
2626import org .junit .jupiter .params .ParameterizedTest
2727import org .junit .jupiter .params .provider .EnumSource
@@ -36,9 +36,10 @@ class ApiVersionManagerTest {
3636 @ ParameterizedTest
3737 @ EnumSource (classOf [ListenerType ])
3838 def testApiScope (apiScope : ListenerType ): Unit = {
39+ val forwardingManager = Mockito .mock(classOf [ForwardingManager ])
3940 val versionManager = new DefaultApiVersionManager (
4041 listenerType = apiScope,
41- forwardingManager = None ,
42+ forwardingManager = forwardingManager ,
4243 brokerFeatures = brokerFeatures,
4344 metadataCache = metadataCache,
4445 enableUnstableLastVersion = true
@@ -54,9 +55,10 @@ class ApiVersionManagerTest {
5455 @ ParameterizedTest
5556 @ EnumSource (classOf [ListenerType ])
5657 def testDisabledApis (apiScope : ListenerType ): Unit = {
58+ val forwardingManager = Mockito .mock(classOf [ForwardingManager ])
5759 val versionManager = new DefaultApiVersionManager (
5860 listenerType = apiScope,
59- forwardingManager = None ,
61+ forwardingManager = forwardingManager ,
6062 brokerFeatures = brokerFeatures,
6163 metadataCache = metadataCache,
6264 enableUnstableLastVersion = false
@@ -85,7 +87,7 @@ class ApiVersionManagerTest {
8587
8688 val versionManager = new DefaultApiVersionManager (
8789 listenerType = ListenerType .ZK_BROKER ,
88- forwardingManager = Some ( forwardingManager) ,
90+ forwardingManager = forwardingManager,
8991 brokerFeatures = brokerFeatures,
9092 metadataCache = metadataCache,
9193 enableUnstableLastVersion = true
@@ -103,59 +105,18 @@ class ApiVersionManagerTest {
103105 val forwardingManager = Mockito .mock(classOf [ForwardingManager ])
104106 Mockito .when(forwardingManager.controllerApiVersions).thenReturn(None )
105107
106- for (forwardingManagerOpt <- Seq (Some (forwardingManager), None )) {
107- val versionManager = new DefaultApiVersionManager (
108- listenerType = ListenerType .BROKER ,
109- forwardingManager = forwardingManagerOpt,
110- brokerFeatures = brokerFeatures,
111- metadataCache = metadataCache,
112- enableUnstableLastVersion = true
113- )
114- assertFalse(versionManager.isApiEnabled(ApiKeys .ENVELOPE , ApiKeys .ENVELOPE .latestVersion))
115- assertFalse(versionManager.enabledApis.contains(ApiKeys .ENVELOPE ))
116-
117- val apiVersionsResponse = versionManager.apiVersionResponse(throttleTimeMs = 0 , false )
118- val envelopeVersion = apiVersionsResponse.data.apiKeys.find(ApiKeys .ENVELOPE .id)
119- assertNull(envelopeVersion)
120- }
121- }
122-
123- @ Disabled (" Enable after enable KIP-590 forwarding in KAFKA-12886" )
124- @ Test
125- def testEnvelopeEnabledWhenForwardingManagerPresent (): Unit = {
126- val forwardingManager = Mockito .mock(classOf [ForwardingManager ])
127- Mockito .when(forwardingManager.controllerApiVersions).thenReturn(None )
128-
129108 val versionManager = new DefaultApiVersionManager (
130- listenerType = ListenerType .ZK_BROKER ,
131- forwardingManager = Some ( forwardingManager) ,
109+ listenerType = ListenerType .BROKER ,
110+ forwardingManager = forwardingManager,
132111 brokerFeatures = brokerFeatures,
133112 metadataCache = metadataCache,
134113 enableUnstableLastVersion = true
135114 )
136- assertTrue (versionManager.isApiEnabled(ApiKeys .ENVELOPE , ApiKeys .ENVELOPE .latestVersion))
137- assertTrue (versionManager.enabledApis.contains(ApiKeys .ENVELOPE ))
115+ assertFalse (versionManager.isApiEnabled(ApiKeys .ENVELOPE , ApiKeys .ENVELOPE .latestVersion))
116+ assertFalse (versionManager.enabledApis.contains(ApiKeys .ENVELOPE ))
138117
139118 val apiVersionsResponse = versionManager.apiVersionResponse(throttleTimeMs = 0 , false )
140119 val envelopeVersion = apiVersionsResponse.data.apiKeys.find(ApiKeys .ENVELOPE .id)
141- assertNotNull(envelopeVersion)
142- assertEquals(ApiKeys .ENVELOPE .oldestVersion, envelopeVersion.minVersion)
143- assertEquals(ApiKeys .ENVELOPE .latestVersion, envelopeVersion.maxVersion)
144- }
145-
146- @ Test
147- def testEnvelopeDisabledWhenForwardingManagerEmpty (): Unit = {
148- val versionManager = new DefaultApiVersionManager (
149- listenerType = ListenerType .ZK_BROKER ,
150- forwardingManager = None ,
151- brokerFeatures = brokerFeatures,
152- metadataCache = metadataCache,
153- enableUnstableLastVersion = true
154- )
155- assertTrue(versionManager.isApiEnabled(ApiKeys .ENVELOPE , ApiKeys .ENVELOPE .latestVersion))
156- assertTrue(versionManager.enabledApis.contains(ApiKeys .ENVELOPE ))
157-
158- val apiVersionsResponse = versionManager.apiVersionResponse(throttleTimeMs = 0 , false )
159- assertNotNull(apiVersionsResponse.data.apiKeys.find(ApiKeys .ENVELOPE .id))
120+ assertNull(envelopeVersion)
160121 }
161122}
0 commit comments