forked from apache/kafka
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
KAFKA-16068: Use TestPlugins mechanism in ConnectorValidationIntegrat…
…ionTest to prevent ERROR-level log spam in unrelated test suites (apache#16647) Reviewers: Greg Harris <[email protected]>
- Loading branch information
Showing
9 changed files
with
261 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
...-plugins/bad-packaging/META-INF/services/org.apache.kafka.connect.storage.HeaderConverter
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
test.plugins.DefaultConstructorThrowsConverter | ||
test.plugins.NoDefaultConstructorConverter |
77 changes: 77 additions & 0 deletions
77
.../resources/test-plugins/bad-packaging/test/plugins/DefaultConstructorThrowsConverter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one or more | ||
* contributor license agreements. See the NOTICE file distributed with | ||
* this work for additional information regarding copyright ownership. | ||
* The ASF licenses this file to You under the Apache License, Version 2.0 | ||
* (the "License"); you may not use this file except in compliance with | ||
* the License. You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
package test.plugins; | ||
|
||
import java.io.IOException; | ||
import java.util.Map; | ||
|
||
import org.apache.kafka.common.config.ConfigDef; | ||
import org.apache.kafka.connect.data.Schema; | ||
import org.apache.kafka.connect.data.SchemaAndValue; | ||
import org.apache.kafka.connect.storage.Converter; | ||
import org.apache.kafka.connect.storage.HeaderConverter; | ||
|
||
/** | ||
* Fake plugin class for testing classloading isolation. | ||
* See {@link org.apache.kafka.connect.runtime.isolation.TestPlugins}. | ||
* <p>Unconditionally throw an exception during the default constructor. | ||
*/ | ||
public class DefaultConstructorThrowsConverter implements Converter, HeaderConverter { | ||
|
||
public DefaultConstructorThrowsConverter() { | ||
throw new RuntimeException("I always throw an exception"); | ||
} | ||
|
||
@Override | ||
public void configure(final Map<String, ?> configs, final boolean isKey) { | ||
|
||
} | ||
|
||
@Override | ||
public byte[] fromConnectData(final String topic, final Schema schema, final Object value) { | ||
return new byte[0]; | ||
} | ||
|
||
@Override | ||
public SchemaAndValue toConnectData(final String topic, final byte[] value) { | ||
return null; | ||
} | ||
|
||
@Override | ||
public void close() throws IOException { | ||
} | ||
|
||
@Override | ||
public void configure(Map<String, ?> configs) { | ||
} | ||
|
||
@Override | ||
public SchemaAndValue toConnectHeader(String topic, String headerKey, byte[] value) { | ||
return null; | ||
} | ||
|
||
@Override | ||
public byte[] fromConnectHeader(String topic, String headerKey, Schema schema, Object value) { | ||
return new byte[0]; | ||
} | ||
|
||
@Override | ||
public ConfigDef config() { | ||
return new ConfigDef(); | ||
} | ||
} |
85 changes: 85 additions & 0 deletions
85
...me/src/test/resources/test-plugins/bad-packaging/test/plugins/InnocuousSinkConnector.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one or more | ||
* contributor license agreements. See the NOTICE file distributed with | ||
* this work for additional information regarding copyright ownership. | ||
* The ASF licenses this file to You under the Apache License, Version 2.0 | ||
* (the "License"); you may not use this file except in compliance with | ||
* the License. You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
package test.plugins; | ||
|
||
import java.util.Collection; | ||
import java.util.Collections; | ||
import java.util.List; | ||
import java.util.Map; | ||
|
||
import org.apache.kafka.common.config.ConfigDef; | ||
import org.apache.kafka.connect.connector.Task; | ||
import org.apache.kafka.connect.sink.SinkConnector; | ||
import org.apache.kafka.connect.sink.SinkRecord; | ||
import org.apache.kafka.connect.sink.SinkTask; | ||
|
||
/** | ||
* Fake plugin class for testing classloading isolation. | ||
* See {@link org.apache.kafka.connect.runtime.isolation.TestPlugins}. | ||
* <p>This is a valid connector class, and can be used to test connector configurations | ||
* that use other plugins in this package. | ||
*/ | ||
public class InnocuousSinkConnector extends SinkConnector { | ||
|
||
@Override | ||
public String version() { | ||
return "0.0.0"; | ||
} | ||
|
||
@Override | ||
public void start(Map<String, String> props) { | ||
} | ||
|
||
@Override | ||
public Class<? extends Task> taskClass() { | ||
return InnocuousSinkTask.class; | ||
} | ||
|
||
@Override | ||
public List<Map<String, String>> taskConfigs(int maxTasks) { | ||
return Collections.emptyList(); | ||
} | ||
|
||
@Override | ||
public void stop() { | ||
} | ||
|
||
@Override | ||
public ConfigDef config() { | ||
return new ConfigDef(); | ||
} | ||
|
||
public static class InnocuousSinkTask extends SinkTask { | ||
@Override | ||
public String version() { | ||
return "0.0.0"; | ||
} | ||
|
||
@Override | ||
public void start(Map<String, String> props) { | ||
} | ||
|
||
@Override | ||
public void put(Collection<SinkRecord> records) { | ||
} | ||
|
||
@Override | ||
public void stop() { | ||
} | ||
} | ||
} |
Oops, something went wrong.