This is an automated email from the ASF dual-hosted git repository.

gharris pushed a commit to branch 3.4
in repository https://gitbox.apache.org/repos/asf/kafka.git

commit 938edea6b504c3f03c16943917cb471349ee9f11
Author: Greg Harris <[email protected]>
AuthorDate: Wed Jul 19 09:02:44 2023 -0700

    KAFKA-15211: Mock InvalidParameterException in DistributedConfigTest 
(#14039)
    
    Signed-off-by: Greg Harris <[email protected]>
    Reviewed-by: Chris Egerton <[email protected]>
---
 .../connect/runtime/distributed/DistributedConfigTest.java    | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/distributed/DistributedConfigTest.java
 
b/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/distributed/DistributedConfigTest.java
index ca6dc3334d9..95ab7411f76 100644
--- 
a/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/distributed/DistributedConfigTest.java
+++ 
b/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/distributed/DistributedConfigTest.java
@@ -24,6 +24,7 @@ import org.junit.Test;
 
 import javax.crypto.KeyGenerator;
 import javax.crypto.Mac;
+import java.security.InvalidParameterException;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -49,6 +50,7 @@ import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 public class DistributedConfigTest {
 
@@ -194,10 +196,15 @@ public class DistributedConfigTest {
     }
 
     @Test
-    public void shouldFailWithInvalidKeySize() {
+    public void shouldFailWithInvalidKeySize() throws NoSuchAlgorithmException 
{
         Map<String, String> configs = configs();
+        Crypto crypto = mock(Crypto.class);
+        KeyGenerator keygen = mock(KeyGenerator.class);
+        
when(crypto.keyGenerator(DistributedConfig.INTER_WORKER_KEY_GENERATION_ALGORITHM_DEFAULT)).thenReturn(keygen);
+        // Some implementations of KeyGenerator don't fail with 0 keysize, so 
mock the error
+        doThrow(InvalidParameterException.class).when(keygen).init(0);
         configs.put(DistributedConfig.INTER_WORKER_KEY_SIZE_CONFIG, "0");
-        assertThrows(ConfigException.class, () -> new 
DistributedConfig(configs));
+        assertThrows(ConfigException.class, () -> new 
DistributedConfig(crypto, configs));
     }
 
     @Test

Reply via email to