1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00

Add test case.

# Conflicts:
#	spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsConfigProperties.java
#	spring-cloud-alicloud-context/src/main/java/org/springframework/cloud/alicloud/context/sms/SmsConfigRegistration.java
#	spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/ans/AnsPropertiesTests.java
#	spring-cloud-alicloud-context/src/test/java/org/springframework/cloud/alicloud/context/oss/OssAutoConfigurationTests.java
#	spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/AbstractSmsService.java
#	spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/SmsInitializerEventListener.java
#	spring-cloud-alicloud-sms/src/main/java/org/springframework/cloud/alicloud/sms/config/SmsAutoConfiguration.java
This commit is contained in:
xiaolongzuo 2019-02-14 17:41:58 +08:00
parent 874e464477
commit d76de4b5a6
20 changed files with 193 additions and 81 deletions

View File

@ -110,14 +110,14 @@
<dependency> <dependency>
<groupId>org.powermock</groupId> <groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId> <artifactId>powermock-module-junit4</artifactId>
<version>2.0.0</version> <version>1.7.1</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.powermock</groupId> <groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId> <artifactId>powermock-api-mockito</artifactId>
<version>2.0.0</version> <version>1.7.1</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>

View File

@ -42,9 +42,8 @@ public abstract class AbstractOnceApplicationListener<T extends ApplicationEvent
ApplicationContext applicationContext = ((ApplicationContextEvent) event) ApplicationContext applicationContext = ((ApplicationContextEvent) event)
.getApplicationContext(); .getApplicationContext();
// skip bootstrap context or super parent context. // skip bootstrap context or super parent context.
if (applicationContext.getParent() == null if (BOOTSTRAP_CONFIG_NAME_VALUE.equals(applicationContext.getEnvironment()
|| BOOTSTRAP_CONFIG_NAME_VALUE.equals(applicationContext .getProperty(BOOTSTRAP_CONFIG_NAME_KEY))) {
.getEnvironment().getProperty(BOOTSTRAP_CONFIG_NAME_KEY))) {
return; return;
} }
} }

View File

