diff --git a/spring-cloud-alicloud-context/pom.xml b/spring-cloud-alicloud-context/pom.xml index 1d488b46..2afd459d 100644 --- a/spring-cloud-alicloud-context/pom.xml +++ b/spring-cloud-alicloud-context/pom.xml @@ -107,6 +107,20 @@ test + + org.powermock + powermock-module-junit4 + 1.7.1 + test + + + + org.powermock + powermock-api-mockito + 1.7.1 + test + + diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/listener/AbstractOnceApplicationListener.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/listener/AbstractOnceApplicationListener.java index d8b822a9..dbe554d9 100644 --- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/listener/AbstractOnceApplicationListener.java +++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/listener/AbstractOnceApplicationListener.java @@ -42,9 +42,8 @@ public abstract class AbstractOnceApplicationListener { private static final Logger log = LoggerFactory @@ -33,7 +36,8 @@ public class NacosParameterInitListener log.info("Initialize Nacos Parameter from edas change order,is edas managed {}.", edasChangeOrderConfiguration.isEdasManaged()); - + System.getProperties().setProperty("spring.cloud.nacos.config.server-mode", + "EDAS"); // initialize nacos configuration System.getProperties().setProperty("spring.cloud.nacos.config.server-addr", ""); System.getProperties().setProperty("spring.cloud.nacos.config.endpoint", diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/oss/OssContextAutoConfiguration.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/oss/OssContextAutoConfiguration.java index e1993a37..67ebfb2c 100644 --- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/oss/OssContextAutoConfiguration.java +++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/oss/OssContextAutoConfiguration.java @@ -19,6 +19,7 @@ package org.springframework.cloud.alicloud.context.oss; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; import org.springframework.cloud.alicloud.context.AliCloudProperties; @@ -39,6 +40,7 @@ import com.aliyun.oss.OSSClientBuilder; */ @Configuration @ConditionalOnClass(name = "org.springframework.cloud.alicloud.oss.OssAutoConfiguration") +@ConditionalOnProperty(name = "spring.cloud.alicloud.oss.enabled", matchIfMissing = true) @EnableConfigurationProperties(OssProperties.class) @ImportAutoConfiguration(AliCloudContextAutoConfiguration.class) public class OssContextAutoConfiguration { diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/scx/ScxContextAutoConfiguration.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/scx/ScxContextAutoConfiguration.java index a2b738fd..2953858c 100644 --- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/scx/ScxContextAutoConfiguration.java +++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/scx/ScxContextAutoConfiguration.java @@ -19,6 +19,7 @@ package org.springframework.cloud.alicloud.context.scx; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.alicloud.context.AliCloudProperties; import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; @@ -35,6 +36,7 @@ import com.alibaba.edas.schedulerx.SchedulerXClient; */ @Configuration @ConditionalOnClass(name = "org.springframework.cloud.alicloud.scx.ScxAutoConfiguration") +@ConditionalOnProperty(name = "spring.cloud.alicloud.scx.enabled", matchIfMissing = true) @EnableConfigurationProperties(ScxProperties.class) @ImportAutoConfiguration(EdasContextAutoConfiguration.class) public class ScxContextAutoConfiguration { @@ -42,10 +44,10 @@ public class ScxContextAutoConfiguration { @Bean(initMethod = "init") @ConditionalOnMissingBean public SchedulerXClient schedulerXClient(AliCloudProperties aliCloudProperties, - EdasProperties edasProperties, ScxProperties scxProperties, - AliCloudEdasSdk aliCloudEdasSdk) { + EdasProperties edasProperties, ScxProperties scxProperties, + AliCloudEdasSdk aliCloudEdasSdk) { return AliCloudScxInitializer.initialize(aliCloudProperties, edasProperties, - scxProperties, aliCloudEdasSdk); + scxProperties, aliCloudEdasSdk); } } diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsConfigProperties.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsConfigProperties.java deleted file mode 100644 index d6489a25..00000000 --- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsConfigProperties.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (C) 2019 the original author or authors. - * - * Licensed 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.springframework.cloud.alicloud.context.sms; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.alicloud.context.AliCloudProperties; -import org.springframework.core.env.Environment; -import org.springframework.util.StringUtils; - -import java.io.Serializable; - -/** - * @author pbting - */ -@ConfigurationProperties(prefix = "spring.cloud.alicloud.sms") -public class SmsConfigProperties implements Serializable { - - // 产品名称:云通信短信API产品,开发者无需替换 - public static final String smsProduct = "Dysmsapi"; - // 产品域名,开发者无需替换 - public static final String smsDomain = "dysmsapi.aliyuncs.com"; - - private AliCloudProperties aliCloudProperties; - - /** - * - */ - private String reportQueueName; - /** - * - */ - private String upQueueName; - - /** - * - */ - protected String connnectTimeout = "10000"; - - /** - * - */ - protected String readTimeout = "10000"; - - public SmsConfigProperties(AliCloudProperties aliCloudProperties) { - this.aliCloudProperties = aliCloudProperties; - } - - public String getConnnectTimeout() { - return connnectTimeout; - } - - public void setConnnectTimeout(String connnectTimeout) { - this.connnectTimeout = connnectTimeout; - } - - public String getReadTimeout() { - return readTimeout; - } - - public void setReadTimeout(String readTimeout) { - this.readTimeout = readTimeout; - } - - public void overiideFromEnv(Environment environment) { - overiideCustomFromEnv(environment); - if (StringUtils.isEmpty(connnectTimeout)) { - String resolveResult = environment.resolveRequiredPlaceholders( - "${spring.cloud.alibaba.sms.connect-timeout:}"); - this.setConnnectTimeout( - StringUtils.isEmpty(resolveResult) ? "10000" : resolveResult); - } - - if (StringUtils.isEmpty(readTimeout)) { - String resolveResult = environment.resolveRequiredPlaceholders( - "${spring.cloud.alibaba.sms.read-timeout:}"); - this.setReadTimeout( - StringUtils.isEmpty(resolveResult) ? "10000" : resolveResult); - } - } - - public void overiideCustomFromEnv(Environment environment) { - // nothing to do - } - - public String getReportQueueName() { - return reportQueueName; - } - - public void setReportQueueName(String reportQueueName) { - this.reportQueueName = reportQueueName; - } - - public String getUpQueueName() { - return upQueueName; - } - - public String getAccessKeyId() { - return aliCloudProperties.getAccessKey(); - } - - public String getAccessKeySecret() { - return aliCloudProperties.getSecretKey(); - } - - public void setUpQueueName(String upQueueName) { - this.upQueueName = upQueueName; - } - -} \ No newline at end of file diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsConfigRegistration.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsConfigRegistration.java deleted file mode 100644 index af59b8ff..00000000 --- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsConfigRegistration.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2019 the original author or authors. - * - * Licensed 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.springframework.cloud.alicloud.context.sms; - -import org.springframework.core.env.Environment; - -import javax.annotation.PostConstruct; - -/** - * @author pbting - */ -public class SmsConfigRegistration { - - private Environment environment; - - private SmsConfigProperties smsConfigProperties; - - public SmsConfigRegistration(Environment environment, - SmsConfigProperties smsConfigProperties) { - this.environment = environment; - this.smsConfigProperties = smsConfigProperties; - } - - @PostConstruct - public void initSmsConfigRegistration() { - smsConfigProperties.overiideFromEnv(environment); - } -} \ No newline at end of file diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsContextAutoConfiguration.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsContextAutoConfiguration.java index 82c304a8..6274b6a4 100644 --- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsContextAutoConfiguration.java +++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsContextAutoConfiguration.java @@ -18,28 +18,16 @@ package org.springframework.cloud.alicloud.context.sms; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.alicloud.context.AliCloudProperties; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; +/** + * @author pbting + * @author xiaolongzuo + */ @Configuration -@EnableConfigurationProperties +@EnableConfigurationProperties(SmsProperties.class) @ConditionalOnClass(name = "com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest") @ConditionalOnProperty(value = "spring.cloud.alibaba.deshao.enable.sms", matchIfMissing = true) public class SmsContextAutoConfiguration { - @Bean - public SmsConfigProperties smsConfigProperties( - AliCloudProperties aliCloudProperties) { - - return new SmsConfigProperties(aliCloudProperties); - } - - @Bean - public SmsConfigRegistration smsConfigRegistration(Environment environment, - SmsConfigProperties smsConfigProperties) { - - return new SmsConfigRegistration(environment, smsConfigProperties); - } } \ No newline at end of file diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsProperties.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsProperties.java new file mode 100644 index 00000000..33577863 --- /dev/null +++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsProperties.java @@ -0,0 +1,74 @@ +package org.springframework.cloud.alicloud.context.sms; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * @author pbting + * @author xiaolongzuo + */ +@ConfigurationProperties(prefix = "spring.cloud.alicloud.sms") +public class SmsProperties { + + /** + * Product name. + */ + public static final String smsProduct = "Dysmsapi"; + + /** + * Product domain. + */ + public static final String smsDomain = "dysmsapi.aliyuncs.com"; + + /** + * Report queue name. + */ + private String reportQueueName; + + /** + * Up queue name. + */ + private String upQueueName; + + /** + * Connect timeout. + */ + private String connectTimeout = "10000"; + + /** + * Read timeout. + */ + private String readTimeout = "10000"; + + public String getConnectTimeout() { + return connectTimeout; + } + + public void setConnectTimeout(String connectTimeout) { + this.connectTimeout = connectTimeout; + } + + public String getReadTimeout() { + return readTimeout; + } + + public void setReadTimeout(String readTimeout) { + this.readTimeout = readTimeout; + } + + public String getReportQueueName() { + return reportQueueName; + } + + public void setReportQueueName(String reportQueueName) { + this.reportQueueName = reportQueueName; + } + + public String getUpQueueName() { + return upQueueName; + } + + public void setUpQueueName(String upQueueName) { + this.upQueueName = upQueueName; + } + +} \ No newline at end of file diff --git a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/statistics/StatisticsTaskStarter.java b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/statistics/StatisticsTaskStarter.java index 41c3591b..709315d8 100644 --- a/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/statistics/StatisticsTaskStarter.java +++ b/spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/statistics/StatisticsTaskStarter.java @@ -46,6 +46,10 @@ import com.alibaba.cloud.context.statistics.StatisticsTask; AcmContextBootstrapConfiguration.class }) public class StatisticsTaskStarter implements InitializingBean { + private static final String NACOS_CONFIG_SERVER_MODE_KEY = "spring.cloud.nacos.config.server-mode"; + + private static final String NACOS_CONFIG_SERVER_MODE_VALUE = "EDAS"; + @Autowired(required = false) private AliCloudEdasSdk aliCloudEdasSdk; @@ -102,6 +106,10 @@ public class StatisticsTaskStarter implements InitializingBean { if (acmContextBootstrapConfiguration != null && acmEnableEdas) { components.add("SC-ACM"); } + if (NACOS_CONFIG_SERVER_MODE_VALUE + .equals(System.getProperty(NACOS_CONFIG_SERVER_MODE_KEY))) { + components.add("SC-NACOS-CONFIG"); + } return components; } diff --git a/spring-cloud-alicloud-context/src/test/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java b/spring-cloud-alicloud-context/src/test/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java new file mode 100644 index 00000000..7159a2f4 --- /dev/null +++ b/spring-cloud-alicloud-context/src/test/java/com/alibaba/csp/sentinel/datasource/nacos/NacosDataSource.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2018 the original author or authors. + * + * Licensed 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 com.alibaba.csp.sentinel.datasource.nacos; + +/** + * @author xiaolongzuo + */ +public class NacosDataSource { +} diff --git a/spring-cloud-alicloud-context/src/test/java/com/aliyuncs/dysmsapi/model/v20170525/SendSmsRequest.java b/spring-cloud-alicloud-context/src/test/java/com/aliyuncs/dysmsapi/model/v20170525/SendSmsRequest.java new file mode 100644 index 00000000..ef660e84 --- /dev/null +++ b/spring-cloud-alicloud-context/src/test/java/com/aliyuncs/dysmsapi/model/v20170525/SendSmsRequest.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2018 the original author or authors. + * + * Licensed 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 com.aliyuncs.dysmsapi.model.v20170525; + +/** + * @author xiaolongzuo + */ +public class SendSmsRequest { +} diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alibaba/nacos/NacosConfigAutoConfiguration.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alibaba/nacos/NacosConfigAutoConfiguration.java new file mode 100644 index 00000000..3ae897f4 --- /dev/null +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alibaba/nacos/NacosConfigAutoConfiguration.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2018 the original author or authors. + * + * Licensed 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.springframework.cloud.alibaba.nacos; + +/** + * @author xiaolongzuo + */ +public class NacosConfigAutoConfiguration { +} diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudPropertiesDefaultTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudPropertiesDefaultTests.java index cca39c8b..db1141ef 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudPropertiesDefaultTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudPropertiesDefaultTests.java @@ -22,15 +22,16 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; -import org.springframework.cloud.alicloud.context.AliCloudProperties; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = AliCloudContextAutoConfiguration.class) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class }) public class AliCloudPropertiesDefaultTests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudPropertiesLoadTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudPropertiesLoadTests.java index e9901b9d..a6152e66 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudPropertiesLoadTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudPropertiesLoadTests.java @@ -22,17 +22,19 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; -import org.springframework.cloud.alicloud.context.AliCloudProperties; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = AliCloudContextAutoConfiguration.class, properties = { - "spring.cloud.alicloud.access-key=123", - "spring.cloud.alicloud.secret-key=123456" }) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, + AnsContextAutoConfiguration.class }, properties = { + "spring.cloud.alicloud.access-key=123", + "spring.cloud.alicloud.secret-key=123456" }) public class AliCloudPropertiesLoadTests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudSpringApplicationTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/BaseAliCloudSpringApplication.java similarity index 62% rename from spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudSpringApplicationTests.java rename to spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/BaseAliCloudSpringApplication.java index 471ffbb9..6cc999ff 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/AliCloudSpringApplicationTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/BaseAliCloudSpringApplication.java @@ -16,36 +16,35 @@ package org.springframework.cloud.alicloud.context; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; - -import org.junit.Test; import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PowerMockIgnore; +import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.modules.junit4.PowerMockRunnerDelegate; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit4.SpringRunner; /** * @author xiaolongzuo */ -@RunWith(SpringRunner.class) -@SpringBootTest(classes = AliCloudSpringApplicationTests.AliCloudDisabledApp.class, properties = { +@RunWith(PowerMockRunner.class) +@PowerMockRunnerDelegate(SpringRunner.class) +@PowerMockIgnore("javax.management.*") +@SpringBootTest(classes = BaseAliCloudSpringApplication.AliCloudApplication.class, properties = { "spring.application.name=myapp", "spring.cloud.alicloud.edas.application.name=myapp", "spring.cloud.alicloud.access-key=ak", "spring.cloud.alicloud.secret-key=sk", "spring.cloud.alicloud.oss.endpoint=test", "spring.cloud.alicloud.scx.group-id=1-2-3-4", - "spring.cloud.alicloud.edas.namespace=cn-test" }, webEnvironment = RANDOM_PORT) -@DirtiesContext -public class AliCloudSpringApplicationTests { - - @Test - public void contextLoads() { - System.out.println("Context load..."); - } + "spring.cloud.alicloud.edas.namespace=cn-test", + "spring.cloud.alicloud.ans.server-list=192.168.1.100", + "spring.cloud.alicloud.ans.server-port=8888", + "spring.cloud.alicloud.oss.enabled=false", + "spring.cloud.alicloud.scx.enabled=false" }) +public abstract class BaseAliCloudSpringApplication { @SpringBootApplication - public static class AliCloudDisabledApp { + public static class AliCloudApplication { } diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmIntegrationPropertiesLoad2Tests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmIntegrationPropertiesLoad2Tests.java index b8a1065d..7ada442f 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmIntegrationPropertiesLoad2Tests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmIntegrationPropertiesLoad2Tests.java @@ -22,13 +22,17 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = { AcmContextBootstrapConfiguration.class }, properties = { +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class,AcmContextBootstrapConfiguration.class }, properties = { "spring.application.name=myapp", "spring.application.group=com.alicloud.test", "spring.profiles.active=profile1,profile2", "spring.cloud.alicloud.access-key=ak", "spring.cloud.alicloud.secret-key=sk", diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmIntegrationPropertiesLoadTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmIntegrationPropertiesLoadTests.java index b8b2b251..6d3a57d8 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmIntegrationPropertiesLoadTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmIntegrationPropertiesLoadTests.java @@ -22,22 +22,29 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = { AcmContextBootstrapConfiguration.class }, properties = { - "spring.application.name=myapp", "spring.application.group=com.alicloud.test", - "spring.cloud.alicloud.access-key=ak", "spring.cloud.alicloud.secret-key=sk", - "spring.cloud.alicloud.acm.server-mode=EDAS", - "spring.cloud.alicloud.acm.server-port=11111", - "spring.cloud.alicloud.acm.server-list=10.10.10.10", - "spring.cloud.alicloud.acm.namespace=testNamespace", - "spring.cloud.alicloud.acm.endpoint=testDomain", - "spring.cloud.alicloud.acm.group=testGroup", - "spring.cloud.alicloud.acm.file-extension=yaml" }) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class, + AcmContextBootstrapConfiguration.class }, properties = { + "spring.application.name=myapp", + "spring.application.group=com.alicloud.test", + "spring.cloud.alicloud.access-key=ak", + "spring.cloud.alicloud.secret-key=sk", + "spring.cloud.alicloud.acm.server-mode=EDAS", + "spring.cloud.alicloud.acm.server-port=11111", + "spring.cloud.alicloud.acm.server-list=10.10.10.10", + "spring.cloud.alicloud.acm.namespace=testNamespace", + "spring.cloud.alicloud.acm.endpoint=testDomain", + "spring.cloud.alicloud.acm.group=testGroup", + "spring.cloud.alicloud.acm.file-extension=yaml" }) public class AcmIntegrationPropertiesLoadTests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmPropertiesDefaultTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmPropertiesDefaultTests.java index ba117dae..36e97061 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmPropertiesDefaultTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmPropertiesDefaultTests.java @@ -22,6 +22,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; import com.alibaba.cloud.context.AliCloudServerMode; @@ -30,8 +33,10 @@ import com.alibaba.cloud.context.AliCloudServerMode; * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = { AcmContextBootstrapConfiguration.class }, properties = { - "spring.application.name=myapp" }) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class, + AcmContextBootstrapConfiguration.class }, properties = { + "spring.application.name=myapp" }) public class AcmPropertiesDefaultTests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmPropertiesLoadTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmPropertiesLoadTests.java index 31adc474..51248957 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmPropertiesLoadTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/acm/AcmPropertiesLoadTests.java @@ -22,6 +22,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; import com.alibaba.cloud.context.AliCloudServerMode; @@ -30,16 +33,18 @@ import com.alibaba.cloud.context.AliCloudServerMode; * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = { AcmContextBootstrapConfiguration.class }, properties = { - "spring.application.name=myapp", "spring.cloud.alicloud.access-key=ak", - "spring.cloud.alicloud.secret-key=sk", - "spring.cloud.alicloud.acm.server-mode=EDAS", - "spring.cloud.alicloud.acm.server-port=11111", - "spring.cloud.alicloud.acm.server-list=10.10.10.10", - "spring.cloud.alicloud.acm.namespace=testNamespace", - "spring.cloud.alicloud.acm.endpoint=testDomain", - "spring.cloud.alicloud.acm.group=testGroup", - "spring.cloud.alicloud.acm.file-extension=yaml" }) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class, + AcmContextBootstrapConfiguration.class }, properties = { + "spring.application.name=myapp", "spring.cloud.alicloud.access-key=ak", + "spring.cloud.alicloud.secret-key=sk", + "spring.cloud.alicloud.acm.server-mode=EDAS", + "spring.cloud.alicloud.acm.server-port=11111", + "spring.cloud.alicloud.acm.server-list=10.10.10.10", + "spring.cloud.alicloud.acm.namespace=testNamespace", + "spring.cloud.alicloud.acm.endpoint=testDomain", + "spring.cloud.alicloud.acm.group=testGroup", + "spring.cloud.alicloud.acm.file-extension=yaml" }) public class AcmPropertiesLoadTests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/ans/AnsContextApplicationListenerTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/ans/AnsContextApplicationListenerTests.java new file mode 100644 index 00000000..9ad6f6d7 --- /dev/null +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/ans/AnsContextApplicationListenerTests.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2018 the original author or authors. + * + * Licensed 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.springframework.cloud.alicloud.context.ans; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; +import org.springframework.cloud.alicloud.context.BaseAliCloudSpringApplication; + +/** + * @author xiaolongzuo + */ +public class AnsContextApplicationListenerTests extends BaseAliCloudSpringApplication { + + @Test + public void testAnsContextApplicationListenerDefault() { + assertThat(System + .getProperty("com.alibaba.ans.shaded.com.taobao.vipserver.serverlist")) + .isEqualTo("192.168.1.100"); + assertThat(System.getProperty("vipserver.server.port")).isEqualTo("8888"); + } + +} diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/ans/AnsPropertiesLoadTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/ans/AnsPropertiesLoadTests.java index 8ba17957..38bec88b 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/ans/AnsPropertiesLoadTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/ans/AnsPropertiesLoadTests.java @@ -20,23 +20,48 @@ import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.powermock.core.classloader.annotations.PowerMockIgnore; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.modules.junit4.PowerMockRunnerDelegate; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.test.context.junit4.SpringRunner; import com.alibaba.cloud.context.AliCloudServerMode; +import com.alibaba.cloud.context.ans.AliCloudAnsInitializer; +import com.alibaba.cloud.context.edas.AliCloudEdasSdk; +import com.aliyuncs.edas.model.v20170801.GetSecureTokenResponse; +import com.aliyuncs.edas.model.v20170801.InsertApplicationResponse; /** * @author xiaolongzuo */ -@RunWith(SpringRunner.class) -@SpringBootTest(classes = { AnsContextAutoConfiguration.class }, properties = { - "spring.cloud.alicloud.ans.server-mode=EDAS", - "spring.cloud.alicloud.ans.server-port=11111", - "spring.cloud.alicloud.ans.server-list=10.10.10.10", - "spring.cloud.alicloud.ans.client-domains=testDomain", - "spring.cloud.alicloud.ans.client-weight=0.9", - "spring.cloud.alicloud.ans.client-weights.testDomain=0.9" }) +@RunWith(PowerMockRunner.class) +@PowerMockRunnerDelegate(SpringRunner.class) +@PowerMockIgnore("javax.management.*") +@SpringBootTest(classes = { AnsPropertiesLoadTests.TestConfiguration.class, + AliCloudContextAutoConfiguration.class, EdasContextAutoConfiguration.class, + AnsContextAutoConfiguration.class }, properties = { + "spring.application.name=myapp", "spring.cloud.alicloud.access-key=ak", + "spring.cloud.alicloud.secret-key=sk", + "spring.cloud.alicloud.edas.namespace=cn-test", + "spring.cloud.alicloud.ans.server-mode=EDAS", + "spring.cloud.alicloud.ans.server-port=11111", + "spring.cloud.alicloud.ans.server-list=10.10.10.10", + "spring.cloud.alicloud.ans.client-domains=testDomain", + "spring.cloud.alicloud.ans.client-weight=0.9", + "spring.cloud.alicloud.ans.client-weights.testDomain=0.9", + "spring.cloud.alicloud.oss.endpoint=test", + "spring.cloud.alicloud.oss.enabled=false", + "spring.cloud.alicloud.scx.enabled=false" }) +@PrepareForTest({ AliCloudAnsInitializer.class }) public class AnsPropertiesLoadTests { @Autowired @@ -65,4 +90,26 @@ public class AnsPropertiesLoadTests { assertThat(ansProperties.getTags().get("ANS_SERVICE_TYPE")) .isEqualTo("SPRING_CLOUD"); } + + @Configuration + @AutoConfigureBefore(EdasContextAutoConfiguration.class) + public static class TestConfiguration { + + @Bean + public AliCloudEdasSdk aliCloudEdasSdk() { + GetSecureTokenResponse.SecureToken secureToken = new GetSecureTokenResponse.SecureToken(); + InsertApplicationResponse.ApplicationInfo applicationInfo = new InsertApplicationResponse.ApplicationInfo(); + applicationInfo.setAppId("testAppId"); + secureToken.setTenantId("testTenantId"); + secureToken.setAccessKey("testAK"); + secureToken.setSecretKey("testSK"); + secureToken.setAddressServerHost("testDomain"); + AliCloudEdasSdk aliCloudEdasSdk = Mockito.mock(AliCloudEdasSdk.class); + Mockito.when(aliCloudEdasSdk.getSecureToken("cn-test")) + .thenReturn(secureToken); + Mockito.when(aliCloudEdasSdk.getApplicationInfo("myapp", "cn-test")) + .thenReturn(applicationInfo); + return aliCloudEdasSdk; + } + } } diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesDefaultTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesDefaultTests.java index 99b58efb..7a69ff29 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesDefaultTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesDefaultTests.java @@ -22,13 +22,16 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = { EdasContextAutoConfiguration.class }) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class }) public class EdasPropertiesDefaultTests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesLoad2Tests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesLoad2Tests.java index 7a791159..f6eddd6a 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesLoad2Tests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesLoad2Tests.java @@ -22,15 +22,19 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = { EdasContextAutoConfiguration.class }, properties = { - "spring.cloud.alicloud.edas.namespace=testns", - "spring.cloud.alicloud.edas.application.name=myapps" }) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, + AnsContextAutoConfiguration.class }, properties = { + "spring.cloud.alicloud.edas.namespace=testns", + "spring.cloud.alicloud.edas.application.name=myapps" }) public class EdasPropertiesLoad2Tests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesLoadTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesLoadTests.java index 5cf93464..2e3e4e5d 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesLoadTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/edas/EdasPropertiesLoadTests.java @@ -22,14 +22,19 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = { EdasContextAutoConfiguration.class }, properties = { - "spring.cloud.alicloud.edas.namespace=testns", "spring.application.name=myapps" }) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, + AnsContextAutoConfiguration.class }, properties = { + "spring.cloud.alicloud.edas.namespace=testns", + "spring.application.name=myapps" }) public class EdasPropertiesLoadTests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosParameterInitListenerTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosParameterInitListenerTests.java new file mode 100644 index 00000000..1afcf570 --- /dev/null +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/nacos/NacosParameterInitListenerTests.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2018 the original author or authors. + * + * Licensed 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.springframework.cloud.alicloud.context.nacos; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.BeforeClass; +import org.junit.Test; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.springframework.cloud.alicloud.context.BaseAliCloudSpringApplication; +import org.springframework.cloud.alicloud.utils.ChangeOrderUtils; + +import com.alibaba.cloud.context.ans.AliCloudAnsInitializer; +import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; + +/** + * @author xiaolongzuo + */ +@PrepareForTest({ EdasChangeOrderConfigurationFactory.class, + NacosParameterInitListener.class, AliCloudAnsInitializer.class }) +public class NacosParameterInitListenerTests extends BaseAliCloudSpringApplication { + + @BeforeClass + public static void setUp() { + ChangeOrderUtils.mockChangeOrder(); + } + + @Test + public void testNacosParameterInitListener() { + assertThat(System.getProperty("spring.cloud.nacos.config.server-mode")) + .isEqualTo("EDAS"); + assertThat(System.getProperty("spring.cloud.nacos.config.server-addr")) + .isEqualTo(""); + assertThat(System.getProperty("spring.cloud.nacos.config.endpoint")) + .isEqualTo("testDomain"); + assertThat(System.getProperty("spring.cloud.nacos.config.namespace")) + .isEqualTo("testTenantId"); + assertThat(System.getProperty("spring.cloud.nacos.config.access-key")) + .isEqualTo("testAK"); + assertThat(System.getProperty("spring.cloud.nacos.config.secret-key")) + .isEqualTo("testSK"); + + } +} diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/oss/OssLoadTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/oss/OssLoadTests.java index 86e874c2..aa03b7cb 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/oss/OssLoadTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/oss/OssLoadTests.java @@ -22,7 +22,10 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; import org.springframework.cloud.alicloud.context.AliCloudProperties; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; import org.springframework.test.context.junit4.SpringRunner; import com.aliyun.oss.OSSClient; @@ -31,11 +34,13 @@ import com.aliyun.oss.OSSClient; * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = OssContextAutoConfiguration.class, properties = { - "spring.cloud.alicloud.accessKey=your-ak", - "spring.cloud.alicloud.secretKey=your-sk", - "spring.cloud.alicloud.oss.endpoint=http://oss-cn-beijing.aliyuncs.com", - "spring.cloud.alicloud.oss.config.userAgent=alibaba" }) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class, + OssContextAutoConfiguration.class }, properties = { + "spring.cloud.alicloud.accessKey=your-ak", + "spring.cloud.alicloud.secretKey=your-sk", + "spring.cloud.alicloud.oss.endpoint=http://oss-cn-beijing.aliyuncs.com", + "spring.cloud.alicloud.oss.config.userAgent=alibaba" }) public class OssLoadTests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/scx/ScxPropertiesLoadTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/scx/ScxPropertiesLoadTests.java index 78e6f394..19c49545 100644 --- a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/scx/ScxPropertiesLoadTests.java +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/scx/ScxPropertiesLoadTests.java @@ -22,6 +22,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; import org.springframework.cloud.alicloud.context.edas.EdasProperties; import org.springframework.test.context.junit4.SpringRunner; @@ -29,9 +32,11 @@ import org.springframework.test.context.junit4.SpringRunner; * @author xiaolongzuo */ @RunWith(SpringRunner.class) -@SpringBootTest(classes = ScxContextAutoConfiguration.class, properties = { - "spring.cloud.alicloud.scx.group-id=1-2-3-4", - "spring.cloud.alicloud.edas.namespace=cn-test" }) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class, + ScxContextAutoConfiguration.class }, properties = { + "spring.cloud.alicloud.scx.group-id=1-2-3-4", + "spring.cloud.alicloud.edas.namespace=cn-test" }) public class ScxPropertiesLoadTests { @Autowired diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/sentinel/SentinelAliCloudListenerTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/sentinel/SentinelAliCloudListenerTests.java new file mode 100644 index 00000000..de2a5bc0 --- /dev/null +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/sentinel/SentinelAliCloudListenerTests.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2018 the original author or authors. + * + * Licensed 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.springframework.cloud.alicloud.context.sentinel; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.BeforeClass; +import org.junit.Test; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.springframework.cloud.alicloud.context.BaseAliCloudSpringApplication; +import org.springframework.cloud.alicloud.context.Constants; +import org.springframework.cloud.alicloud.utils.ChangeOrderUtils; + +import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; + +/** + * @author xiaolongzuo + */ +@PrepareForTest({ EdasChangeOrderConfigurationFactory.class, + SentinelAliCloudListener.class }) +public class SentinelAliCloudListenerTests extends BaseAliCloudSpringApplication { + + @BeforeClass + public static void setUp() { + ChangeOrderUtils.mockChangeOrder(); + } + + @Test + public void testNacosParameterInitListener() { + assertThat(System.getProperty(Constants.Sentinel.NACOS_DATASOURCE_ENDPOINT)) + .isEqualTo("testDomain"); + assertThat(System.getProperty(Constants.Sentinel.PROJECT_NAME)) + .isEqualTo("testProjectName"); + assertThat(System.getProperty(Constants.Sentinel.NACOS_DATASOURCE_NAMESPACE)) + .isEqualTo("testTenantId"); + assertThat(System.getProperty(Constants.Sentinel.NACOS_DATASOURCE_AK)) + .isEqualTo("testAK"); + assertThat(System.getProperty(Constants.Sentinel.NACOS_DATASOURCE_SK)) + .isEqualTo("testSK"); + + } +} diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/sms/SmsPropertiesDefaultTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/sms/SmsPropertiesDefaultTests.java new file mode 100644 index 00000000..7a250763 --- /dev/null +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/sms/SmsPropertiesDefaultTests.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2018 the original author or authors. + * + * Licensed 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.springframework.cloud.alicloud.context.sms; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.alicloud.context.BaseAliCloudSpringApplication; + +/** + * @author xiaolongzuo + */ +public class SmsPropertiesDefaultTests extends BaseAliCloudSpringApplication { + + @Autowired + private SmsProperties smsProperties; + + @Test + public void test() { + assertThat(smsProperties.getReportQueueName()).isNull(); + assertThat(smsProperties.getUpQueueName()).isNull(); + assertThat(smsProperties.getConnectTimeout()).isEqualTo("10000"); + assertThat(smsProperties.getReadTimeout()).isEqualTo("10000"); + } +} diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/sms/SmsPropertiesLoadTests.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/sms/SmsPropertiesLoadTests.java new file mode 100644 index 00000000..fb98b4b8 --- /dev/null +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/sms/SmsPropertiesLoadTests.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2018 the original author or authors. + * + * Licensed 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.springframework.cloud.alicloud.context.sms; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.cloud.alicloud.context.AliCloudContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.ans.AnsContextAutoConfiguration; +import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * @author xiaolongzuo + */ +@RunWith(SpringRunner.class) +@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, + EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class, + SmsContextAutoConfiguration.class }, properties = { + "spring.cloud.alicloud.sms.reportQueueName=q1", + "spring.cloud.alicloud.sms.upQueueName=q2", + "spring.cloud.alicloud.sms.connect-timeout=20", + "spring.cloud.alicloud.sms.read-timeout=30" }) +public class SmsPropertiesLoadTests { + + @Autowired + private SmsProperties smsProperties; + + @Test + public void test() { + assertThat(smsProperties.getReportQueueName()).isEqualTo("q1"); + assertThat(smsProperties.getUpQueueName()).isEqualTo("q2"); + assertThat(smsProperties.getConnectTimeout()).isEqualTo("20"); + assertThat(smsProperties.getReadTimeout()).isEqualTo("30"); + } +} diff --git a/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/utils/ChangeOrderUtils.java b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/utils/ChangeOrderUtils.java new file mode 100644 index 00000000..adfd750f --- /dev/null +++ b/spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/utils/ChangeOrderUtils.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2018 the original author or authors. + * + * Licensed 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.springframework.cloud.alicloud.utils; + +import org.powermock.api.mockito.PowerMockito; + +import com.alibaba.cloud.context.edas.EdasChangeOrderConfiguration; +import com.alibaba.cloud.context.edas.EdasChangeOrderConfigurationFactory; + +/** + * @author xiaolongzuo + */ +public class ChangeOrderUtils { + + private ChangeOrderUtils() { + } + + public static void mockChangeOrder() { + EdasChangeOrderConfiguration edasChangeOrderConfiguration = PowerMockito + .mock(EdasChangeOrderConfiguration.class); + PowerMockito.when(edasChangeOrderConfiguration.isEdasManaged()).thenReturn(true); + PowerMockito.when(edasChangeOrderConfiguration.getAddressServerDomain()) + .thenReturn("testDomain"); + PowerMockito.when(edasChangeOrderConfiguration.getTenantId()) + .thenReturn("testTenantId"); + PowerMockito.when(edasChangeOrderConfiguration.getDauthAccessKey()) + .thenReturn("testAK"); + PowerMockito.when(edasChangeOrderConfiguration.getDauthSecretKey()) + .thenReturn("testSK"); + PowerMockito.when(edasChangeOrderConfiguration.getProjectName()) + .thenReturn("testProjectName"); + PowerMockito.when(edasChangeOrderConfiguration.getAddressServerPort()) + .thenReturn("8080"); + PowerMockito.mockStatic(EdasChangeOrderConfigurationFactory.class); + PowerMockito + .when(EdasChangeOrderConfigurationFactory + .getEdasChangeOrderConfiguration()) + .thenReturn(edasChangeOrderConfiguration); + } +} diff --git a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/AbstractSmsService.java b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/AbstractSmsService.java index 8010e9fc..dc2963ef 100644 --- a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/AbstractSmsService.java +++ b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/AbstractSmsService.java @@ -15,12 +15,12 @@ */ package org.springframework.cloud.alicloud.sms; +import java.util.concurrent.ConcurrentHashMap; + import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.profile.DefaultProfile; -import java.util.concurrent.ConcurrentHashMap; - /** * * @author pbting @@ -30,11 +30,12 @@ public abstract class AbstractSmsService implements ISmsService { private ConcurrentHashMap acsClientConcurrentHashMap = new ConcurrentHashMap<>(); /** - * + * * @param accessKeyId * @param accessKeySecret * @return */ + @Override public IAcsClient getHangZhouRegionClientProfile(String accessKeyId, String accessKeySecret) { diff --git a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsInitializer.java b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsInitializer.java index 4f6cca1f..f50aa260 100644 --- a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsInitializer.java +++ b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsInitializer.java @@ -20,7 +20,7 @@ import org.apache.commons.logging.LogFactory; import org.springframework.beans.BeansException; import org.springframework.beans.factory.SmartInitializingSingleton; import org.springframework.beans.factory.config.BeanPostProcessor; -import org.springframework.cloud.alicloud.context.sms.SmsConfigProperties; +import org.springframework.cloud.alicloud.context.sms.SmsProperties; import org.springframework.cloud.alicloud.sms.base.MessageListener; import com.aliyuncs.profile.DefaultProfile; @@ -32,12 +32,11 @@ public class SmsInitializer implements BeanPostProcessor, SmartInitializingSingl private final static Log log = LogFactory.getLog(SmsInitializer.class); - private SmsConfigProperties msConfigProperties; + private SmsProperties smsProperties; private ISmsService smsService; - public SmsInitializer(SmsConfigProperties msConfigProperties, - ISmsService smsService) { - this.msConfigProperties = msConfigProperties; + public SmsInitializer(SmsProperties smsProperties, ISmsService smsService) { + this.smsProperties = smsProperties; this.smsService = smsService; } @@ -46,13 +45,13 @@ public class SmsInitializer implements BeanPostProcessor, SmartInitializingSingl // 整个application context refreshed then do // 可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout", - msConfigProperties.getConnnectTimeout()); + smsProperties.getConnectTimeout()); System.setProperty("sun.net.client.defaultReadTimeout", - msConfigProperties.getReadTimeout()); + smsProperties.getReadTimeout()); // 初始化acsClient,暂不支持region化 try { DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", - SmsConfigProperties.smsProduct, SmsConfigProperties.smsDomain); + SmsProperties.smsProduct, SmsProperties.smsDomain); } catch (Exception e) { log.error("initializer the sms cause an exception", e); @@ -76,8 +75,8 @@ public class SmsInitializer implements BeanPostProcessor, SmartInitializingSingl private void initMessageListener(MessageListener messageListener) { if (SmsReportMessageListener.class.isInstance(messageListener)) { - if (msConfigProperties.getReportQueueName() != null - && msConfigProperties.getReportQueueName().trim().length() > 0) { + if (smsProperties.getReportQueueName() != null + && smsProperties.getReportQueueName().trim().length() > 0) { smsService.startSmsReportMessageListener( (SmsReportMessageListener) messageListener); return; @@ -89,8 +88,8 @@ public class SmsInitializer implements BeanPostProcessor, SmartInitializingSingl if (SmsUpMessageListener.class.isInstance(messageListener)) { - if (msConfigProperties.getUpQueueName() != null - && msConfigProperties.getUpQueueName().trim().length() > 0) { + if (smsProperties.getUpQueueName() != null + && smsProperties.getUpQueueName().trim().length() > 0) { smsService.startSmsUpMessageListener( (SmsUpMessageListener) messageListener); return; diff --git a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsServiceImpl.java b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsServiceImpl.java index d32c8c64..3b83cfb6 100644 --- a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsServiceImpl.java +++ b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsServiceImpl.java @@ -15,17 +15,19 @@ */ package org.springframework.cloud.alicloud.sms; -import com.aliyuncs.dysmsapi.model.v20170525.*; -import com.aliyuncs.exceptions.ClientException; -import com.aliyuncs.exceptions.ServerException; +import java.text.ParseException; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.cloud.alicloud.context.sms.SmsConfigProperties; +import org.springframework.cloud.alicloud.context.AliCloudProperties; +import org.springframework.cloud.alicloud.context.sms.SmsProperties; import org.springframework.cloud.alicloud.sms.base.DefaultAlicomMessagePuller; import org.springframework.cloud.alicloud.sms.endpoint.EndpointManager; import org.springframework.cloud.alicloud.sms.endpoint.ReceiveMessageEntity; -import java.text.ParseException; +import com.aliyuncs.dysmsapi.model.v20170525.*; +import com.aliyuncs.exceptions.ClientException; +import com.aliyuncs.exceptions.ServerException; /** * @author pbting @@ -38,17 +40,22 @@ public final class SmsServiceImpl extends AbstractSmsService { * @param sendSmsRequest * @return */ - private SmsConfigProperties smsConfigProperties; + private SmsProperties smsProperties; - public SmsServiceImpl(SmsConfigProperties smsConfigProperties) { - this.smsConfigProperties = smsConfigProperties; + private AliCloudProperties aliCloudProperties; + + public SmsServiceImpl(AliCloudProperties aliCloudProperties, + SmsProperties smsProperties) { + this.aliCloudProperties = aliCloudProperties; + this.smsProperties = smsProperties; } + @Override public SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest) throws ClientException { - return sendSmsRequest(sendSmsRequest, smsConfigProperties.getAccessKeyId(), - smsConfigProperties.getAccessKeySecret()); + return sendSmsRequest(sendSmsRequest, aliCloudProperties.getAccessKey(), + aliCloudProperties.getSecretKey()); } /** @@ -62,6 +69,7 @@ public final class SmsServiceImpl extends AbstractSmsService { * @throws ClientException * @return SendSmsResponse */ + @Override public SendSmsResponse sendSmsRequest(SendSmsRequest sendSmsRequest, String accessKeyId, String accessKeySecret) throws ServerException, ClientException { @@ -76,10 +84,12 @@ public final class SmsServiceImpl extends AbstractSmsService { * @param smsReportMessageListener * @return boolean */ + @Override public boolean startSmsReportMessageListener( SmsReportMessageListener smsReportMessageListener) { - String messageType = "SmsReport";// 短信回执:SmsReport,短信上行:SmsUp - String queueName = smsConfigProperties.getReportQueueName(); + // 短信回执:SmsReport,短信上行:SmsUp + String messageType = "SmsReport"; + String queueName = smsProperties.getReportQueueName(); return startReceiveMsg(messageType, queueName, smsReportMessageListener); } @@ -88,9 +98,11 @@ public final class SmsServiceImpl extends AbstractSmsService { * @param smsUpMessageListener * @return boolean */ + @Override public boolean startSmsUpMessageListener(SmsUpMessageListener smsUpMessageListener) { - String messageType = "SmsUp";// 短信回执:SmsReport,短信上行:SmsUp - String queueName = smsConfigProperties.getUpQueueName(); + // 短信回执:SmsReport,短信上行:SmsUp + String messageType = "SmsUp"; + String queueName = smsProperties.getUpQueueName(); return startReceiveMsg(messageType, queueName, smsUpMessageListener); } @@ -103,8 +115,8 @@ public final class SmsServiceImpl extends AbstractSmsService { */ private boolean startReceiveMsg(String messageType, String queueName, SmsMessageListener messageListener) { - String accessKeyId = smsConfigProperties.getAccessKeyId(); - String accessKeySecret = smsConfigProperties.getAccessKeySecret(); + String accessKeyId = aliCloudProperties.getAccessKey(); + String accessKeySecret = aliCloudProperties.getSecretKey(); boolean result = true; try { new DefaultAlicomMessagePuller().startReceiveMsg(accessKeyId, accessKeySecret, @@ -135,9 +147,8 @@ public final class SmsServiceImpl extends AbstractSmsService { SendBatchSmsRequest sendBatchSmsRequest) throws ServerException, ClientException { - return sendSmsBatchRequest(sendBatchSmsRequest, - smsConfigProperties.getAccessKeyId(), - smsConfigProperties.getAccessKeySecret()); + return sendSmsBatchRequest(sendBatchSmsRequest, aliCloudProperties.getAccessKey(), + aliCloudProperties.getSecretKey()); } /** @@ -181,7 +192,7 @@ public final class SmsServiceImpl extends AbstractSmsService { @Override public QuerySendDetailsResponse querySendDetails(QuerySendDetailsRequest request) throws ClientException { - return querySendDetails(request, smsConfigProperties.getAccessKeyId(), - smsConfigProperties.getAccessKeySecret()); + return querySendDetails(request, aliCloudProperties.getAccessKey(), + aliCloudProperties.getSecretKey()); } } \ No newline at end of file diff --git a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/config/SmsAutoConfiguration.java b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/config/SmsAutoConfiguration.java index 6fb88ea9..6d7af6f0 100644 --- a/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/config/SmsAutoConfiguration.java +++ b/spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/config/SmsAutoConfiguration.java @@ -18,7 +18,8 @@ package org.springframework.cloud.alicloud.sms.config; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.alicloud.context.sms.SmsConfigProperties; +import org.springframework.cloud.alicloud.context.AliCloudProperties; +import org.springframework.cloud.alicloud.context.sms.SmsProperties; import org.springframework.cloud.alicloud.sms.ISmsService; import org.springframework.cloud.alicloud.sms.SmsInitializer; import org.springframework.cloud.alicloud.sms.SmsServiceImpl; @@ -37,13 +38,14 @@ import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; public class SmsAutoConfiguration { @Bean - public SmsServiceImpl smsService(SmsConfigProperties smsConfigProperties) { - return new SmsServiceImpl(smsConfigProperties); + public SmsServiceImpl smsService(AliCloudProperties aliCloudProperties, + SmsProperties smsProperties) { + return new SmsServiceImpl(aliCloudProperties, smsProperties); } @Bean public SmsInitializer smsInitializePostListener( - SmsConfigProperties msConfigProperties, ISmsService smsService) { - return new SmsInitializer(msConfigProperties, smsService); + SmsProperties smsProperties, ISmsService smsService) { + return new SmsInitializer(smsProperties, smsService); } } \ No newline at end of file