@@ -1,20 +1,24 @@ | |||
package me.chanjar.weixin.cp.api; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import com.google.inject.Binder; | |||
import com.google.inject.Module; | |||
import com.thoughtworks.xstream.XStream; | |||
import com.thoughtworks.xstream.annotations.XStreamAlias; | |||
import me.chanjar.weixin.common.util.xml.XStreamInitializer; | |||
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl; | |||
import me.chanjar.weixin.cp.config.WxCpConfigStorage; | |||
import me.chanjar.weixin.cp.config.WxCpInMemoryConfigStorage; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
public class ApiTestModule implements Module { | |||
private final Logger log = LoggerFactory.getLogger(this.getClass()); | |||
private static final String TEST_CONFIG_XML = "test-config.xml"; | |||
public static <T> T fromXml(Class<T> clazz, InputStream is) { | |||
private static <T> T fromXml(Class<T> clazz, InputStream is) { | |||
XStream xstream = XStreamInitializer.getInstance(); | |||
xstream.alias("xml", clazz); | |||
xstream.processAnnotations(clazz); | |||
@@ -23,17 +27,19 @@ public class ApiTestModule implements Module { | |||
@Override | |||
public void configure(Binder binder) { | |||
try (InputStream is1 = ClassLoader | |||
.getSystemResourceAsStream("test-config.xml")) { | |||
WxXmlCpInMemoryConfigStorage config = fromXml( | |||
WxXmlCpInMemoryConfigStorage.class, is1); | |||
try (InputStream inputStream = ClassLoader.getSystemResourceAsStream(TEST_CONFIG_XML)) { | |||
if (inputStream == null) { | |||
throw new RuntimeException("测试配置文件【" + TEST_CONFIG_XML + "】未找到,请参照test-config-sample.xml文件生成"); | |||
} | |||
WxXmlCpInMemoryConfigStorage config = fromXml(WxXmlCpInMemoryConfigStorage.class, inputStream); | |||
WxCpService wxService = new WxCpServiceImpl(); | |||
wxService.setWxCpConfigStorage(config); | |||
binder.bind(WxCpService.class).toInstance(wxService); | |||
binder.bind(WxXmlCpInMemoryConfigStorage.class).toInstance(config); | |||
} catch (IOException e) { | |||
e.printStackTrace(); | |||
this.log.error(e.getMessage(), e); | |||
} | |||
} | |||
@@ -1,22 +1,30 @@ | |||
package cn.binarywang.wx.miniapp.test; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.util.concurrent.locks.ReentrantLock; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import cn.binarywang.wx.miniapp.api.WxMaService; | |||
import cn.binarywang.wx.miniapp.config.WxMaConfig; | |||
import com.google.inject.Binder; | |||
import com.google.inject.Module; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.util.concurrent.locks.ReentrantLock; | |||
/** | |||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||
*/ | |||
public class ApiTestModule implements Module { | |||
private final Logger log = LoggerFactory.getLogger(this.getClass()); | |||
private static final String TEST_CONFIG_XML = "test-config.xml"; | |||
@Override | |||
public void configure(Binder binder) { | |||
try (InputStream inputStream = ClassLoader.getSystemResourceAsStream("test-config.xml")) { | |||
try (InputStream inputStream = ClassLoader.getSystemResourceAsStream(TEST_CONFIG_XML)) { | |||
if (inputStream == null) { | |||
throw new RuntimeException("测试配置文件【" + TEST_CONFIG_XML + "】未找到,请参照test-config-sample.xml文件生成"); | |||
} | |||
TestConfig config = TestConfig.fromXml(inputStream); | |||
config.setAccessTokenLock(new ReentrantLock()); | |||
@@ -26,7 +34,7 @@ public class ApiTestModule implements Module { | |||
binder.bind(WxMaService.class).toInstance(wxService); | |||
binder.bind(WxMaConfig.class).toInstance(config); | |||
} catch (IOException e) { | |||
e.printStackTrace(); | |||
this.log.error(e.getMessage(), e); | |||
} | |||
} | |||
@@ -1,5 +1,12 @@ | |||
package me.chanjar.weixin.mp.api.test; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.util.concurrent.locks.ReentrantLock; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import com.google.inject.Binder; | |||
import com.google.inject.Module; | |||
import com.thoughtworks.xstream.XStream; | |||
@@ -8,16 +15,18 @@ import me.chanjar.weixin.mp.api.WxMpConfigStorage; | |||
import me.chanjar.weixin.mp.api.WxMpService; | |||
import me.chanjar.weixin.mp.api.impl.WxMpServiceOkHttpImpl; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.util.concurrent.locks.ReentrantLock; | |||
public class ApiTestModule implements Module { | |||
private final Logger log = LoggerFactory.getLogger(this.getClass()); | |||
private static final String TEST_CONFIG_XML = "test-config.xml"; | |||
@Override | |||
public void configure(Binder binder) { | |||
try (InputStream is1 = ClassLoader.getSystemResourceAsStream("test-config.xml")) { | |||
TestConfigStorage config = this.fromXml(TestConfigStorage.class, is1); | |||
try (InputStream inputStream = ClassLoader.getSystemResourceAsStream(TEST_CONFIG_XML)) { | |||
if (inputStream == null) { | |||
throw new RuntimeException("测试配置文件【" + TEST_CONFIG_XML + "】未找到,请参照test-config-sample.xml文件生成"); | |||
} | |||
TestConfigStorage config = this.fromXml(TestConfigStorage.class, inputStream); | |||
config.setAccessTokenLock(new ReentrantLock()); | |||
WxMpService wxService = new WxMpServiceOkHttpImpl(); | |||
wxService.setWxMpConfigStorage(config); | |||
@@ -25,7 +34,7 @@ public class ApiTestModule implements Module { | |||
binder.bind(WxMpService.class).toInstance(wxService); | |||
binder.bind(WxMpConfigStorage.class).toInstance(config); | |||
} catch (IOException e) { | |||
e.printStackTrace(); | |||
this.log.error(e.getMessage(), e); | |||
} | |||
} | |||
@@ -1,5 +1,11 @@ | |||
package com.github.binarywang.wxpay.testbase; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import com.github.binarywang.wxpay.config.WxPayConfig; | |||
import com.github.binarywang.wxpay.service.WxPayService; | |||
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl; | |||
@@ -8,17 +14,15 @@ import com.google.inject.Module; | |||
import com.thoughtworks.xstream.XStream; | |||
import me.chanjar.weixin.common.util.xml.XStreamInitializer; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
public class ApiTestModule implements Module { | |||
private final Logger log = LoggerFactory.getLogger(this.getClass()); | |||
private static final String TEST_CONFIG_XML = "test-config.xml"; | |||
@Override | |||
public void configure(Binder binder) { | |||
try (InputStream inputStream = ClassLoader.getSystemResourceAsStream(TEST_CONFIG_XML)) { | |||
if (inputStream == null) { | |||
throw new RuntimeException("测试配置文件【" + TEST_CONFIG_XML + "】未找到"); | |||
throw new RuntimeException("测试配置文件【" + TEST_CONFIG_XML + "】未找到,请参照test-config-sample.xml文件生成"); | |||
} | |||
XmlWxPayConfig config = this.fromXml(XmlWxPayConfig.class, inputStream); | |||
@@ -28,8 +32,9 @@ public class ApiTestModule implements Module { | |||
binder.bind(WxPayService.class).toInstance(wxService); | |||
binder.bind(WxPayConfig.class).toInstance(config); | |||
} catch (IOException e) { | |||
e.printStackTrace(); | |||
this.log.error(e.getMessage(), e); | |||
} | |||
} | |||
@SuppressWarnings("unchecked") | |||