Skip to content

Commit 63d1643

Browse files
committed
Merge branch '5.5.x'
2 parents 43f45b6 + 7c03336 commit 63d1643

File tree

3 files changed

+127
-1
lines changed

3 files changed

+127
-1
lines changed

maven-plugin/src/test/java/io/confluent/kafka/schemaregistry/maven/RegisterSchemaRegistryMojoTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import java.util.LinkedHashMap;
3333
import java.util.Map;
3434

35-
public class RegisterSchemaRegistryMojoTest extends SchemaRegistryTest{
35+
public class RegisterSchemaRegistryMojoTest extends SchemaRegistryTest {
3636
RegisterSchemaRegistryMojo mojo;
3737

3838
@Before
@@ -84,6 +84,9 @@ public void malformedSchema() throws IOException, MojoFailureException, MojoExec
8484
if (i % 7 == 0) {
8585
writeMalformedFile(keySchemaFile);
8686
writeMalformedFile(valueSchemaFile);
87+
} else {
88+
writeSchema(keySchemaFile, keySchema);
89+
writeSchema(valueSchemaFile, valueSchema);
8790
}
8891
subjectToFile.put(keySubject, keySchemaFile);
8992
expectedVersions.put(keySubject, version);

maven-plugin/src/test/java/io/confluent/kafka/schemaregistry/maven/TestCompatibilitySchemaRegistryMojoTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ public void malformedSchema() throws IOException, MojoFailureException, MojoExec
8686
if (i % 7 == 0) {
8787
writeMalformedFile(keySchemaFile);
8888
writeMalformedFile(valueSchemaFile);
89+
} else {
90+
writeSchema(keySchemaFile, keySchema);
91+
writeSchema(valueSchemaFile, valueSchema);
8992
}
9093
subjectToFile.put(keySubject, keySchemaFile);
9194
subjectToFile.put(valueSubject, valueSchemaFile);
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
/*
2+
* Copyright 2020 Confluent Inc.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package io.confluent.kafka.schemaregistry.maven;
17+
18+
import io.confluent.kafka.schemaregistry.client.MockSchemaRegistryClient;
19+
import java.io.File;
20+
import java.io.IOException;
21+
import java.util.Arrays;
22+
import java.util.LinkedHashMap;
23+
import java.util.Map;
24+
import org.apache.avro.Schema;
25+
import org.apache.maven.plugin.MojoExecutionException;
26+
import org.apache.maven.plugin.MojoFailureException;
27+
import org.junit.Before;
28+
import org.junit.Test;
29+
30+
public class ValidateSchemaRegistryMojoTest extends SchemaRegistryTest {
31+
ValidateSchemaRegistryMojo mojo;
32+
33+
@Before
34+
public void createMojo(){
35+
this.mojo = new ValidateSchemaRegistryMojo();
36+
this.mojo.client(new MockSchemaRegistryClient());
37+
}
38+
39+
@Test
40+
public void validate() throws IOException, MojoFailureException, MojoExecutionException {
41+
Map<String, Integer> expectedVersions = new LinkedHashMap<>();
42+
43+
Map<String, File> subjectToFile = new LinkedHashMap<>();
44+
int version = 1;
45+
for (int i = 0; i < 100; i++) {
46+
String keySubject = String.format("TestSubject%03d-key", i);
47+
String valueSubject = String.format("TestSubject%03d-value", i);
48+
Schema keySchema = Schema.create(Schema.Type.STRING);
49+
Schema valueSchema = Schema.createUnion(Arrays.asList(Schema.create(Schema.Type.STRING), Schema.create(Schema.Type.NULL)));
50+
File keySchemaFile = new File(this.tempDirectory, keySubject + ".avsc");
51+
File valueSchemaFile = new File(this.tempDirectory, valueSubject + ".avsc");
52+
writeSchema(keySchemaFile, keySchema);
53+
writeSchema(valueSchemaFile, valueSchema);
54+
subjectToFile.put(keySubject, keySchemaFile);
55+
expectedVersions.put(keySubject, version);
56+
subjectToFile.put(valueSubject, valueSchemaFile);
57+
expectedVersions.put(valueSubject, version);
58+
}
59+
60+
this.mojo.subjects = subjectToFile;
61+
this.mojo.execute();
62+
}
63+
64+
@Test(expected = IllegalStateException.class)
65+
public void malformedSchema() throws IOException, MojoFailureException, MojoExecutionException {
66+
Map<String, Integer> expectedVersions = new LinkedHashMap<>();
67+
68+
Map<String, File> subjectToFile = new LinkedHashMap<>();
69+
int version = 1;
70+
for (int i = 0; i < 100; i++) {
71+
String keySubject = String.format("TestSubject%03d-key", i);
72+
String valueSubject = String.format("TestSubject%03d-value", i);
73+
Schema keySchema = Schema.create(Schema.Type.STRING);
74+
Schema valueSchema = Schema.createUnion(Arrays.asList(Schema.create(Schema.Type.STRING), Schema.create(Schema.Type.NULL)));
75+
File keySchemaFile = new File(this.tempDirectory, keySubject + ".avsc");
76+
File valueSchemaFile = new File(this.tempDirectory, valueSubject + ".avsc");
77+
if (i % 7 == 0) {
78+
writeMalformedFile(keySchemaFile);
79+
writeMalformedFile(valueSchemaFile);
80+
} else {
81+
writeSchema(keySchemaFile, keySchema);
82+
writeSchema(valueSchemaFile, valueSchema);
83+
}
84+
subjectToFile.put(keySubject, keySchemaFile);
85+
expectedVersions.put(keySubject, version);
86+
subjectToFile.put(valueSubject, valueSchemaFile);
87+
expectedVersions.put(valueSubject, version);
88+
}
89+
90+
this.mojo.subjects = subjectToFile;
91+
this.mojo.execute();
92+
}
93+
94+
@Test(expected = IllegalStateException.class)
95+
public void missingSchemas() throws IOException, MojoFailureException, MojoExecutionException {
96+
Map<String, Integer> expectedVersions = new LinkedHashMap<>();
97+
98+
Map<String, File> subjectToFile = new LinkedHashMap<>();
99+
int version = 1;
100+
for (int i = 0; i < 100; i++) {
101+
String keySubject = String.format("TestSubject%03d-key", i);
102+
String valueSubject = String.format("TestSubject%03d-value", i);
103+
Schema keySchema = Schema.create(Schema.Type.STRING);
104+
Schema valueSchema = Schema.createUnion(Arrays.asList(Schema.create(Schema.Type.STRING), Schema.create(Schema.Type.NULL)));
105+
File keySchemaFile = new File(this.tempDirectory, keySubject + ".avsc");
106+
File valueSchemaFile = new File(this.tempDirectory, valueSubject + ".avsc");
107+
if (i % 7 == 0) {
108+
writeSchema(keySchemaFile, keySchema);
109+
writeSchema(valueSchemaFile, valueSchema);
110+
}
111+
subjectToFile.put(keySubject, keySchemaFile);
112+
expectedVersions.put(keySubject, version);
113+
subjectToFile.put(valueSubject, valueSchemaFile);
114+
expectedVersions.put(valueSubject, version);
115+
}
116+
117+
this.mojo.subjects = subjectToFile;
118+
this.mojo.execute();
119+
}
120+
}

0 commit comments

Comments
 (0)