@ -22,15 +22,16 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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.AliCloudProperties; import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
/** /**
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = AliCloudContextAutoConfiguration.class) @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class })
public class AliCloudPropertiesDefaultTests { public class AliCloudPropertiesDefaultTests {
@Autowired @Autowired

View File

@ -22,17 +22,19 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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.AliCloudProperties; import org.springframework.cloud.alicloud.context.edas.EdasContextAutoConfiguration;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
/** /**
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = AliCloudContextAutoConfiguration.class, properties = { @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
"spring.cloud.alicloud.access-key=123", EdasContextAutoConfiguration.class,
"spring.cloud.alicloud.secret-key=123456" }) AnsContextAutoConfiguration.class }, properties = {
"spring.cloud.alicloud.access-key=123",
"spring.cloud.alicloud.secret-key=123456" })
public class AliCloudPropertiesLoadTests { public class AliCloudPropertiesLoadTests {
@Autowired @Autowired

View File

@ -22,13 +22,17 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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 org.springframework.test.context.junit4.SpringRunner;
/** /**
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @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.application.name=myapp", "spring.application.group=com.alicloud.test",
"spring.profiles.active=profile1,profile2", "spring.cloud.alicloud.access-key=ak", "spring.profiles.active=profile1,profile2", "spring.cloud.alicloud.access-key=ak",
"spring.cloud.alicloud.secret-key=sk", "spring.cloud.alicloud.secret-key=sk",

View File

@ -22,22 +22,29 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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 org.springframework.test.context.junit4.SpringRunner;
/** /**
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = { AcmContextBootstrapConfiguration.class }, properties = { @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
"spring.application.name=myapp", "spring.application.group=com.alicloud.test", EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class,
"spring.cloud.alicloud.access-key=ak", "spring.cloud.alicloud.secret-key=sk", AcmContextBootstrapConfiguration.class }, properties = {
"spring.cloud.alicloud.acm.server-mode=EDAS", "spring.application.name=myapp",
"spring.cloud.alicloud.acm.server-port=11111", "spring.application.group=com.alicloud.test",
"spring.cloud.alicloud.acm.server-list=10.10.10.10", "spring.cloud.alicloud.access-key=ak",
"spring.cloud.alicloud.acm.namespace=testNamespace", "spring.cloud.alicloud.secret-key=sk",
"spring.cloud.alicloud.acm.endpoint=testDomain", "spring.cloud.alicloud.acm.server-mode=EDAS",
"spring.cloud.alicloud.acm.group=testGroup", "spring.cloud.alicloud.acm.server-port=11111",
"spring.cloud.alicloud.acm.file-extension=yaml" }) "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 { public class AcmIntegrationPropertiesLoadTests {
@Autowired @Autowired

View File

@ -22,6 +22,9 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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 org.springframework.test.context.junit4.SpringRunner;
import com.alibaba.cloud.context.AliCloudServerMode; import com.alibaba.cloud.context.AliCloudServerMode;
@ -30,8 +33,10 @@ import com.alibaba.cloud.context.AliCloudServerMode;
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = { AcmContextBootstrapConfiguration.class }, properties = { @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
"spring.application.name=myapp" }) EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class,
AcmContextBootstrapConfiguration.class }, properties = {
"spring.application.name=myapp" })
public class AcmPropertiesDefaultTests { public class AcmPropertiesDefaultTests {
@Autowired @Autowired

View File

@ -22,6 +22,9 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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 org.springframework.test.context.junit4.SpringRunner;
import com.alibaba.cloud.context.AliCloudServerMode; import com.alibaba.cloud.context.AliCloudServerMode;
@ -30,16 +33,18 @@ import com.alibaba.cloud.context.AliCloudServerMode;
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = { AcmContextBootstrapConfiguration.class }, properties = { @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
"spring.application.name=myapp", "spring.cloud.alicloud.access-key=ak", EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class,
"spring.cloud.alicloud.secret-key=sk", AcmContextBootstrapConfiguration.class }, properties = {
"spring.cloud.alicloud.acm.server-mode=EDAS", "spring.application.name=myapp", "spring.cloud.alicloud.access-key=ak",
"spring.cloud.alicloud.acm.server-port=11111", "spring.cloud.alicloud.secret-key=sk",
"spring.cloud.alicloud.acm.server-list=10.10.10.10", "spring.cloud.alicloud.acm.server-mode=EDAS",
"spring.cloud.alicloud.acm.namespace=testNamespace", "spring.cloud.alicloud.acm.server-port=11111",
"spring.cloud.alicloud.acm.endpoint=testDomain", "spring.cloud.alicloud.acm.server-list=10.10.10.10",
"spring.cloud.alicloud.acm.group=testGroup", "spring.cloud.alicloud.acm.namespace=testNamespace",
"spring.cloud.alicloud.acm.file-extension=yaml" }) "spring.cloud.alicloud.acm.endpoint=testDomain",
"spring.cloud.alicloud.acm.group=testGroup",
"spring.cloud.alicloud.acm.file-extension=yaml" })
public class AcmPropertiesLoadTests { public class AcmPropertiesLoadTests {
@Autowired @Autowired

View File

@ -16,7 +16,7 @@
package org.springframework.cloud.alicloud.context.ans; package org.springframework.cloud.alicloud.context.ans;
import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import org.junit.Test; import org.junit.Test;
import org.springframework.cloud.alicloud.context.BaseAliCloudSpringApplication; import org.springframework.cloud.alicloud.context.BaseAliCloudSpringApplication;

View File

@ -20,23 +20,48 @@ import static org.assertj.core.api.Assertions.assertThat;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; 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.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.test.context.SpringBootTest; 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 org.springframework.test.context.junit4.SpringRunner;
import com.alibaba.cloud.context.AliCloudServerMode; 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 * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(PowerMockRunner.class)
@SpringBootTest(classes = { AnsContextAutoConfiguration.class }, properties = { @PowerMockRunnerDelegate(SpringRunner.class)
"spring.cloud.alicloud.ans.server-mode=EDAS", @PowerMockIgnore("javax.management.*")
"spring.cloud.alicloud.ans.server-port=11111", @SpringBootTest(classes = { AnsPropertiesLoadTests.TestConfiguration.class,
"spring.cloud.alicloud.ans.server-list=10.10.10.10", AliCloudContextAutoConfiguration.class, EdasContextAutoConfiguration.class,
"spring.cloud.alicloud.ans.client-domains=testDomain", AnsContextAutoConfiguration.class }, properties = {
"spring.cloud.alicloud.ans.client-weight=0.9", "spring.application.name=myapp", "spring.cloud.alicloud.access-key=ak",
"spring.cloud.alicloud.ans.client-weights.testDomain=0.9" }) "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 { public class AnsPropertiesLoadTests {
@Autowired @Autowired
@ -65,4 +90,26 @@ public class AnsPropertiesLoadTests {
assertThat(ansProperties.getTags().get("ANS_SERVICE_TYPE")) assertThat(ansProperties.getTags().get("ANS_SERVICE_TYPE"))
.isEqualTo("SPRING_CLOUD"); .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;
}
}
} }

View File

@ -22,13 +22,16 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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; import org.springframework.test.context.junit4.SpringRunner;
/** /**
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = { EdasContextAutoConfiguration.class }) @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class })
public class EdasPropertiesDefaultTests { public class EdasPropertiesDefaultTests {
@Autowired @Autowired

View File

@ -22,15 +22,19 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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; import org.springframework.test.context.junit4.SpringRunner;
/** /**
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = { EdasContextAutoConfiguration.class }, properties = { @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
"spring.cloud.alicloud.edas.namespace=testns", EdasContextAutoConfiguration.class,
"spring.cloud.alicloud.edas.application.name=myapps" }) AnsContextAutoConfiguration.class }, properties = {
"spring.cloud.alicloud.edas.namespace=testns",
"spring.cloud.alicloud.edas.application.name=myapps" })
public class EdasPropertiesLoad2Tests { public class EdasPropertiesLoad2Tests {
@Autowired @Autowired

View File

@ -22,14 +22,19 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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; import org.springframework.test.context.junit4.SpringRunner;
/** /**
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = { EdasContextAutoConfiguration.class }, properties = { @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
"spring.cloud.alicloud.edas.namespace=testns", "spring.application.name=myapps" }) EdasContextAutoConfiguration.class,
AnsContextAutoConfiguration.class }, properties = {
"spring.cloud.alicloud.edas.namespace=testns",
"spring.application.name=myapps" })
public class EdasPropertiesLoadTests { public class EdasPropertiesLoadTests {
@Autowired @Autowired

View File

@ -16,7 +16,7 @@
package org.springframework.cloud.alicloud.context.nacos; package org.springframework.cloud.alicloud.context.nacos;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;

View File

@ -22,7 +22,10 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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.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 org.springframework.test.context.junit4.SpringRunner;
import com.aliyun.oss.OSSClient; import com.aliyun.oss.OSSClient;
@ -31,11 +34,13 @@ import com.aliyun.oss.OSSClient;
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = OssContextAutoConfiguration.class, properties = { @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
"spring.cloud.alicloud.accessKey=your-ak", EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class,
"spring.cloud.alicloud.secretKey=your-sk", OssContextAutoConfiguration.class }, properties = {
"spring.cloud.alicloud.oss.endpoint=http://oss-cn-beijing.aliyuncs.com", "spring.cloud.alicloud.accessKey=your-ak",
"spring.cloud.alicloud.oss.config.userAgent=alibaba" }) "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 { public class OssLoadTests {
@Autowired @Autowired

View File

@ -22,6 +22,9 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; 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.cloud.alicloud.context.edas.EdasProperties;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
@ -29,9 +32,11 @@ import org.springframework.test.context.junit4.SpringRunner;
* @author xiaolongzuo * @author xiaolongzuo
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = ScxContextAutoConfiguration.class, properties = { @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
"spring.cloud.alicloud.scx.group-id=1-2-3-4", EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class,
"spring.cloud.alicloud.edas.namespace=cn-test" }) ScxContextAutoConfiguration.class }, properties = {
"spring.cloud.alicloud.scx.group-id=1-2-3-4",
"spring.cloud.alicloud.edas.namespace=cn-test" })
public class ScxPropertiesLoadTests { public class ScxPropertiesLoadTests {
@Autowired @Autowired

View File

@ -16,7 +16,7 @@
package org.springframework.cloud.alicloud.context.sentinel; package org.springframework.cloud.alicloud.context.sentinel;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;

View File

@ -16,8 +16,25 @@
package org.springframework.cloud.alicloud.context.sms; 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 * @author xiaolongzuo
*/ */
public class SmsPropertiesDefaultTests { 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");
}
} }

