Skip to content

Commit 6173cef

Browse files
authored
Merge pull request #985 from hazendaz/master
[tests] Make sure to assert / fail try catch statements
2 parents a0c42a7 + 1949621 commit 6173cef

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

src/test/java/org/apache/ibatis/builder/ParameterExpressionTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,17 +128,19 @@ public void shouldIgnoreLeadingAndTrailingSpaces() {
128128
public void invalidOldJdbcTypeFormat() {
129129
try {
130130
new ParameterExpression("id:");
131+
Assert.fail();
131132
} catch (BuilderException e) {
132-
e.getMessage().contains("Parsing error in {id:} in position 3");
133+
Assert.assertTrue(e.getMessage().contains("Parsing error in {id:} in position 3"));
133134
}
134135
}
135136

136137
@Test
137138
public void invalidJdbcTypeOptUsingExpression() {
138139
try {
139140
new ParameterExpression("(expression)+");
141+
Assert.fail();
140142
} catch (BuilderException e) {
141-
e.getMessage().contains("Parsing error in {(expression)+} in position 12");
143+
Assert.assertTrue(e.getMessage().contains("Parsing error in {(expression)+} in position 12"));
142144
}
143145
}
144146

src/test/java/org/apache/ibatis/submitted/lazy_deserialize/LazyDeserializeTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.apache.ibatis.session.SqlSession;
3434
import org.apache.ibatis.session.SqlSessionFactory;
3535
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
36+
import org.junit.Assert;
3637
import org.junit.Before;
3738
import org.junit.Test;
3839

@@ -110,8 +111,9 @@ public void testLoadLazyDeserializeWithoutConfigurationFactory() throws Exceptio
110111
final LazyObjectFoo deserializedFoo = this.deserializeFoo(serializedFoo);
111112
try {
112113
deserializedFoo.getLazyObjectBar();
114+
fail();
113115
} catch (ExecutorException e) {
114-
e.getMessage().contains("Cannot get Configuration as configuration factory was not set.");
116+
assertTrue(e.getMessage().contains("Cannot get Configuration as configuration factory was not set."));
115117
}
116118
} finally {
117119
session.close();

src/test/java/org/apache/ibatis/submitted/sqlprovider/SqlProviderTest.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import static org.junit.Assert.assertEquals;
1919
import static org.junit.Assert.assertNotNull;
2020
import static org.junit.Assert.assertNull;
21+
import static org.junit.Assert.assertTrue;
22+
import static org.junit.Assert.fail;
2123

2224
import java.io.Reader;
2325
import java.sql.Connection;
@@ -273,8 +275,9 @@ public void methodNotFound() throws NoSuchMethodException {
273275
try {
274276
new ProviderSqlSource(new Configuration(),
275277
ErrorMapper.class.getMethod("methodNotFound").getAnnotation(SelectProvider.class));
278+
fail();
276279
} catch (BuilderException e) {
277-
e.getMessage().contains("Error creating SqlSource for SqlProvider. Method 'methodNotFound' not found in SqlProvider 'org.apache.ibatis.submitted.sqlprovider.SqlProviderTest$ErrorSqlBuilder'.");
280+
assertTrue(e.getMessage().contains("Error creating SqlSource for SqlProvider. Method 'methodNotFound' not found in SqlProvider 'org.apache.ibatis.submitted.sqlprovider.SqlProviderTest$ErrorSqlBuilder'."));
278281
}
279282
}
280283

@@ -283,17 +286,19 @@ public void methodOverload() throws NoSuchMethodException {
283286
try {
284287
new ProviderSqlSource(new Configuration(),
285288
ErrorMapper.class.getMethod("methodOverload", String.class).getAnnotation(SelectProvider.class));
289+
fail();
286290
} catch (BuilderException e) {
287-
e.getMessage().contains("Error creating SqlSource for SqlProvider. Method 'overload' is found multiple in SqlProvider 'org.apache.ibatis.submitted.sqlprovider.SqlProviderTest$ErrorSqlBuilder'. Sql provider method can not overload.");
291+
assertTrue(e.getMessage().contains("Error creating SqlSource for SqlProvider. Method 'overload' is found multiple in SqlProvider 'org.apache.ibatis.submitted.sqlprovider.SqlProviderTest$ErrorSqlBuilder'. Sql provider method can not overload."));
288292
}
289293
}
290294

291295
@Test
292296
public void notSqlProvider() throws NoSuchMethodException {
293297
try {
294298
new ProviderSqlSource(new Configuration(), new Object());
299+
fail();
295300
} catch (BuilderException e) {
296-
e.getMessage().contains("Error creating SqlSource for SqlProvider. Cause: java.lang.NoSuchMethodException: java.lang.Object.type()");
301+
assertTrue(e.getMessage().contains("Error creating SqlSource for SqlProvider. Cause: java.lang.NoSuchMethodException: java.lang.Object.type()"));
297302
}
298303
}
299304

@@ -303,8 +308,9 @@ public void notSupportParameterObjectOnMultipleArguments() throws NoSuchMethodEx
303308
new ProviderSqlSource(new Configuration(),
304309
Mapper.class.getMethod("getUsersByName", String.class, String.class).getAnnotation(SelectProvider.class))
305310
.getBoundSql(new Object());
311+
fail();
306312
} catch (BuilderException e) {
307-
e.getMessage().contains("Error invoking SqlProvider method (org.apache.ibatis.submitted.sqlprovider.OurSqlBuilder.buildGetUsersByNameQuery). Cannot invoke a method that holds multiple arguments using a specifying parameterObject. In this case, please specify a 'java.util.Map' object.");
313+
assertTrue(e.getMessage().contains("Error invoking SqlProvider method (org.apache.ibatis.submitted.sqlprovider.OurSqlBuilder.buildGetUsersByNameQuery). Cannot invoke a method that holds multiple arguments using a specifying parameterObject. In this case, please specify a 'java.util.Map' object."));
308314
}
309315
}
310316

