notify-component/notify-sms/src/test/java/com/cicdi/notify/sms/AliyunSmsTest.java

66 lines
2.5 KiB
Java
Raw Normal View History

2021-07-02 15:01:18 +08:00
package com.cicdi.notify.sms;
import com.cicdi.notify.*;
import com.cicdi.notify.sms.aliyun.AliyunSmsNotifierProvider;
import com.cicdi.notify.template.AbstractTemplateManager;
import com.cicdi.notify.template.Template;
import com.cicdi.notify.template.TemplateManager;
import com.cicdi.notify.template.TemplateProperties;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
/**
* @author xueye
*/
public class AliyunSmsTest {
@Test
public void test() {
// 通知器配置管理器
NotifyConfigManager notifyConfigManager = new NotifyConfigManager() {
@Override
public NotifierProperties getNotifyConfig(NotifyType notifyType, String configId) {
NotifierProperties notifierProperties = new NotifierProperties();
notifierProperties.setType(DefaultNotifyType.sms.getId());
notifierProperties.setProvider(SmsProvider.aliyun.getId());
2021-07-02 15:01:18 +08:00
notifierProperties.setId("12");
Map<String, Object> config = new HashMap<>();
config.put("regionId", "");
config.put("accessKeyId", "");
config.put("secret", "");
notifierProperties.setConfiguration(config);
return notifierProperties;
}
};
// 模板管理器
TemplateManager templateManager = new AbstractTemplateManager() {
@Override
protected TemplateProperties getProperties(NotifyType type, String id) {
TemplateProperties templateProperties = new TemplateProperties();
templateProperties.setType(DefaultNotifyType.sms.getId());
templateProperties.setProvider(SmsProvider.aliyun.getId());
2021-07-02 15:01:18 +08:00
templateProperties.setTemplate("{\"signName\":\"Hello\",\"phoneNumber\":[\"xueye404@qq.com\"],\"code\":\"1322\"}");
return templateProperties;
}
};
2021-07-03 18:22:09 +08:00
NotifierManager notifierManager = new AbstractNotifierManager(notifyConfigManager){};
AliyunSmsNotifierProvider aliyunSmsNotifierProvider = new AliyunSmsNotifierProvider();
2021-07-02 15:01:18 +08:00
// register
2021-07-03 22:13:26 +08:00
notifierManager.register(aliyunSmsNotifierProvider);
2021-07-02 15:01:18 +08:00
templateManager.register(aliyunSmsNotifierProvider);
Notifier<Template> notifier = notifierManager.getNotifier(DefaultNotifyType.sms, "123");
notifier.send(templateManager.getTemplate(DefaultNotifyType.sms, "124"), new HashMap<>());
}
}