diff --git a/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageDetailVo.java b/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageDetailVo.java index 2467cd4f6d90ee5be211a27a33e56397ee670089..0e65d43ec4b478bd63c0cdd1808c343d0954090c 100644 --- a/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageDetailVo.java +++ b/src/main/java/com/easysoftware/application/applicationpackage/vo/ApplicationPackageDetailVo.java @@ -7,11 +7,13 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor public class ApplicationPackageDetailVo { - public String description; + private String description; - public String name; + private String id; - public String license; + private String name; + + private String license; private String download; diff --git a/src/main/java/com/easysoftware/application/domainpackage/dto/DomainColumnCondition.java b/src/main/java/com/easysoftware/application/domainpackage/dto/DomainColumnCondition.java index 16a116aae601cd87c8446814b8032635b4ff78f1..1eca9c4aa3c88055fbd25016270a354ac09223bd 100644 --- a/src/main/java/com/easysoftware/application/domainpackage/dto/DomainColumnCondition.java +++ b/src/main/java/com/easysoftware/application/domainpackage/dto/DomainColumnCondition.java @@ -4,6 +4,7 @@ import org.hibernate.validator.constraints.Range; import com.easysoftware.common.constant.PackageConstant; +import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Data; @@ -21,8 +22,10 @@ public class DomainColumnCondition { private Integer pageSize = 10; @Size(max = 50) + @NotBlank private String name; @Size(max = 50) + @NotBlank private String column; } diff --git a/src/main/java/com/easysoftware/application/domainpackage/dto/DomainSearchCondition.java b/src/main/java/com/easysoftware/application/domainpackage/dto/DomainSearchCondition.java index a3a44eea283f584b9425cabe5dab5b456ae3368e..e09652979266f9a2764264aa78c9d2849f477e2b 100644 --- a/src/main/java/com/easysoftware/application/domainpackage/dto/DomainSearchCondition.java +++ b/src/main/java/com/easysoftware/application/domainpackage/dto/DomainSearchCondition.java @@ -34,6 +34,9 @@ public class DomainSearchCondition { @Size(max = 50) private String category; + @Size(max = 50) + private String version; + @EnumValue(enumClass = TimeOrderEnum.class, enumMethod = "isValidCategory") private String timeOrder; diff --git a/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java b/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java index c42add955a40f757c3dd25aba1dac051361a5809..b848000fb65ce39ee8a7a88400ef271bc539437f 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/EPKGPackageServiceImpl.java @@ -62,7 +62,7 @@ public class EPKGPackageServiceImpl implements EPKGPackageService { @Override public ResponseEntity insertEPKGPkg(InputEPKGPackage inputEPKGPackage) { - inputEPKGPackage = Base64Util.decode(inputEPKGPackage); + // inputEPKGPackage = Base64Util.decode(inputEPKGPackage); if (StringUtils.isNotBlank(inputEPKGPackage.getId())) { return ResultUtil.fail(HttpStatus.BAD_REQUEST, MessageCode.EC0002); @@ -101,7 +101,7 @@ public class EPKGPackageServiceImpl implements EPKGPackageService { @Override public ResponseEntity updateEPKGPkg(InputEPKGPackage inputEPKGPackage) { - inputEPKGPackage = Base64Util.decode(inputEPKGPackage); + // inputEPKGPackage = Base64Util.decode(inputEPKGPackage); if (StringUtils.isBlank(inputEPKGPackage.getId())) { return ResultUtil.fail(HttpStatus.BAD_REQUEST, MessageCode.EC0002); @@ -125,7 +125,7 @@ public class EPKGPackageServiceImpl implements EPKGPackageService { public EPKGPackage addEPKGInfo(EPKGPackage epkgPkg) { Map maintainer = ApiUtil.getApiResponse(String.format(repoMaintainerApi, epkgPkg.getName())); epkgPkg.setMaintainerGiteeId(maintainer.get("gitee_id")); - epkgPkg.setMaintianerEmail(maintainer.get("email")); + epkgPkg.setMaintainerEmail(maintainer.get("email")); Map info = ApiUtil.getApiResponse(String.format(repoInfoApi, epkgPkg.getName(), "rpm_openeuler")); epkgPkg.setOs(info.get("os")); diff --git a/src/main/java/com/easysoftware/application/epkgpackage/dto/InputEPKGPackage.java b/src/main/java/com/easysoftware/application/epkgpackage/dto/InputEPKGPackage.java index 517f83325bae951fa0cdf2988c108597930bf534..861e45f6468a95ac9d6d0bf80700ee7997332e41 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/dto/InputEPKGPackage.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/dto/InputEPKGPackage.java @@ -80,8 +80,8 @@ public class InputEPKGPackage { @Size(max = 255, message = "the length of maintanierId can not exceed 255") private String maintanierId; - @Size(max = 255, message = "the length of maintianerEmail can not exceed 255") - private String maintianerEmail; + @Size(max = 255, message = "the length of maintainerEmail can not exceed 255") + private String maintainerEmail; @Size(max = 255, message = "the length of maintainerGiteeId can not exceed 255") private String maintainerGiteeId; diff --git a/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageDetailVo.java b/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageDetailVo.java index 1242ce8a08a2c0dcf962e0f7408cf1659ddec75c..6dadf81ef727e03b43b172fe21c428212e96b630 100644 --- a/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageDetailVo.java +++ b/src/main/java/com/easysoftware/application/epkgpackage/vo/EPKGPackageDetailVo.java @@ -12,6 +12,8 @@ import lombok.NoArgsConstructor; public class EPKGPackageDetailVo { private String name; + private String id; + private String version; private String os; @@ -54,7 +56,7 @@ public class EPKGPackageDetailVo { private String maintanierId; - private String maintianerEmail; + private String maintainerEmail; private String maintainerGiteeId; diff --git a/src/main/java/com/easysoftware/application/externalos/ExternalOsServiceImpl.java b/src/main/java/com/easysoftware/application/externalos/ExternalOsServiceImpl.java index 7b2347a3d7742f9b2d97d8ce22a79ee5e65d0cb3..e562cdf7ea8cb229662720a96a09adeeadbeddb7 100644 --- a/src/main/java/com/easysoftware/application/externalos/ExternalOsServiceImpl.java +++ b/src/main/java/com/easysoftware/application/externalos/ExternalOsServiceImpl.java @@ -57,7 +57,7 @@ public class ExternalOsServiceImpl implements ExternalOsService { @Override public ResponseEntity insertPkgMap(InputExternalOs input) { - input = Base64Util.decode(input); + // input = Base64Util.decode(input); // 若数据库中已经存在该数据,则请求失败 if (StringUtils.isNotBlank(input.getId())) { @@ -76,7 +76,7 @@ public class ExternalOsServiceImpl implements ExternalOsService { @Override public ResponseEntity updatePkgMap(InputExternalOs input) { - input = Base64Util.decode(input); + // input = Base64Util.decode(input); if (StringUtils.isBlank(input.getId())) { return ResultUtil.fail(HttpStatus.BAD_REQUEST, MessageCode.EC0002); diff --git a/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java b/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java index 6a03c98903eb5ba339e1fb20173c7caf9fa5f5df..fe1940e673edb7e4d9274e622105acbbe599da30 100644 --- a/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/rpmpackage/RPMPackageServiceImpl.java @@ -68,7 +68,7 @@ public class RPMPackageServiceImpl implements RPMPackageService { @Override public ResponseEntity insertRPMPkg(InputRPMPackage inputrPMPackage) { - inputrPMPackage = Base64Util.decode(inputrPMPackage); + // inputrPMPackage = Base64Util.decode(inputrPMPackage); if (StringUtils.isNotBlank(inputrPMPackage.getId())) { return ResultUtil.fail(HttpStatus.BAD_REQUEST, MessageCode.EC0002); @@ -99,7 +99,7 @@ public class RPMPackageServiceImpl implements RPMPackageService { @Override public ResponseEntity updateRPMPkg(InputRPMPackage inputrPMPackage) { - inputrPMPackage = Base64Util.decode(inputrPMPackage); + // inputrPMPackage = Base64Util.decode(inputrPMPackage); if (StringUtils.isBlank(inputrPMPackage.getId())) { return ResultUtil.fail(HttpStatus.BAD_REQUEST, MessageCode.EC0002); @@ -123,7 +123,7 @@ public class RPMPackageServiceImpl implements RPMPackageService { public RPMPackage addRPMPkgInfo(RPMPackage rPMPkg) { Map maintainer = ApiUtil.getApiResponse(String.format(repoMaintainerApi, rPMPkg.getName())); rPMPkg.setMaintainerGiteeId(maintainer.get("gitee_id")); - rPMPkg.setMaintianerEmail(maintainer.get("email")); + rPMPkg.setMaintainerEmail(maintainer.get("email")); Map info = ApiUtil.getApiResponse(String.format(repoInfoApi, rPMPkg.getName(), "rpm_openeuler")); rPMPkg.setOs(info.get("os")); diff --git a/src/main/java/com/easysoftware/application/rpmpackage/dto/InputRPMPackage.java b/src/main/java/com/easysoftware/application/rpmpackage/dto/InputRPMPackage.java index 7750d602b03ad1b1285d8f42ccf56000f86aeaec..4eff054072b1b0e3baeb102ca018ab7e3cd098a9 100644 --- a/src/main/java/com/easysoftware/application/rpmpackage/dto/InputRPMPackage.java +++ b/src/main/java/com/easysoftware/application/rpmpackage/dto/InputRPMPackage.java @@ -79,8 +79,8 @@ public class InputRPMPackage { @Size(max = 255, message = "the length of maintanierId can not exceed 255") private String maintanierId; - @Size(max = 255, message = "the length of maintianerEmail can not exceed 255") - private String maintianerEmail; + @Size(max = 255, message = "the length of maintainerEmail can not exceed 255") + private String maintainerEmail; @Size(max = 255, message = "the length of maintainerGiteeId can not exceed 255") private String maintainerGiteeId; diff --git a/src/main/java/com/easysoftware/application/rpmpackage/vo/RPMPackageDetailVo.java b/src/main/java/com/easysoftware/application/rpmpackage/vo/RPMPackageDetailVo.java index 5555f7ef2625d37a27758d37ff2383729ed9094a..96f3130d9c615ff833f4669018316da979df2e47 100644 --- a/src/main/java/com/easysoftware/application/rpmpackage/vo/RPMPackageDetailVo.java +++ b/src/main/java/com/easysoftware/application/rpmpackage/vo/RPMPackageDetailVo.java @@ -10,6 +10,8 @@ import lombok.NoArgsConstructor; public class RPMPackageDetailVo { private String name; + private String id; + private String version; private String os; @@ -50,7 +52,7 @@ public class RPMPackageDetailVo { private String maintanierId; - private String maintianerEmail; + private String maintainerEmail; private String maintainerGiteeId; diff --git a/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackage.java b/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackage.java index 8e0d44bee6745db2ed9c5b1029d0934c11e269c5..95227cfc5ba7196176d1c0243d02ea8b9bf68b0f 100644 --- a/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackage.java +++ b/src/main/java/com/easysoftware/domain/epkgpackage/EPKGPackage.java @@ -54,7 +54,7 @@ public class EPKGPackage { private String maintanierId; - private String maintianerEmail; + private String maintainerEmail; private String maintainerGiteeId; diff --git a/src/main/java/com/easysoftware/domain/rpmpackage/RPMPackage.java b/src/main/java/com/easysoftware/domain/rpmpackage/RPMPackage.java index afe0ded936a448554f3aa1a26f75a802c0e883f7..bac43d57c5cd13fb7ad458f1e2142fa1f281f387 100644 --- a/src/main/java/com/easysoftware/domain/rpmpackage/RPMPackage.java +++ b/src/main/java/com/easysoftware/domain/rpmpackage/RPMPackage.java @@ -54,7 +54,7 @@ public class RPMPackage { private String maintanierId; - private String maintianerEmail; + private String maintainerEmail; private String maintainerGiteeId; diff --git a/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/dataobject/EPKGPackageDO.java b/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/dataobject/EPKGPackageDO.java index 5a33807770132af6d756dd0cda0d49218073aecd..40f33c5dcfe76865876be55c7d0546778c77668e 100644 --- a/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/dataobject/EPKGPackageDO.java +++ b/src/main/java/com/easysoftware/infrastructure/epkgpackage/gatewayimpl/dataobject/EPKGPackageDO.java @@ -65,7 +65,7 @@ public class EPKGPackageDO { private String maintanierId; - private String maintianerEmail; + private String maintainerEmail; private String maintainerGiteeId; diff --git a/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/dataobject/RPMPackageDO.java b/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/dataobject/RPMPackageDO.java index 8a622a87bdb40d8dce737c2186e31704061ff9e7..a049a3facd6fe12892d9d70cea257cfa750587b7 100644 --- a/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/dataobject/RPMPackageDO.java +++ b/src/main/java/com/easysoftware/infrastructure/rpmpackage/gatewayimpl/dataobject/RPMPackageDO.java @@ -67,7 +67,7 @@ public class RPMPackageDO { private String maintanierId; - private String maintianerEmail; + private String maintainerEmail; private String maintainerGiteeId; diff --git a/src/test/java/com/easysoftware/adapter/execute/RPMPackageExecuteAdapterTest.java b/src/test/java/com/easysoftware/adapter/execute/RPMPackageExecuteAdapterTest.java new file mode 100644 index 0000000000000000000000000000000000000000..aa1387b1a0ef62034f6a58b450ac2df92129d401 --- /dev/null +++ b/src/test/java/com/easysoftware/adapter/execute/RPMPackageExecuteAdapterTest.java @@ -0,0 +1,120 @@ +package com.easysoftware.adapter.execute; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import java.nio.charset.Charset; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.MvcResult; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.obs.services.internal.io.InterruptableInputStream; + +import lombok.extern.slf4j.Slf4j; + +@SpringBootTest +@AutoConfigureMockMvc +@Slf4j +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +public class RPMPackageExecuteAdapterTest { + @Autowired + private WebApplicationContext webApplicationContext; + private MockMvc mockMvc; + + @Autowired + private ObjectMapper objectMapper; + + @BeforeEach + public void setUp() throws Exception { + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + @Order(1) + void test_insert_rpmpkg() throws Exception { + String postJson = "{\n" + + "\"name\": \"testtest\",\n" + + "\"version\": \"test\"\n" + + "}"; + + System.out.println(postJson); + + MvcResult result = mockMvc.perform(MockMvcRequestBuilders.post("/rpmpkg") + .contentType(MediaType.APPLICATION_JSON) + .content(postJson) + .accept(MediaType.APPLICATION_JSON)) + .andReturn(); + + String content = result.getResponse().getContentAsString(Charset.defaultCharset()); + Map res = objectMapper.readValue(content, Map.class); + int code = (int) res.get("code"); + assertEquals(code, 200); + } + + Map searchPkg(String name) throws Exception { + MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/rpmpkg") + .param("name", name) + .accept(MediaType.APPLICATION_JSON)) + .andReturn(); + + String content = result.getResponse().getContentAsString(Charset.defaultCharset()); + Map res = objectMapper.readValue(content, Map.class); + + Map data = (Map) res.get("data"); + List list = (List) data.get("list"); + if (list.size() == 0) { + return new HashMap(); + } + Map pkg = (Map) list.get(0); + return pkg; + } + + @Test + @Order(2) + void test_update_rpmpkg() throws Exception { + Map pkg = searchPkg("testtest"); + String id = pkg.get("id"); + String name = pkg.get("name"); + + MvcResult putResult = mockMvc.perform(MockMvcRequestBuilders.put("/rpmpkg") + .contentType(MediaType.APPLICATION_JSON) + .content(String.format("{\n" + + " \"id\": \"%s\",\n" + + " \"name\": \"%s\",\n" + + " \"version\": \"update version\"\n" + + "}", id, name)) + .accept(MediaType.APPLICATION_JSON)) + .andReturn(); + + Map updatePkg = searchPkg("testtest"); + String version = updatePkg.get("version"); + assertEquals(version, "update version"); + } + + @Test + @Order(3) + void test_delete_rpmpkg() throws Exception { + Map pkg = searchPkg("testtest"); + String id = pkg.get("id"); + + MvcResult result = mockMvc.perform(MockMvcRequestBuilders.delete("/rpmpkg/{ids}", id) + .contentType(MediaType.APPLICATION_JSON) + .accept(MediaType.APPLICATION_JSON)) + .andReturn(); + + Map stillPkg = searchPkg("testtest"); + assertEquals(stillPkg.size(), 0); + } +} diff --git a/src/test/java/com/easysoftware/adapter/query/DomainPackageQueryAdapterTest.java b/src/test/java/com/easysoftware/adapter/query/DomainPackageQueryAdapterTest.java index c398db4db94a4f45eb188ebdd00dcd8bc9a9c0fc..f23966d93691a37e34d57cd3efefdfe54d1a1f24 100644 --- a/src/test/java/com/easysoftware/adapter/query/DomainPackageQueryAdapterTest.java +++ b/src/test/java/com/easysoftware/adapter/query/DomainPackageQueryAdapterTest.java @@ -35,6 +35,7 @@ public class DomainPackageQueryAdapterTest { @Autowired private WebApplicationContext webApplicationContext; + private MockMvc mockMvc; @Autowired @@ -45,6 +46,7 @@ public class DomainPackageQueryAdapterTest { mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); } + @Test void test_domain_column() throws Exception { List names = List.of("rpmpkg", "epkgpkg"); @@ -66,7 +68,44 @@ public class DomainPackageQueryAdapterTest { log.debug("name: {}, column: {}, data: {}", name, column, res); } } + } - + @Test + void test_domain_search() throws Exception { + List names = List.of("epkgpkg", "rpmpkg"); + List verisons = List.of("1.4.3.36-3"); + List oses = List.of("openEuler-22.03"); + List arches = List.of("aarch,"); + List categories = List.of("Unspecified"); + List tiemOrders = List.of("asc", "desc"); + + for (String version : verisons) { + for (String name : names) { + for (String os : oses) { + for (String arch : arches) { + for (String category : categories) { + for (String timeOrder : tiemOrders) { + MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/domain") + .param("name", name) + .param("os", os) + .param("arch", arch) + .param("version", version) + .param("category", category) + .param("timeOrder", timeOrder) + .accept(MediaType.APPLICATION_JSON)) + .andReturn(); + + String content = result.getResponse().getContentAsString(Charset.defaultCharset()); + Map res = objectMapper.readValue(content, Map.class); + int code = (int) res.get("code"); + assertEquals(code, 200); + log.debug("name: {}, os: {}, arch: {}, category: {}, timeOrder: {}, res: {}", name, os, + arch, category, timeOrder, res); + } + } + } + } + } + } } } diff --git a/src/test/java/com/easysoftware/adapter/query/RPMPackageQueryAdapterTest.java b/src/test/java/com/easysoftware/adapter/query/RPMPackageQueryAdapterTest.java new file mode 100644 index 0000000000000000000000000000000000000000..b539feda3393043bc91777a653074da22061bb67 --- /dev/null +++ b/src/test/java/com/easysoftware/adapter/query/RPMPackageQueryAdapterTest.java @@ -0,0 +1,48 @@ +package com.easysoftware.adapter.query; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import java.nio.charset.Charset; +import java.util.Map; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.MvcResult; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.extern.slf4j.Slf4j; + +@SpringBootTest +@AutoConfigureMockMvc +@Slf4j +public class RPMPackageQueryAdapterTest { + @Autowired + private WebApplicationContext webApplicationContext; + private MockMvc mockMvc; + + @Autowired + private ObjectMapper objectMapper; + + @BeforeEach + public void setUp() throws Exception { + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + } + + @Test + public void test_rpmpkg() throws Exception { + MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/rpmpkg") + .param("name", "test") + .accept(MediaType.APPLICATION_JSON)) + .andReturn(); + + String content = result.getResponse().getContentAsString(Charset.defaultCharset()); + Map res = objectMapper.readValue(content, Map.class); + int code = (int) res.get("code"); + assertEquals(code, 200); + } +}