@@ -314,8 +320,9 @@ public void notSupportParameterObjectOnNamedArgument() throws NoSuchMethodExcept
314320
new ProviderSqlSource(new Configuration(),
315321
Mapper.class.getMethod("getUsersByNameWithParamName", String.class).getAnnotation(SelectProvider.class))
316322
.getBoundSql(new Object());
323+
fail();
317324
} catch (BuilderException e) {
318-
e.getMessage().contains("Error invoking SqlProvider method (org.apache.ibatis.submitted.sqlprovider.OurSqlBuilder.buildGetUsersByNameWithParamNameQuery). Cannot invoke a method that holds named argument(@Param) using a specifying parameterObject. In this case, please specify a 'java.util.Map' object.");
325+
assertTrue(e.getMessage().contains("Error invoking SqlProvider method (org.apache.ibatis.submitted.sqlprovider.OurSqlBuilder.buildGetUsersByNameWithParamNameQuery). Cannot invoke a method that holds named argument(@Param) using a specifying parameterObject. In this case, please specify a 'java.util.Map' object."));
319326
}
320327
}
321328

@@ -325,8 +332,9 @@ public void invokeError() throws NoSuchMethodException {
325332
new ProviderSqlSource(new Configuration(),
326333
ErrorMapper.class.getMethod("invokeError").getAnnotation(SelectProvider.class))
327334
.getBoundSql(new Object());
335+
fail();
328336
} catch (BuilderException e) {
329-
e.getMessage().contains("Error invoking SqlProvider method (org.apache.ibatis.submitted.sqlprovider.SqlProviderTest$ErrorSqlBuilder.invokeError). Cause: java.lang.reflect.InvocationTargetException");
337+
assertTrue(e.getMessage().contains("Error invoking SqlProvider method (org.apache.ibatis.submitted.sqlprovider.SqlProviderTest$ErrorSqlBuilder.invokeError). Cause: java.lang.reflect.InvocationTargetException"));
330338
}
331339
}
332340

0 commit comments

Comments
 (0)