View File

@ -33,7 +33,11 @@ import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = { AliCloudContextAutoConfiguration.class, @SpringBootTest(classes = { AliCloudContextAutoConfiguration.class,
EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class, EdasContextAutoConfiguration.class, AnsContextAutoConfiguration.class,
SmsContextAutoConfiguration.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 { public class SmsPropertiesLoadTests {
@Autowired @Autowired
@ -41,9 +45,9 @@ public class SmsPropertiesLoadTests {
@Test @Test
public void test() { public void test() {
assertThat(smsProperties.getReportQueueName()).isNull(); assertThat(smsProperties.getReportQueueName()).isEqualTo("q1");
assertThat(smsProperties.getUpQueueName()).isNull(); assertThat(smsProperties.getUpQueueName()).isEqualTo("q2");
assertThat(smsProperties.getConnectTimeout()).isEqualTo("10000"); assertThat(smsProperties.getConnectTimeout()).isEqualTo("20");
assertThat(smsProperties.getReadTimeout()).isEqualTo("10000"); assertThat(smsProperties.getReadTimeout()).isEqualTo("30");
} }
} }

View File

@ -20,7 +20,7 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import org.springframework.beans.factory.SmartInitializingSingleton; import org.springframework.beans.factory.SmartInitializingSingleton;
import org.springframework.beans.factory.config.BeanPostProcessor; 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 org.springframework.cloud.alicloud.sms.base.MessageListener;
import com.aliyuncs.profile.DefaultProfile; 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 final static Log log = LogFactory.getLog(SmsInitializer.class);
private SmsConfigProperties msConfigProperties; private SmsProperties smsProperties;
private ISmsService smsService; private ISmsService smsService;
public SmsInitializer(SmsConfigProperties msConfigProperties, public SmsInitializer(SmsProperties smsProperties, ISmsService smsService) {
ISmsService smsService) { this.smsProperties = smsProperties;
this.msConfigProperties = msConfigProperties;
this.smsService = smsService; this.smsService = smsService;
} }
@ -46,13 +45,13 @@ public class SmsInitializer implements BeanPostProcessor, SmartInitializingSingl
// 整个application context refreshed then do // 整个application context refreshed then do
// 可自助调整超时时间 // 可自助调整超时时间
System.setProperty("sun.net.client.defaultConnectTimeout", System.setProperty("sun.net.client.defaultConnectTimeout",
msConfigProperties.getConnnectTimeout()); smsProperties.getConnectTimeout());
System.setProperty("sun.net.client.defaultReadTimeout", System.setProperty("sun.net.client.defaultReadTimeout",
msConfigProperties.getReadTimeout()); smsProperties.getReadTimeout());
// 初始化acsClient,暂不支持region化 // 初始化acsClient,暂不支持region化
try { try {
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou",
SmsConfigProperties.smsProduct, SmsConfigProperties.smsDomain); SmsProperties.smsProduct, SmsProperties.smsDomain);
} }
catch (Exception e) { catch (Exception e) {
log.error("initializer the sms cause an 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) { private void initMessageListener(MessageListener messageListener) {
if (SmsReportMessageListener.class.isInstance(messageListener)) { if (SmsReportMessageListener.class.isInstance(messageListener)) {
if (msConfigProperties.getReportQueueName() != null if (smsProperties.getReportQueueName() != null
&& msConfigProperties.getReportQueueName().trim().length() > 0) { && smsProperties.getReportQueueName().trim().length() > 0) {
smsService.startSmsReportMessageListener( smsService.startSmsReportMessageListener(
(SmsReportMessageListener) messageListener); (SmsReportMessageListener) messageListener);
return; return;
@ -89,8 +88,8 @@ public class SmsInitializer implements BeanPostProcessor, SmartInitializingSingl
if (SmsUpMessageListener.class.isInstance(messageListener)) { if (SmsUpMessageListener.class.isInstance(messageListener)) {
if (msConfigProperties.getUpQueueName() != null if (smsProperties.getUpQueueName() != null
&& msConfigProperties.getUpQueueName().trim().length() > 0) { && smsProperties.getUpQueueName().trim().length() > 0) {
smsService.startSmsUpMessageListener( smsService.startSmsUpMessageListener(
(SmsUpMessageListener) messageListener); (SmsUpMessageListener) messageListener);
return; return;