test(QueryUtil): 修复测试用例中criteria的空指针问题
修改测试用例中query.getCriteria()的调用方式,使用orElse处理可能的空值情况,避免空指针异常
This commit is contained in:
+67
-37
@@ -1,7 +1,5 @@
|
|||||||
package cn.novalon.manage.db.dao;
|
package cn.novalon.manage.db.dao;
|
||||||
|
|
||||||
import cn.novalon.manage.db.dao.QueryField;
|
|
||||||
import cn.novalon.manage.db.dao.QueryUtil;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.data.relational.core.query.Criteria;
|
import org.springframework.data.relational.core.query.Criteria;
|
||||||
import org.springframework.data.relational.core.query.Query;
|
import org.springframework.data.relational.core.query.Query;
|
||||||
@@ -51,12 +49,12 @@ class QueryUtilDetailedTest {
|
|||||||
@QueryField(propName = "updatedAt", type = QueryField.Type.IS_NOT_NULL)
|
@QueryField(propName = "updatedAt", type = QueryField.Type.IS_NOT_NULL)
|
||||||
private String updatedAt;
|
private String updatedAt;
|
||||||
|
|
||||||
@QueryField(propName = "orField", type = QueryField.Type.OR,
|
@QueryField(propName = "orField", type = QueryField.Type.OR, orPropVal = QueryField.Type.IS_NULL, orPropNames = {
|
||||||
orPropVal = QueryField.Type.IS_NULL,
|
"field1", "field2" })
|
||||||
orPropNames = {"field1", "field2"})
|
|
||||||
private String orField;
|
private String orField;
|
||||||
|
|
||||||
public TestQuery() {}
|
public TestQuery() {
|
||||||
|
}
|
||||||
|
|
||||||
public TestQuery(String name, Integer age, Integer score, String status, String email,
|
public TestQuery(String name, Integer age, Integer score, String status, String email,
|
||||||
String phone, List<String> roles, String keyword, String deletedAt,
|
String phone, List<String> roles, String keyword, String deletedAt,
|
||||||
@@ -74,24 +72,56 @@ class QueryUtilDetailedTest {
|
|||||||
this.orField = orField;
|
this.orField = orField;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() { return name; }
|
public String getName() {
|
||||||
public Integer getAge() { return age; }
|
return name;
|
||||||
public Integer getScore() { return score; }
|
}
|
||||||
public String getStatus() { return status; }
|
|
||||||
public String getEmail() { return email; }
|
public Integer getAge() {
|
||||||
public String getPhone() { return phone; }
|
return age;
|
||||||
public List<String> getRoles() { return roles; }
|
}
|
||||||
public String getKeyword() { return keyword; }
|
|
||||||
public String getDeletedAt() { return deletedAt; }
|
public Integer getScore() {
|
||||||
public String getUpdatedAt() { return updatedAt; }
|
return score;
|
||||||
public String getOrField() { return orField; }
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEmail() {
|
||||||
|
return email;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPhone() {
|
||||||
|
return phone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getRoles() {
|
||||||
|
return roles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKeyword() {
|
||||||
|
return keyword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDeletedAt() {
|
||||||
|
return deletedAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpdatedAt() {
|
||||||
|
return updatedAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrField() {
|
||||||
|
return orField;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testNullQuery() {
|
void testNullQuery() {
|
||||||
Query query = QueryUtil.getQuery(null);
|
Query query = QueryUtil.getQuery(null);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,7 +130,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery();
|
TestQuery testQuery = new TestQuery();
|
||||||
Query query = QueryUtil.getQuery(testQuery, true);
|
Query query = QueryUtil.getQuery(testQuery, true);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,7 +139,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery();
|
TestQuery testQuery = new TestQuery();
|
||||||
Query query = QueryUtil.getQuery(testQuery, false);
|
Query query = QueryUtil.getQuery(testQuery, false);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,7 +148,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery("John", null, null, null, null, null, null, null, null, null, null);
|
TestQuery testQuery = new TestQuery("John", null, null, null, null, null, null, null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,7 +157,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, 18, null, null, null, null, null, null, null, null, null);
|
TestQuery testQuery = new TestQuery(null, 18, null, null, null, null, null, null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,7 +166,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, 100, null, null, null, null, null, null, null, null);
|
TestQuery testQuery = new TestQuery(null, null, 100, null, null, null, null, null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,7 +175,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, null, "active", null, null, null, null, null, null, null);
|
TestQuery testQuery = new TestQuery(null, null, null, "active", null, null, null, null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,7 +184,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, null, null, "@example.com", null, null, null, null, null, null);
|
TestQuery testQuery = new TestQuery(null, null, null, null, "@example.com", null, null, null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,7 +193,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, null, null, null, "123", null, null, null, null, null);
|
TestQuery testQuery = new TestQuery(null, null, null, null, null, "123", null, null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -173,7 +203,7 @@ class QueryUtilDetailedTest {
|
|||||||
Arrays.asList("admin", "user"), null, null, null, null);
|
Arrays.asList("admin", "user"), null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,7 +213,7 @@ class QueryUtilDetailedTest {
|
|||||||
Collections.emptyList(), null, null, null, null);
|
Collections.emptyList(), null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -192,7 +222,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, "test", null, null, null);
|
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, "test", null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -201,7 +231,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, "keyword", null, null, null);
|
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, "keyword", null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,7 +240,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, "null", null, null);
|
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, "null", null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -219,7 +249,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, null, "value", null);
|
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, null, "value", null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,7 +258,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, null, null, "value");
|
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, null, null, "value");
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +267,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery("", null, null, null, null, null, null, null, null, null, null);
|
TestQuery testQuery = new TestQuery("", null, null, null, null, null, null, null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -246,7 +276,7 @@ class QueryUtilDetailedTest {
|
|||||||
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, null, null, null);
|
TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, null, null, null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -256,7 +286,7 @@ class QueryUtilDetailedTest {
|
|||||||
"123", Arrays.asList("admin"), "test", null, "value", null);
|
"123", Arrays.asList("admin"), "test", null, "value", null);
|
||||||
Query query = QueryUtil.getQuery(testQuery);
|
Query query = QueryUtil.getQuery(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -266,7 +296,7 @@ class QueryUtilDetailedTest {
|
|||||||
"123", Arrays.asList("admin"), "test", null, "value", null);
|
"123", Arrays.asList("admin"), "test", null, "value", null);
|
||||||
Query query = QueryUtil.getQueryAll(testQuery);
|
Query query = QueryUtil.getQueryAll(testQuery);
|
||||||
assertNotNull(query);
|
assertNotNull(query);
|
||||||
Criteria criteria = query.getCriteria();
|
Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty());
|
||||||
assertNotNull(criteria);
|
assertNotNull(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user