This is an automated email from the ASF dual-hosted git repository.
xiaoyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new 420343fc6 Add ut for Admin FieldServiceImpl (#4465)
420343fc6 is described below
commit 420343fc6c54b73fcb0431c006c226f7e0fcf395
Author: Zhiqiang Li <[email protected]>
AuthorDate: Tue Mar 14 11:20:10 2023 +0800
Add ut for Admin FieldServiceImpl (#4465)
* add ut for Admin FieldServiceImpl
* add header
* fix: check style err
---------
Co-authored-by: likeguo <[email protected]>
Co-authored-by: xiaoyu <[email protected]>
---
.../shenyu/admin/model/query/FieldQuery.java | 6 +-
.../shenyu/admin/service/FieldServiceTest.java | 134 +++++++++++++++++++++
2 files changed, 137 insertions(+), 3 deletions(-)
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/model/query/FieldQuery.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/model/query/FieldQuery.java
index 3dd1896ca..9503d4007 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/model/query/FieldQuery.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/model/query/FieldQuery.java
@@ -33,13 +33,14 @@ public class FieldQuery {
*/
private String fieldDesc;
-
-
/**
* page parameter.
*/
private PageParameter pageParameter;
+ public FieldQuery() {
+ }
+
public FieldQuery(final String name, final String fieldDesc, final
PageParameter pageParameter) {
this.name = name;
this.fieldDesc = fieldDesc;
@@ -83,7 +84,6 @@ public class FieldQuery {
}
-
/**
* getPageParameter.
*
diff --git
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/FieldServiceTest.java
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/FieldServiceTest.java
new file mode 100644
index 000000000..fb01fa5e7
--- /dev/null
+++
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/FieldServiceTest.java
@@ -0,0 +1,134 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shenyu.admin.service;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.when;
+
+import org.apache.shenyu.admin.mapper.FieldMapper;
+import org.apache.shenyu.admin.model.dto.FieldDTO;
+import org.apache.shenyu.admin.model.entity.FieldDO;
+import org.apache.shenyu.admin.model.page.CommonPager;
+import org.apache.shenyu.admin.model.page.PageParameter;
+import org.apache.shenyu.admin.model.query.FieldQuery;
+import org.apache.shenyu.admin.model.vo.FieldVO;
+import org.apache.shenyu.admin.service.impl.FieldServiceImpl;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.mockito.junit.jupiter.MockitoSettings;
+import org.mockito.quality.Strictness;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * test for {@linkplain FieldServiceImpl}.
+ */
+@ExtendWith(MockitoExtension.class)
+@MockitoSettings(strictness = Strictness.LENIENT)
+public class FieldServiceTest {
+
+ @InjectMocks
+ private FieldServiceImpl fieldService;
+
+ @Mock
+ private FieldMapper fieldMapper;
+
+ @Test
+ public void testCreateOrUpdate() {
+ final FieldDTO fieldDTO = new FieldDTO();
+ fieldDTO.setId("mock field id");
+
+ reset(fieldMapper);
+ when(fieldMapper.updateByPrimaryKeySelective(any())).thenReturn(1);
+ when(fieldMapper.insert(any())).thenReturn(1);
+
+ int result = fieldService.createOrUpdate(fieldDTO);
+ assertEquals(1, result);
+
+ fieldDTO.setId(null);
+ result = fieldService.createOrUpdate(fieldDTO);
+ assertEquals(1, result);
+ }
+
+ @Test
+ public void testDelete() {
+ reset(fieldMapper);
+ when(fieldMapper.deleteByPrimaryKey(anyString())).thenReturn(1);
+
+ int result = fieldService.delete("id");
+ assertEquals(1, result);
+ }
+
+ @Test
+ public void testDeleteBatch() {
+ List<String> ids = new ArrayList<>();
+ ids.add("mock id 1");
+ ids.add("mock id 2");
+
+ reset(fieldMapper);
+ when(fieldMapper.batchDelete(anyList())).thenReturn(2);
+
+ int result = fieldService.deleteBatch(ids);
+ assertEquals(2, result);
+ }
+
+ @Test
+ public void testFindById() {
+ FieldDO fieldDO = new FieldDO();
+ fieldDO.setId("mock test id");
+
+ reset(fieldMapper);
+ when(fieldMapper.selectByPrimaryKey(anyString())).thenReturn(fieldDO);
+
+ FieldVO result = fieldService.findById("mock test id");
+ assertNotNull(result);
+ assertEquals(fieldDO.getId(), result.getId());
+ }
+
+ @Test
+ public void testListByPage() {
+ FieldQuery fieldQuery = new FieldQuery();
+ PageParameter pageParameter = new PageParameter();
+ pageParameter.setPageSize(10);
+ pageParameter.setCurrentPage(1);
+ fieldQuery.setPageParameter(pageParameter);
+
+ List<FieldDO> fieldDOList = new ArrayList<>();
+ FieldDO fieldDO = new FieldDO();
+ fieldDO.setId("mock test id");
+ fieldDOList.add(fieldDO);
+
+ reset(fieldMapper);
+ when(fieldMapper.selectByQuery(any())).thenReturn(fieldDOList);
+
+ CommonPager<FieldVO> result = fieldService.listByPage(fieldQuery);
+ assertNotNull(result);
+ assertEquals(fieldDOList.size(), result.getDataList().size());
+ }
+
+}