Skip to content

Commit 3650d1d

Browse files
committed
add fail test
1 parent 40fdb0a commit 3650d1d

File tree

4 files changed

+35
-6
lines changed

4 files changed

+35
-6
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ supported languages:
4949
```json
5050
{
5151
"transforms": "pythonTransform",
52-
"transforms.groovyTransform.type": "seko.kafka.connect.transformer.python.ScriptEngineTransformer",
52+
"transforms.groovyTransform.type": "seko.kafka.connect.transformer.script.ScriptEngineTransformer",
5353
"transforms.groovyTransform.key.script": "def keyTransform(source): source['qweqweq'] = 12312312; return source",
5454
"transforms.groovyTransform.value.script": "def valueTransform(source): source['qweqweq'] = 12312312; return source"
5555
}

performance-test/src/test/java/seko/kafka/connect/transformer/jmh/tests/TransformersTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import org.junit.Assert;
77
import org.openjdk.jmh.annotations.*;
88
import seko.kafka.connect.transformer.groovy.GroovyTransformer;
9-
import seko.kafka.connect.transformer.python.ScriptEngineTransformer;
9+
import seko.kafka.connect.transformer.script.ScriptEngineTransformer;
1010
import seko.kafka.connect.transformer.script.configs.Configuration;
1111

1212
import java.util.HashMap;

script-engine-tansformer/src/main/java/seko/kafka/connect/transformer/python/ScriptEngineTransformer.java renamed to script-engine-tansformer/src/main/java/seko/kafka/connect/transformer/script/ScriptEngineTransformer.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package seko.kafka.connect.transformer.python;
1+
package seko.kafka.connect.transformer.script;
22

33
import jdk.nashorn.api.scripting.NashornScriptEngineFactory;
44
import org.apache.kafka.common.config.ConfigDef;
@@ -133,8 +133,7 @@ private ScriptEngine getScript(String script) {
133133
scriptEngine.eval(script);
134134
return scriptEngine;
135135
} catch (ScriptException e) {
136-
e.printStackTrace();
137-
return null;
136+
throw new ConfigException("Invalid script");
138137
}
139138
}
140139
}

script-engine-tansformer/src/test/java/seko/kafka/connect/transformer/python/ScriptEngineTransformerTest.java renamed to script-engine-tansformer/src/test/java/seko/kafka/connect/transformer/script/ScriptEngineTransformerTest.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package seko.kafka.connect.transformer.python;
1+
package seko.kafka.connect.transformer.script;
22

3+
import org.apache.kafka.common.config.ConfigException;
34
import org.apache.kafka.connect.source.SourceRecord;
45
import org.apache.kafka.connect.transforms.util.Requirements;
56
import org.junit.Assert;
@@ -79,6 +80,35 @@ public void applyWithoutSchemaRuby() {
7980
Assert.assertEquals("key___123", transformed.key());
8081
}
8182

83+
84+
@Test(expected = ConfigException.class)
85+
public void applyWithoutSchemaJsConfigFail() {
86+
config.put(Configuration.SCRIP_ENGINE_NAME, "JavaScript");
87+
config.put(Configuration.KEY_SCRIPT_CONFIG, "java.lang.System.exit(9);function keyTransform(source){ return source + '123'; }");
88+
config.put(Configuration.VALUE_SCRIPT_CONFIG, "function valueTransform(source){ source.qweqweq = 12312312; return source;}");
89+
transformer.configure(config);
90+
91+
SourceRecord transformed = transformer.apply(record);
92+
Map<String, Object> stringObjectMap = Requirements.requireMapOrNull(transformed.value(), "");
93+
Assert.assertEquals(12312312, stringObjectMap.get("qweqweq"));
94+
Assert.assertEquals(2, stringObjectMap.size());
95+
Assert.assertEquals("key___123", transformed.key());
96+
}
97+
98+
@Test
99+
public void applyWithoutSchemaJsFail() {
100+
config.put(Configuration.SCRIP_ENGINE_NAME, "JavaScript");
101+
config.put(Configuration.KEY_SCRIPT_CONFIG, "function keyTransform(source){ java.lang.System.exit(9); return source + '123'; }");
102+
config.put(Configuration.VALUE_SCRIPT_CONFIG, "function valueTransform(source){ source.qweqweq = 12312312; return source;}");
103+
transformer.configure(config);
104+
105+
SourceRecord transformed = transformer.apply(record);
106+
Map<String, Object> stringObjectMap = Requirements.requireMapOrNull(transformed.value(), "");
107+
Assert.assertEquals(12312312, stringObjectMap.get("qweqweq"));
108+
Assert.assertEquals(2, stringObjectMap.size());
109+
Assert.assertEquals("key___", transformed.key());
110+
}
111+
82112
/*@Test(expected = ConfigException.class)
83113
public void testSFConfigEmpty() {
84114
config.put(Configuration.KEY_SCRIPT_CONFIG, "");

0 commit comments

Comments
 (0)