notify-component/notify-sms/src/test/java/com/simaek/notify/sms/AliyunSmsTest.java
2022-08-21 21:39:05 +08:00

66 lines
2.5 KiB
Java

package com.simaek.notify.sms;
import com.simaek.notify.*;
import com.simaek.notify.sms.aliyun.AliyunSmsNotifierProvider;
import com.simaek.notify.template.AbstractTemplateManager;
import com.simaek.notify.template.Template;
import com.simaek.notify.template.TemplateManager;
import com.simaek.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());
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());
templateProperties.setTemplate("{\"signName\":\"Hello\",\"phoneNumber\":[\"xueye404@qq.com\"],\"code\":\"1322\"}");
return templateProperties;
}
};
NotifierManager notifierManager = new AbstractNotifierManager(notifyConfigManager){};
AliyunSmsNotifierProvider aliyunSmsNotifierProvider = new AliyunSmsNotifierProvider();
// register
notifierManager.register(aliyunSmsNotifierProvider);
templateManager.register(aliyunSmsNotifierProvider);
Notifier<Template> notifier = notifierManager.getNotifier(DefaultNotifyType.sms, "123");
notifier.send(templateManager.getTemplate(DefaultNotifyType.sms, "124"), new HashMap<>());
}
}