test_class.declarator: props = new HashMap<>()
test_class.modifier: private static
test_class.original_string: private static Map<String, String> props = new HashMap<>();
test_class.type: Map<String, String>
test_class.var_name: props
test_class.declarator: CONFIG_INFOS
test_class.modifier: private static final
test_class.original_string: private static final ConfigInfos CONFIG_INFOS;
test_class.type: ConfigInfos
test_class.var_name: CONFIG_INFOS
test_class.declarator: ERROR_COUNT = 1
test_class.modifier: private static final
test_class.original_string: private static final int ERROR_COUNT = 1;
test_class.type: int
test_class.var_name: ERROR_COUNT
test_class.declarator: herder
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Herder herder;
test_class.type: Herder
test_class.var_name: herder
test_class.declarator: connectorPluginsResource
test_class.modifier: private
test_class.original_string: private ConnectorPluginsResource connectorPluginsResource;
test_class.type: ConnectorPluginsResource
test_class.var_name: connectorPluginsResource
test_class.file: connect/runtime/src/test/java/org/apache/kafka/connect/runtime/rest/resources/ConnectorPluginsResourceTest.java
test_class.identifier: ConnectorPluginsResourceTest
test_case.body: @Test
      public void testValidateConfig() throws Throwable {
          herder.validateConfigs(EasyMock.eq(ConnectorPluginsResourceTestConnector.class.getName()), EasyMock.eq(props));
  
          PowerMock.expectLastCall().andAnswer(new IAnswer<ConfigInfos>() {
              @Override
              public ConfigInfos answer() {
                  ConfigDef connectorConfigDef = ConnectorConfig.configDef();
                  List<ConfigValue> connectorConfigValues = connectorConfigDef.validate(props);
  
                  Connector connector = new ConnectorPluginsResourceTestConnector();
                  Config config = connector.validate(props);
                  ConfigDef configDef = connector.config();
                  Map<String, ConfigDef.ConfigKey> configKeys = configDef.configKeys();
                  List<ConfigValue> configValues = config.configValues();
  
                  Map<String, ConfigDef.ConfigKey> resultConfigKeys = new HashMap<>(configKeys);
                  resultConfigKeys.putAll(connectorConfigDef.configKeys());
                  configValues.addAll(connectorConfigValues);
  
                  return AbstractHerder.generateResult(ConnectorPluginsResourceTestConnector.class.getName(), resultConfigKeys, configValues, Collections.singletonList("Test"));
              }
          });
          PowerMock.replayAll();
  
          ConfigInfos configInfos = connectorPluginsResource.validateConfigs(ConnectorPluginsResourceTestConnector.class.getName(), props);
          assertEquals(CONFIG_INFOS.name(), configInfos.name());
          assertEquals(CONFIG_INFOS.errorCount(), configInfos.errorCount());
          assertEquals(CONFIG_INFOS.groups(), configInfos.groups());
          assertEquals(new HashSet<>(CONFIG_INFOS.values()), new HashSet<>(configInfos.values()));
  
          PowerMock.verifyAll();
      }
test_case.class_method_signature: ConnectorPluginsResourceTest.testValidateConfig()
test_case.full_signature: @Test public void testValidateConfig()
test_case.identifier: testValidateConfig
test_case.invocations: validateConfigs eq getName eq andAnswer expectLastCall configDef validate validate config configKeys configValues putAll configKeys addAll generateResult getName singletonList replayAll validateConfigs getName assertEquals name name assertEquals errorCount errorCount assertEquals groups groups assertEquals values values verifyAll
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testValidateConfig()
focal_class.declarator: herder
focal_class.modifier: private final
focal_class.original_string: private final Herder herder;
focal_class.type: Herder
focal_class.var_name: herder
focal_class.file: connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/resources/ConnectorPluginsResource.java
focal_class.identifier: ConnectorPluginsResource
focal_class.class_method_signature: ConnectorPluginsResource.ConnectorPluginsResource(Herder herder)
focal_class.full_signature: public  ConnectorPluginsResource(Herder herder)
focal_class.identifier: ConnectorPluginsResource
focal_class.modifiers: public
focal_class.parameters: (Herder herder)
focal_class.signature:  ConnectorPluginsResource(Herder herder)
focal_class.class_method_signature: ConnectorPluginsResource.validateConfigs(final @PathParam("connectorType") String connType,
                                         final Map<String, String> connectorConfig)
focal_class.full_signature: @PUT @Path("/{connectorType}/config/validate") public ConfigInfos validateConfigs(final @PathParam("connectorType") String connType,
                                         final Map<String, String> connectorConfig)
focal_class.identifier: validateConfigs
focal_class.modifiers: @PUT @Path("/{connectorType}/config/validate") public
focal_class.parameters: (final @PathParam("connectorType") String connType,
                                         final Map<String, String> connectorConfig)
focal_class.return: ConfigInfos
focal_class.signature: ConfigInfos validateConfigs(final @PathParam("connectorType") String connType,
                                         final Map<String, String> connectorConfig)
focal_class.class_method_signature: ConnectorPluginsResource.listConnectorPlugins()
focal_class.full_signature: @GET @Path("/") public List<ConnectorPluginInfo> listConnectorPlugins()
focal_class.identifier: listConnectorPlugins
focal_class.modifiers: @GET @Path("/") public
focal_class.parameters: ()
focal_class.return: List<ConnectorPluginInfo>
focal_class.signature: List<ConnectorPluginInfo> listConnectorPlugins()
focal_method.body: @PUT
      @Path("/{connectorType}/config/validate")
      public ConfigInfos validateConfigs(final @PathParam("connectorType") String connType,
                                         final Map<String, String> connectorConfig) throws Throwable {
          return herder.validateConfigs(connType, connectorConfig);
      }
focal_method.class_method_signature: ConnectorPluginsResource.validateConfigs(final @PathParam("connectorType") String connType,
                                         final Map<String, String> connectorConfig)
focal_method.full_signature: @PUT @Path("/{connectorType}/config/validate") public ConfigInfos validateConfigs(final @PathParam("connectorType") String connType,
                                         final Map<String, String> connectorConfig)
focal_method.identifier: validateConfigs
focal_method.invocations: validateConfigs
focal_method.modifiers: @PUT @Path("/{connectorType}/config/validate") public
focal_method.parameters: (final @PathParam("connectorType") String connType,
                                         final Map<String, String> connectorConfig)
focal_method.return: ConfigInfos
focal_method.signature: ConfigInfos validateConfigs(final @PathParam("connectorType") String connType,
                                         final Map<String, String> connectorConfig)