From 5beb13b17e34f36d918bc87f01ca08a4bef094f5 Mon Sep 17 00:00:00 2001 From: xuguang Date: Thu, 20 Jan 2022 10:22:20 +0800 Subject: [PATCH] =?UTF-8?q?NormalAppControllerTest=EF=BC=8COpAuthorityCont?= =?UTF-8?q?rollerTest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../normal/NormalAppControllerTest.java | 356 ++++++++++++++++++ .../op/OpAuthorityControllerTest.java | 129 +++++++ 2 files changed, 485 insertions(+) create mode 100644 kafka-manager-web/src/test/java/com/xiaojukeji/kafka/manager/web/api/versionone/normal/NormalAppControllerTest.java create mode 100644 kafka-manager-web/src/test/java/com/xiaojukeji/kafka/manager/web/api/versionone/op/OpAuthorityControllerTest.java diff --git a/kafka-manager-web/src/test/java/com/xiaojukeji/kafka/manager/web/api/versionone/normal/NormalAppControllerTest.java b/kafka-manager-web/src/test/java/com/xiaojukeji/kafka/manager/web/api/versionone/normal/NormalAppControllerTest.java new file mode 100644 index 00000000..1e203587 --- /dev/null +++ b/kafka-manager-web/src/test/java/com/xiaojukeji/kafka/manager/web/api/versionone/normal/NormalAppControllerTest.java @@ -0,0 +1,356 @@ +package com.xiaojukeji.kafka.manager.web.api.versionone.normal; + +import com.xiaojukeji.kafka.manager.common.entity.Result; +import com.xiaojukeji.kafka.manager.common.entity.ResultStatus; +import com.xiaojukeji.kafka.manager.common.entity.dto.normal.AppDTO; +import com.xiaojukeji.kafka.manager.web.config.BaseTest; +import com.xiaojukeji.kafka.manager.web.config.Constant; +import com.xiaojukeji.kafka.manager.web.config.HttpUtils; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.http.*; +import org.testng.Assert; +import org.testng.annotations.Test; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author xuguang + * @Date 2022/1/7 + */ +public class NormalAppControllerTest extends BaseTest { + + + private final TestRestTemplate testRestTemplate = new TestRestTemplate(); + + private AppDTO getAppDTO() { + AppDTO appDTO = new AppDTO(); + appDTO.setAppId(Constant.APPID_IN_MYSQL); + appDTO.setName("KM管理员"); + appDTO.setPrincipals("admin"); + appDTO.setDescription("KM管理员应用-谨慎对外提供"); + return appDTO; + } + + @Test(description = "测试获取App列表") + public void getAppsTest() { + String url = Constant.BASE_URL + "/api/v1/normal/apps"; + + // 有headers登陆 + getAppsWithHeadersTest(url); + // 无headers登陆 + getAppsWithoutHeadersTest(url); + } + + private void getAppsWithHeadersTest(String url) { + HttpHeaders httpHeaders = HttpUtils.getHttpHeaders(); + HttpEntity httpEntity = new HttpEntity<>("", httpHeaders); + ResponseEntity result = testRestTemplate.exchange(url, HttpMethod.GET, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void getAppsWithoutHeadersTest(String url) { + HttpEntity httpEntity = new HttpEntity<>("", new HttpHeaders()); + ResponseEntity result = testRestTemplate.exchange(url, HttpMethod.GET, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.UNAUTHORIZED.value()); + } + + @Test(description = "测试由appId获取app") + public void getAppBasicInfoTest() { + String url = Constant.BASE_URL + "/api/v1/normal/apps/{appId}/basic-info"; + + // 查询结果不为空 + getAppBasicInfo2ResultNotEmptyTest(url); + // 查询结果为空 + getAppBasicInfo2ResultEmptyTest(url); + } + + private void getAppBasicInfo2ResultNotEmptyTest(String url) { + HttpEntity httpEntity = new HttpEntity<>("", HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + Assert.assertNotNull(result.getBody().getData()); + } + + private void getAppBasicInfo2ResultEmptyTest(String url) { + HttpEntity httpEntity = new HttpEntity<>("", HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.INVALID_APPID); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + Assert.assertNull(result.getBody().getData()); + } + + @Test(description = "测试修改app") + public void modifyApp() { + String url = Constant.BASE_URL + "/api/v1/normal/apps"; + // 修改成功 + modifyApp2SuccessTest(url); + // 传的dto为空, 修改不成功 + modifyApp2FailureTest(url); + } + + private void modifyApp2SuccessTest(String url) { + AppDTO appDTO = getAppDTO(); + HttpHeaders httpHeaders = HttpUtils.getHttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity httpEntity = + new HttpEntity<>(appDTO, httpHeaders); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.PUT, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void modifyApp2FailureTest(String url) { + AppDTO appDTO = new AppDTO(); + HttpHeaders httpHeaders = HttpUtils.getHttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity httpEntity = + new HttpEntity<>(appDTO, httpHeaders); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.PUT, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertNotEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + @Test(description = "测试获取有权限的Topic信息") + public void getAppTopicsTest() { + String url = Constant.BASE_URL + "/api/v1/normal/apps/{appId}/topics"; + // 参数appId + getAppTopics1Test(url); + // 参数有appId,mine=true + getAppTopics2Test(url); + // 参数有appId,mine=false + getAppTopics3Test(url); + // appId无效,mine=false + getAppTopics4Test(url); + } + + private void getAppTopics1Test(String url) { + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void getAppTopics2Test(String url) { + url = url + "?mine=true"; + + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void getAppTopics3Test(String url) { + url = url + "?mine=false"; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void getAppTopics4Test(String url) { + url = url + "?mine=false"; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.INVALID_APPID); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + @Test(description = "测试Quota查询") + public void getAppIdQuotaTest() { + String url = Constant.BASE_URL + "/api/v1/normal/apps/{appId}/quotas"; + // appId不为空,clusterId和topicName在数据库中真实存在,isPhysicalClusterId=true + getAppIdQuota1Test(url); + // appId无效 + getAppIdQuota2Test(url); + // topicName无效 + getAppIdQuota3Test(url); + // clusterId无效 + getAppIdQuota4Test(url); + } + + private void getAppIdQuota1Test(String url) { + url = url + "?clusterId=" + Constant.PHYSICAL_CLUSTER_ID_IN_MYSQL + "&topicName=" + + Constant.TOPIC_NAME_IN_MYSQL + "&isPhysicalClusterId=true"; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void getAppIdQuota2Test(String url) { + url = url + "?clusterId=" + Constant.PHYSICAL_CLUSTER_ID_IN_MYSQL + "&topicName=" + + Constant.TOPIC_NAME_IN_MYSQL + "&isPhysicalClusterId=true"; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.INVALID_APPID); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void getAppIdQuota3Test(String url) { + url = url + "?clusterId=" + Constant.PHYSICAL_CLUSTER_ID_IN_MYSQL + "&topicName=" + + Constant.INVALID_TOPIC_NAME + "&isPhysicalClusterId=true"; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.TOPIC_NOT_EXIST.getCode()); + } + + private void getAppIdQuota4Test(String url) { + url = url + "?clusterId=" + Constant.INVALID_CLUSTER_ID_IN_MYSQL + "&topicName=" + + Constant.TOPIC_NAME_IN_MYSQL + "&isPhysicalClusterId=false"; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.CLUSTER_NOT_EXIST.getCode()); + } + + @Test(description = "测试获取应用连接信息") + public void getAppIdConnectionsTest() { + String url = Constant.BASE_URL + "/api/v1/normal/apps/{appId}/connections"; + // appId存在数据库 + getAppIdConnections1Test(url); + // appId不存在数据库 + getAppIdConnections2Test(url); + } + + public void getAppIdConnections1Test(String url) { + HttpEntity httpEntity = new HttpEntity<>("", HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + Assert.assertNotNull(result.getBody().getData()); + } + + public void getAppIdConnections2Test(String url) { + HttpEntity httpEntity = new HttpEntity<>("", HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.INVALID_APPID); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + Assert.assertNotNull(result.getBody().getData()); + } + + @Test(description = "测试app对Topic权限信息") + public void getAppIdAuthorityTest() { + // appId, clusterId, topicName在数据库中存在 + getAppIdAuthority1Test(); + // appId无效 + getAppIdAuthority2Test(); + // clusterId无效 + getAppIdAuthority3Test(); + // topicName无效 + getAppIdAuthority4Test(); + } + + private void getAppIdAuthority1Test() { + String url = Constant.BASE_URL + "/api/v1/normal/apps/{appId}/authorities"; + url = url + "?clusterId=" + Constant.LOGICAL_CLUSTER_ID_IN_MYSQL + "&topicName=" + + Constant.TOPIC_NAME_IN_MYSQL; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void getAppIdAuthority2Test() { + String url = Constant.BASE_URL + "/api/v1/normal/apps/{appId}/authorities"; + url = url + "?clusterId=" + Constant.LOGICAL_CLUSTER_ID_IN_MYSQL + "&topicName=" + + Constant.TOPIC_NAME_IN_MYSQL; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.INVALID_APPID); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void getAppIdAuthority3Test() { + String url = Constant.BASE_URL + "/api/v1/normal/apps/{appId}/authorities"; + url = url + "?clusterId=" + Constant.INVALID_CLUSTER_ID_IN_MYSQL + "&topicName=" + + Constant.TOPIC_NAME_IN_MYSQL; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.CLUSTER_NOT_EXIST.getCode()); + } + + private void getAppIdAuthority4Test() { + String url = Constant.BASE_URL + "/api/v1/normal/apps/{appId}/authorities"; + url = url + "?clusterId=" + Constant.LOGICAL_CLUSTER_ID_IN_MYSQL + "&topicName=" + + Constant.INVALID_TOPIC_NAME; + HttpEntity httpEntity = new HttpEntity<>(null, HttpUtils.getHttpHeaders()); + Map urlVariables = new HashMap<>(); + urlVariables.put("appId", Constant.APPID_IN_MYSQL); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.GET, httpEntity, Result.class, urlVariables); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.TOPIC_NOT_EXIST.getCode()); + } + +} diff --git a/kafka-manager-web/src/test/java/com/xiaojukeji/kafka/manager/web/api/versionone/op/OpAuthorityControllerTest.java b/kafka-manager-web/src/test/java/com/xiaojukeji/kafka/manager/web/api/versionone/op/OpAuthorityControllerTest.java new file mode 100644 index 00000000..bb517189 --- /dev/null +++ b/kafka-manager-web/src/test/java/com/xiaojukeji/kafka/manager/web/api/versionone/op/OpAuthorityControllerTest.java @@ -0,0 +1,129 @@ +package com.xiaojukeji.kafka.manager.web.api.versionone.op; + +import com.xiaojukeji.kafka.manager.common.entity.Result; +import com.xiaojukeji.kafka.manager.common.entity.ResultStatus; +import com.xiaojukeji.kafka.manager.openapi.common.dto.TopicAuthorityDTO; +import com.xiaojukeji.kafka.manager.web.config.BaseTest; +import com.xiaojukeji.kafka.manager.web.config.Constant; +import com.xiaojukeji.kafka.manager.web.config.HttpUtils; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.http.*; +import org.testng.Assert; +import org.testng.annotations.Test; + +/** + * @author xuguang + * @Date 2022/1/11 + */ +public class OpAuthorityControllerTest extends BaseTest { + + private final TestRestTemplate testRestTemplate = new TestRestTemplate(); + + private TopicAuthorityDTO getTopicAuthorityDTO() { + TopicAuthorityDTO topicAuthorityDTO = new TopicAuthorityDTO(); + topicAuthorityDTO.setClusterId(Constant.LOGICAL_CLUSTER_ID_IN_MYSQL); + topicAuthorityDTO.setTopicName(Constant.TOPIC_NAME_IN_MYSQL); + topicAuthorityDTO.setAppId(Constant.APPID_IN_MYSQL); + topicAuthorityDTO.setAccess(Constant.ACCESS); + return topicAuthorityDTO; + } + + @Test(description = "测试权限调整") + public void addAuthorityTest() { + String url = Constant.BASE_URL + "/topic-authorities"; + + addAuthority1Test(url); + // cluster not exist + addAuthority2Test(url); + // param illegal + addAuthority3Test(url); + // app not exist + addAuthority4Test(url); + // topic not exist + addAuthority5Test(url); + // mysqlError, 权限一致,无法插入 + addAuthority6Test(url); + } + + private void addAuthority1Test(String url) { + TopicAuthorityDTO topicAuthorityDTO = getTopicAuthorityDTO(); + HttpHeaders httpHeaders = HttpUtils.getHttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity httpEntity = + new HttpEntity<>(topicAuthorityDTO, httpHeaders); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.POST, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.SUCCESS.getCode()); + } + + private void addAuthority2Test(String url) { + TopicAuthorityDTO topicAuthorityDTO = getTopicAuthorityDTO(); + topicAuthorityDTO.setClusterId(Constant.INVALID_CLUSTER_ID_IN_MYSQL); + HttpHeaders httpHeaders = HttpUtils.getHttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity httpEntity = + new HttpEntity<>(topicAuthorityDTO, httpHeaders); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.POST, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.CLUSTER_NOT_EXIST.getCode()); + } + + private void addAuthority3Test(String url) { + TopicAuthorityDTO topicAuthorityDTO = getTopicAuthorityDTO(); + topicAuthorityDTO.setClusterId(Constant.INVALID_ID); + HttpHeaders httpHeaders = HttpUtils.getHttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity httpEntity = + new HttpEntity<>(topicAuthorityDTO, httpHeaders); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.POST, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.PARAM_ILLEGAL.getCode()); + } + + private void addAuthority4Test(String url) { + TopicAuthorityDTO topicAuthorityDTO = getTopicAuthorityDTO(); + topicAuthorityDTO.setAppId(Constant.INVALID_APPID); + HttpHeaders httpHeaders = HttpUtils.getHttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity httpEntity = + new HttpEntity<>(topicAuthorityDTO, httpHeaders); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.POST, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.APP_NOT_EXIST.getCode()); + } + + private void addAuthority5Test(String url) { + TopicAuthorityDTO topicAuthorityDTO = getTopicAuthorityDTO(); + topicAuthorityDTO.setTopicName(Constant.INVALID_TOPIC_NAME); + HttpHeaders httpHeaders = HttpUtils.getHttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity httpEntity = + new HttpEntity<>(topicAuthorityDTO, httpHeaders); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.POST, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.TOPIC_NOT_EXIST.getCode()); + } + + private void addAuthority6Test(String url) { + TopicAuthorityDTO topicAuthorityDTO = getTopicAuthorityDTO(); + HttpHeaders httpHeaders = HttpUtils.getHttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity httpEntity = + new HttpEntity<>(topicAuthorityDTO, httpHeaders); + ResponseEntity result = testRestTemplate.exchange( + url, HttpMethod.POST, httpEntity, Result.class); + Assert.assertEquals(result.getStatusCodeValue(), HttpStatus.OK.value()); + Assert.assertNotNull(result.getBody()); + Assert.assertEquals(result.getBody().getCode(), ResultStatus.MYSQL_ERROR.getCode()); + } +}