use of io.strimzi.api.kafka.model.connect.build.Artifact in project strimzi by strimzi.
the class KafkaConnectDockerfileTest method testNoUrlWhenRequired.
@ParallelTest
public void testNoUrlWhenRequired() {
Artifact tgzArtifact = new TgzArtifactBuilder().build();
Artifact jarArtifact = new JarArtifactBuilder().build();
Artifact zipArtifact = new ZipArtifactBuilder().build();
Artifact otherArtifact = new OtherArtifactBuilder().build();
Build connectBuildTgz = new BuildBuilder().withPlugins(new PluginBuilder().withName("my-connector-plugin").withArtifacts(singletonList(tgzArtifact)).build()).build();
Throwable e = assertThrows(InvalidConfigurationException.class, () -> new KafkaConnectDockerfile("myImage:latest", connectBuildTgz));
assertThat(e.getMessage(), is("`tgz` artifact is missing a URL."));
Build connectBuildZip = new BuildBuilder().withPlugins(new PluginBuilder().withName("my-connector-plugin").withArtifacts(singletonList(zipArtifact)).build()).build();
e = assertThrows(InvalidConfigurationException.class, () -> new KafkaConnectDockerfile("myImage:latest", connectBuildZip));
assertThat(e.getMessage(), is("`zip` artifact is missing a URL."));
Build connectBuildJar = new BuildBuilder().withPlugins(new PluginBuilder().withName("my-connector-plugin").withArtifacts(singletonList(jarArtifact)).build()).build();
e = assertThrows(InvalidConfigurationException.class, () -> new KafkaConnectDockerfile("myImage:latest", connectBuildJar));
assertThat(e.getMessage(), is("`jar` artifact is missing a URL."));
Build connectBuildOther = new BuildBuilder().withPlugins(new PluginBuilder().withName("my-connector-plugin").withArtifacts(singletonList(otherArtifact)).build()).build();
e = assertThrows(InvalidConfigurationException.class, () -> new KafkaConnectDockerfile("myImage:latest", connectBuildOther));
assertThat(e.getMessage(), is("`other` artifact is missing a URL."));
}
use of io.strimzi.api.kafka.model.connect.build.Artifact in project strimzi-kafka-operator by strimzi.
the class KafkaConnectDockerfile method addPlugin.
/**
* Adds a particular connector plugin to the container image. It will go through the individual artifacts and add
* them one by one depending on their type.
*
* @param writer Writer for printing the Docker commands
* @param plugin A single plugin which should be added to the new container image
*/
private void addPlugin(PrintWriter writer, Plugin plugin) {
printSectionHeader(writer, "Connector plugin " + plugin.getName());
String connectorPath = BASE_PLUGIN_PATH + plugin.getName();
for (Artifact art : plugin.getArtifacts()) {
if (art instanceof JarArtifact) {
addJarArtifact(writer, connectorPath, (JarArtifact) art);
} else if (art instanceof TgzArtifact) {
addTgzArtifact(writer, connectorPath, (TgzArtifact) art);
} else if (art instanceof ZipArtifact) {
addZipArtifact(writer, connectorPath, (ZipArtifact) art);
} else if (art instanceof MavenArtifact) {
addMavenArtifact(writer, plugin.getName(), (MavenArtifact) art);
} else if (art instanceof OtherArtifact) {
addOtherArtifact(writer, connectorPath, (OtherArtifact) art);
} else {
throw new RuntimeException("Unexpected artifact type " + art.getType());
}
}
}
use of io.strimzi.api.kafka.model.connect.build.Artifact in project strimzi by strimzi.
the class KafkaConnectDockerfile method addPlugin.
/**
* Adds a particular connector plugin to the container image. It will go through the individual artifacts and add
* them one by one depending on their type.
*
* @param writer Writer for printing the Docker commands
* @param plugin A single plugin which should be added to the new container image
*/
private void addPlugin(PrintWriter writer, Plugin plugin) {
printSectionHeader(writer, "Connector plugin " + plugin.getName());
String connectorPath = BASE_PLUGIN_PATH + plugin.getName();
for (Artifact art : plugin.getArtifacts()) {
if (art instanceof JarArtifact) {
addJarArtifact(writer, connectorPath, (JarArtifact) art);
} else if (art instanceof TgzArtifact) {
addTgzArtifact(writer, connectorPath, (TgzArtifact) art);
} else if (art instanceof ZipArtifact) {
addZipArtifact(writer, connectorPath, (ZipArtifact) art);
} else if (art instanceof MavenArtifact) {
addMavenArtifact(writer, plugin.getName(), (MavenArtifact) art);
} else if (art instanceof OtherArtifact) {
addOtherArtifact(writer, connectorPath, (OtherArtifact) art);
} else {
throw new RuntimeException("Unexpected artifact type " + art.getType());
}
}
}
use of io.strimzi.api.kafka.model.connect.build.Artifact in project strimzi-kafka-operator by strimzi.
the class KafkaConnectDockerfileTest method testNoUrlWhenRequired.
@ParallelTest
public void testNoUrlWhenRequired() {
Artifact tgzArtifact = new TgzArtifactBuilder().build();
Artifact jarArtifact = new JarArtifactBuilder().build();
Artifact zipArtifact = new ZipArtifactBuilder().build();
Artifact otherArtifact = new OtherArtifactBuilder().build();
Build connectBuildTgz = new BuildBuilder().withPlugins(new PluginBuilder().withName("my-connector-plugin").withArtifacts(singletonList(tgzArtifact)).build()).build();
Throwable e = assertThrows(InvalidConfigurationException.class, () -> new KafkaConnectDockerfile("myImage:latest", connectBuildTgz));
assertThat(e.getMessage(), is("`tgz` artifact is missing a URL."));
Build connectBuildZip = new BuildBuilder().withPlugins(new PluginBuilder().withName("my-connector-plugin").withArtifacts(singletonList(zipArtifact)).build()).build();
e = assertThrows(InvalidConfigurationException.class, () -> new KafkaConnectDockerfile("myImage:latest", connectBuildZip));
assertThat(e.getMessage(), is("`zip` artifact is missing a URL."));
Build connectBuildJar = new BuildBuilder().withPlugins(new PluginBuilder().withName("my-connector-plugin").withArtifacts(singletonList(jarArtifact)).build()).build();
e = assertThrows(InvalidConfigurationException.class, () -> new KafkaConnectDockerfile("myImage:latest", connectBuildJar));
assertThat(e.getMessage(), is("`jar` artifact is missing a URL."));
Build connectBuildOther = new BuildBuilder().withPlugins(new PluginBuilder().withName("my-connector-plugin").withArtifacts(singletonList(otherArtifact)).build()).build();
e = assertThrows(InvalidConfigurationException.class, () -> new KafkaConnectDockerfile("myImage:latest", connectBuildOther));
assertThat(e.getMessage(), is("`other` artifact is missing a URL."));
}
Aggregations