Skip to content

Commit 260b938

Browse files
Improve Test Coverage
1 parent 59f07ef commit 260b938

File tree

11 files changed

+123
-9
lines changed

11 files changed

+123
-9
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jacocoTestCoverageVerification {
7373
violationRules {
7474
rule {
7575
limit {
76-
minimum = 0.836
76+
minimum = 0.838
7777
}
7878
}
7979
}

src/test/java/net/sf/jsqlparser/statement/ExplainTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,8 @@ public void getOption_returnsValues() throws JSQLParserException {
6565

6666
ExplainStatement.Option buffers = explain.getOption(ExplainStatement.OptionType.BUFFERS);
6767
assertThat(buffers).isNotNull().extracting(ExplainStatement.Option::getValue).isEqualTo("FALSE");
68+
69+
explain = (ExplainStatement) CCJSqlParserUtil.parse("EXPLAIN SELECT * FROM mytable");
70+
assertThat(explain.getOption(ExplainStatement.OptionType.ANALYZE)).isNull();
6871
}
6972
}

src/test/java/net/sf/jsqlparser/statement/IfElseStatementTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public void testObjectBuilder() throws JSQLParserException {
8282
}
8383

8484
@Test
85-
public void testValidation() throws JSQLParserException {
85+
public void testValidation() {
8686
String sqlStr = "IF OBJECT_ID('tOrigin', 'U') IS NOT NULL DROP TABLE tOrigin1;";
8787
List<ValidationError> errors =
8888
Validation.validate(Arrays.asList(DatabaseType.SQLSERVER, FeaturesAllowed.DROP), sqlStr);

src/test/java/net/sf/jsqlparser/statement/ResetStatementTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
package net.sf.jsqlparser.statement;
1111

1212
import net.sf.jsqlparser.JSQLParserException;
13+
import org.junit.Assert;
1314
import org.junit.Test;
1415

1516
import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed;
@@ -25,4 +26,14 @@ public void tesResetAll() throws JSQLParserException {
2526
assertSqlCanBeParsedAndDeparsed("RESET ALL");
2627
}
2728

29+
@Test
30+
public void testObject() {
31+
ResetStatement resetStatement=new ResetStatement();
32+
Assert.assertNotNull(resetStatement.getName());
33+
34+
resetStatement.add("something");
35+
resetStatement.setName("somethingElse");
36+
Assert.assertEquals("somethingElse", resetStatement.getName());
37+
}
38+
2839
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*-
2+
* #%L
3+
* JSQLParser library
4+
* %%
5+
* Copyright (C) 2004 - 2021 JSQLParser
6+
* %%
7+
* Dual licensed under GNU LGPL 2.1 or Apache License 2.0
8+
* #L%
9+
*/
10+
package net.sf.jsqlparser.statement;
11+
12+
import org.junit.Assert;
13+
import org.junit.Test;
14+
15+
public class RollbackStatementTest {
16+
17+
@Test
18+
public void testObject() {
19+
RollbackStatement rollbackStatement = new RollbackStatement()
20+
.withUsingWorkKeyword(true)
21+
.withUsingSavepointKeyword(true)
22+
.withSavepointName("mySavePoint")
23+
.withForceDistributedTransactionIdentifier("$ForceDistributedTransactionIdentifier");
24+
25+
Assert.assertTrue(rollbackStatement.isUsingSavepointKeyword());
26+
Assert.assertEquals("mySavePoint", rollbackStatement.getSavepointName());
27+
Assert.assertEquals("$ForceDistributedTransactionIdentifier", rollbackStatement.getForceDistributedTransactionIdentifier());
28+
}
29+
30+
}

src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,13 @@
1111

1212
import net.sf.jsqlparser.JSQLParserException;
1313
import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed;
14+
15+
import net.sf.jsqlparser.expression.StringValue;
16+
import org.junit.Assert;
1417
import org.junit.Test;
1518

19+
import java.util.Collections;
20+
1621
/**
1722
*
1823
* @author toben
@@ -57,4 +62,13 @@ public void tesLocalWithEq() throws JSQLParserException {
5762
public void testValueOnIssue927() throws JSQLParserException {
5863
assertSqlCanBeParsedAndDeparsed("SET standard_conforming_strings = on");
5964
}
65+
66+
@Test
67+
public void testObject() {
68+
SetStatement setStatement = new SetStatement();
69+
setStatement.add("standard_conforming_strings", Collections.singletonList(new StringValue("ON")), false);
70+
setStatement.withUseEqual(0, true).remove(0);
71+
72+
Assert.assertEquals(0, setStatement.getCount());
73+
}
6074
}

src/test/java/net/sf/jsqlparser/statement/alter/AlterSessionTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,12 @@
1111

1212
import net.sf.jsqlparser.JSQLParserException;
1313
import net.sf.jsqlparser.test.TestUtils;
14+
import org.junit.Assert;
1415
import org.junit.Test;
1516

17+
import java.util.Arrays;
18+
import java.util.Collections;
19+
1620
public class AlterSessionTest {
1721
@Test
1822
public void testAlterSessionAdvise() throws JSQLParserException {
@@ -64,4 +68,25 @@ public void testAlterSessionSet() throws JSQLParserException {
6468
TestUtils.assertSqlCanBeParsedAndDeparsed("ALTER SESSION SET ddl_lock_timeout=7200", true);
6569
TestUtils.assertSqlCanBeParsedAndDeparsed("ALTER SESSION SET ddl_lock_timeout = 7200", true);
6670
}
71+
72+
73+
@Test
74+
public void testAlterSessionResumable() throws JSQLParserException {
75+
TestUtils.assertSqlCanBeParsedAndDeparsed("ALTER SESSION ENABLE RESUMABLE", true);
76+
TestUtils.assertSqlCanBeParsedAndDeparsed("ALTER SESSION DISABLE RESUMABLE", true);
77+
}
78+
79+
@Test
80+
public void testObject() {
81+
AlterSession alterSession = new AlterSession(AlterSessionOperation.FORCE_PARALLEL_QUERY, Collections.emptyList());
82+
Assert.assertEquals(AlterSessionOperation.FORCE_PARALLEL_QUERY, alterSession.getOperation());
83+
84+
alterSession.setOperation(AlterSessionOperation.DISABLE_PARALLEL_DML);
85+
Assert.assertEquals(AlterSessionOperation.DISABLE_PARALLEL_DML, alterSession.getOperation());
86+
87+
Assert.assertEquals(0, alterSession.getParameters().size());
88+
89+
alterSession.setParameters(Arrays.asList("PARALLEL", "6"));
90+
Assert.assertEquals(2, alterSession.getParameters().size());
91+
}
6792
}

src/test/java/net/sf/jsqlparser/statement/create/synonym/CreateSynonymTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111

1212
import net.sf.jsqlparser.JSQLParserException;
1313
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
14+
import net.sf.jsqlparser.schema.Synonym;
1415
import org.assertj.core.api.Assertions;
16+
import org.junit.Assert;
1517
import org.junit.Test;
1618

1719
import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed;
@@ -51,5 +53,8 @@ public void synonymAttributes() throws Exception {
5153
Assertions.assertThat(createSynonym.isPublicSynonym()).isTrue();
5254
Assertions.assertThat(createSynonym.getSynonym().getFullyQualifiedName()).isEqualTo("TBL_TABLE_NAME");
5355
Assertions.assertThat(createSynonym.getFor()).isEqualTo("SCHEMA.T_TBL_NAME");
56+
57+
Assert.assertEquals(2, createSynonym.getForList().size());
58+
Assert.assertEquals("NEW_TBL_TABLE_NAME", createSynonym.withSynonym(new Synonym().withName("NEW_TBL_TABLE_NAME")).getSynonym().getName());
5459
}
5560
}

src/test/java/net/sf/jsqlparser/statement/show/ShowTablesStatementTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
*/
1010
package net.sf.jsqlparser.statement.show;
1111

12+
import net.sf.jsqlparser.JSQLParserException;
13+
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
14+
import net.sf.jsqlparser.test.TestUtils;
15+
import org.junit.Assert;
1216
import org.junit.Test;
1317

1418
import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed;
@@ -44,4 +48,18 @@ public void showTablesLikeExpression() throws Exception {
4448
public void showTablesWhereExpression() throws Exception {
4549
assertSqlCanBeParsedAndDeparsed("SHOW TABLES WHERE table_name = 'FOO'");
4650
}
51+
52+
@Test
53+
public void testObject() throws JSQLParserException, JSQLParserException {
54+
ShowTablesStatement showTablesStatement = (ShowTablesStatement) CCJSqlParserUtil.parse("SHOW TABLES WHERE table_name = 'FOO'");
55+
Assert.assertEquals(0, showTablesStatement.getModifiers().size());
56+
TestUtils.assertExpressionCanBeDeparsedAs(showTablesStatement.getWhereCondition(), "table_name = 'FOO'");
57+
58+
showTablesStatement = (ShowTablesStatement) CCJSqlParserUtil.parse("SHOW FULL TABLES IN db_name");
59+
Assert.assertEquals(1, showTablesStatement.getModifiers().size());
60+
Assert.assertEquals(ShowTablesStatement.SelectionMode.IN, showTablesStatement.getSelectionMode());
61+
62+
showTablesStatement = (ShowTablesStatement) CCJSqlParserUtil.parse("SHOW TABLES LIKE '%FOO%'");
63+
TestUtils.assertExpressionCanBeDeparsedAs(showTablesStatement.getLikeExpression(), "'%FOO%'");
64+
}
4765
}

src/test/java/net/sf/jsqlparser/statement/values/ValuesTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@
1515
import net.sf.jsqlparser.expression.StringValue;
1616
import net.sf.jsqlparser.expression.operators.relational.ExpressionList;
1717
import net.sf.jsqlparser.statement.Statement;
18+
import net.sf.jsqlparser.statement.StatementVisitorAdapter;
1819
import net.sf.jsqlparser.statement.select.Select;
1920
import net.sf.jsqlparser.statement.select.SetOperationList;
2021

2122
import static net.sf.jsqlparser.test.TestUtils.*;
2223

2324
import org.junit.Test;
2425

26+
import java.util.Arrays;
27+
2528
public class ValuesTest {
2629

2730
@Test
@@ -48,4 +51,12 @@ public void testDuplicateKey() throws JSQLParserException {
4851
public void testComplexWithQueryIssue561() throws JSQLParserException {
4952
assertSqlCanBeParsedAndDeparsed("WITH split (word, str, hascomma) AS (VALUES ('', 'Auto,A,1234444', 1) UNION ALL SELECT substr(str, 0, CASE WHEN instr(str, ',') THEN instr(str, ',') ELSE length(str) + 1 END), ltrim(substr(str, instr(str, ',')), ','), instr(str, ',') FROM split WHERE hascomma) SELECT trim(word) FROM split WHERE word != ''");
5053
}
54+
55+
@Test
56+
public void testObject() {
57+
ValuesStatement valuesStatement=new ValuesStatement().addExpressions(new StringValue("1"), new StringValue("2"));
58+
valuesStatement.addExpressions(Arrays.asList(new StringValue("3"), new StringValue("4")));
59+
60+
valuesStatement.accept(new StatementVisitorAdapter());
61+
}
5162
}

src/test/java/net/sf/jsqlparser/util/deparser/StatementDeParserTest.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.util.ArrayList;
1717
import java.util.List;
1818

19+
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
1920
import net.sf.jsqlparser.statement.update.UpdateSet;
2021
import org.junit.Before;
2122
import org.junit.Test;
@@ -31,7 +32,6 @@
3132
import net.sf.jsqlparser.statement.IfElseStatement;
3233
import net.sf.jsqlparser.statement.SetStatement;
3334
import net.sf.jsqlparser.statement.delete.Delete;
34-
import net.sf.jsqlparser.statement.drop.Drop;
3535
import net.sf.jsqlparser.statement.execute.Execute;
3636
import net.sf.jsqlparser.statement.insert.Insert;
3737
import net.sf.jsqlparser.statement.replace.Replace;
@@ -368,12 +368,9 @@ public void shouldUseProvidedDeparsersWhenDeParsingUpsertWithExpressionList() th
368368

369369
@Test
370370
@SuppressWarnings("PMD.JUnitTestsShouldIncludeAssert")
371-
public void shouldUseProvidedDeparsersWhenDeParsingIfThenStatement() {
372-
Expression condition = mock(Expression.class);
373-
Drop ifStatement = mock(Drop.class);
374-
375-
IfElseStatement ifElseStatement = new IfElseStatement(condition, ifStatement);
376-
371+
public void shouldUseProvidedDeparsersWhenDeParsingIfThenStatement() throws JSQLParserException {
372+
String sqlStr = "IF OBJECT_ID('tOrigin', 'U') IS NOT NULL DROP TABLE tOrigin1";
373+
IfElseStatement ifElseStatement = (IfElseStatement) CCJSqlParserUtil.parse(sqlStr);
377374
statementDeParser.deParse(ifElseStatement);
378375
}
379376

0 commit comments

Comments
 (0)