Skip to content

Commit 26e9fcf

Browse files
committed
added tests for that settings are not mutated while operation
1 parent d592b5b commit 26e9fcf

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

client-v2/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,12 @@
135135
<version>2.0.16</version>
136136
<scope>test</scope>
137137
</dependency>
138+
<dependency>
139+
<groupId>org.mockito</groupId>
140+
<artifactId>mockito-core</artifactId>
141+
<version>5.19.0</version>
142+
<scope>test</scope>
143+
</dependency>
138144
</dependencies>
139145

140146
<build>

client-v2/src/test/java/com/clickhouse/client/insert/InsertTests.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.commons.compress.compressors.lz4.FramedLZ4CompressorOutputStream;
2727
import org.apache.commons.compress.compressors.snappy.SnappyCompressorOutputStream;
2828
import org.apache.commons.lang3.StringEscapeUtils;
29+
import org.mockito.Mockito;
2930
import org.testcontainers.shaded.org.apache.commons.lang3.RandomStringUtils;
3031
import org.testng.Assert;
3132
import org.testng.annotations.AfterMethod;
@@ -822,4 +823,28 @@ private boolean isVersionMatch(String versionExpression) {
822823
List<GenericRecord> serverVersion = client.queryAll("SELECT version()");
823824
return ClickHouseVersion.of(serverVersion.get(0).getString(1)).check(versionExpression);
824825
}
826+
827+
@Test(groups = { "integration" }, enabled = true)
828+
public void testInsertSettingsNotChanged() throws Exception {
829+
String tableName = "test_settings_not_changed";
830+
String createSQL = SamplePOJO.generateTableCreateSQL(tableName);
831+
String uuid = UUID.randomUUID().toString();
832+
833+
initTable(tableName, createSQL);
834+
835+
client.register(SamplePOJO.class, client.getTableSchema(tableName));
836+
List<Object> simplePOJOs = new ArrayList<>();
837+
838+
for (int i = 0; i < 1000; i++) {
839+
simplePOJOs.add(new SamplePOJO());
840+
}
841+
InsertSettings settings = Mockito.spy(new InsertSettings());
842+
settings.setQueryId(uuid);
843+
844+
try (InsertResponse response = client.insert(tableName, simplePOJOs, settings).get(EXECUTE_CMD_TIMEOUT, TimeUnit.SECONDS)) {
845+
Mockito.verify(settings, Mockito.times(1)).getAllSettings();
846+
Mockito.verify(settings, Mockito.times(1)).setQueryId(Mockito.eq(uuid));
847+
Mockito.verifyNoMoreInteractions(settings);
848+
}
849+
}
825850
}

client-v2/src/test/java/com/clickhouse/client/query/QueryTests.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import com.google.common.io.BaseEncoding;
3939
import org.apache.commons.lang3.RandomStringUtils;
4040
import org.apache.commons.lang3.StringEscapeUtils;
41+
import org.mockito.Mockito;
4142
import org.testng.Assert;
4243
import org.testng.annotations.AfterMethod;
4344
import org.testng.annotations.BeforeMethod;
@@ -2190,4 +2191,15 @@ public void testEmptyResponse() throws Exception {
21902191
System.out.println(response.getResultRows());
21912192
}
21922193
}
2194+
2195+
@Test(groups = {"integration"})
2196+
public void testSettingsNotChanged() throws Exception{
2197+
final QuerySettings settings = Mockito.spy(new QuerySettings());
2198+
try (QueryResponse response = client.query("select 1 FORMAT JSONEachRow", settings).get()) {
2199+
Mockito.verify(settings, Mockito.times(1)).getAllSettings();
2200+
Mockito.verifyNoMoreInteractions(settings);
2201+
Assert.assertNull(settings.getFormat());
2202+
Assert.assertEquals(response.getFormat(), ClickHouseFormat.JSONEachRow);
2203+
}
2204+
}
21932205
}

0 commit comments

Comments
 (0)