forked from fanruan/finekit
richie
5 years ago
2 changed files with 171 additions and 0 deletions
@ -0,0 +1,96 @@
|
||||
package com.fanruan.api.net; |
||||
|
||||
import com.fr.decision.webservice.url.alias.URLAlias; |
||||
import com.fr.decision.webservice.url.alias.URLAliasFactory; |
||||
|
||||
/** |
||||
* @author richie |
||||
* @version 10.0 |
||||
* Created by richie on 2019-08-19 |
||||
* 路由工具类 |
||||
* 宽泛匹配:/foo 和 /aaa/bbb/foo 是匹配的 |
||||
*/ |
||||
public class URLAliasKit { |
||||
|
||||
/** |
||||
* 创建路由的别名 |
||||
* |
||||
* @param aliasPath 别名 |
||||
* @param targetURL 原始路由 |
||||
* @return 别名对象 |
||||
*/ |
||||
public static URLAlias createRawAlias(String aliasPath, String targetURL) { |
||||
return URLAliasFactory.createRawAlias(aliasPath, targetURL); |
||||
} |
||||
|
||||
/** |
||||
* 创建路由的别名 |
||||
* |
||||
* @param aliasPath 别名 |
||||
* @param targetURL 原始路由 |
||||
* @param wideRange 是否宽泛匹配 |
||||
* @return 别名对象 |
||||
*/ |
||||
public static URLAlias createRawAlias(String aliasPath, String targetURL, boolean wideRange) { |
||||
return URLAliasFactory.createRawAlias(aliasPath, targetURL, wideRange); |
||||
} |
||||
|
||||
/** |
||||
* 创建决策平台的路由别名 |
||||
* |
||||
* @param aliasPath 别名 |
||||
* @param decisionTargetURL 原始路由地址 |
||||
* @return 加了决策平台servlet名字前缀的别名对象 |
||||
*/ |
||||
public static URLAlias createDecisionAlias(String aliasPath, String decisionTargetURL) { |
||||
return URLAliasFactory.createDecisionAlias(aliasPath, decisionTargetURL); |
||||
} |
||||
|
||||
/** |
||||
* 创建决策平台的路由别名 |
||||
* |
||||
* @param aliasPath 别名 |
||||
* @param decisionTargetURL 原始路由地址 |
||||
* @param wideRange 是否宽泛匹配 |
||||
* @return 加了决策平台servlet名字前缀的别名对象 |
||||
*/ |
||||
public static URLAlias createDecisionAlias(String aliasPath, String decisionTargetURL, boolean wideRange) { |
||||
return URLAliasFactory.createDecisionAlias(aliasPath, decisionTargetURL, wideRange); |
||||
} |
||||
|
||||
/** |
||||
* 创建插件的路由别名 |
||||
* |
||||
* @param aliasPath 别名 |
||||
* @param pluginPath 插件请求地址 |
||||
* @return 别名对象 |
||||
*/ |
||||
public static URLAlias createPluginAlias(String aliasPath, String pluginPath) { |
||||
return URLAliasFactory.createPluginAlias(aliasPath, pluginPath); |
||||
} |
||||
|
||||
/** |
||||
* 创建插件的路由别名 |
||||
* |
||||
* @param aliasPath 别名 |
||||
* @param pluginPath 插件请求地址 |
||||
* @param isPublic 是否为公开可访问的地址 |
||||
* @return 别名对象 |
||||
*/ |
||||
public static URLAlias createPluginAlias(String aliasPath, String pluginPath, boolean isPublic) { |
||||
return URLAliasFactory.createPluginAlias(aliasPath, pluginPath, isPublic); |
||||
} |
||||
|
||||
/** |
||||
* 创建插件的路由别名 |
||||
* |
||||
* @param aliasPath 别名 |
||||
* @param pluginPath 插件请求地址 |
||||
* @param isPublic 是否为公开可访问的地址 |
||||
* @param wideRange 是否宽泛匹配 |
||||
* @return 别名对象 |
||||
*/ |
||||
public static URLAlias createPluginAlias(String aliasPath, String pluginPath, boolean isPublic, boolean wideRange) { |
||||
return URLAliasFactory.createPluginAlias(aliasPath, pluginPath, isPublic, wideRange); |
||||
} |
||||
} |
@ -0,0 +1,75 @@
|
||||
package com.fanruan.api.net; |
||||
|
||||
import com.fanruan.api.Prepare; |
||||
import com.fr.decision.webservice.url.alias.URLAlias; |
||||
import com.fr.decision.webservice.url.alias.impl.PluginURLAlias; |
||||
import org.junit.Assert; |
||||
import org.junit.Test; |
||||
|
||||
/** |
||||
* @author richie |
||||
* @version 10.0 |
||||
* Created by richie on 2019-08-19 |
||||
*/ |
||||
public class URLAliasKitTest extends Prepare { |
||||
|
||||
@Test |
||||
public void raw() { |
||||
URLAlias alias = URLAliasKit.createRawAlias("/foo", "/aaa/bbb/foo"); |
||||
Assert.assertEquals(alias.getShortPath(), "/foo"); |
||||
Assert.assertEquals(alias.getTargetURL(), "/aaa/bbb/foo"); |
||||
Assert.assertFalse(alias.isWideRange()); |
||||
} |
||||
|
||||
@Test |
||||
public void raw2() { |
||||
URLAlias alias = URLAliasKit.createRawAlias("/foo", "/aaa/bbb/foo", true); |
||||
Assert.assertEquals(alias.getShortPath(), "/foo"); |
||||
Assert.assertEquals(alias.getTargetURL(), "/aaa/bbb/foo"); |
||||
Assert.assertTrue(alias.isWideRange()); |
||||
} |
||||
|
||||
@Test |
||||
public void decision() { |
||||
URLAlias alias = URLAliasKit.createDecisionAlias("/foo", "/aaa/bbb/foo"); |
||||
Assert.assertEquals(alias.getShortPath(), "/foo"); |
||||
Assert.assertEquals(alias.getTargetURL(), "/decision/aaa/bbb/foo"); |
||||
Assert.assertFalse(alias.isWideRange()); |
||||
} |
||||
|
||||
@Test |
||||
public void decision2() { |
||||
URLAlias alias = URLAliasKit.createDecisionAlias("/foo", "/aaa/bbb/foo", true); |
||||
Assert.assertEquals(alias.getShortPath(), "/foo"); |
||||
Assert.assertEquals(alias.getTargetURL(), "/decision/aaa/bbb/foo"); |
||||
Assert.assertTrue(alias.isWideRange()); |
||||
} |
||||
|
||||
@Test |
||||
public void plugin() { |
||||
URLAlias alias = URLAliasKit.createPluginAlias("/foo", "/aaa/bbb/foo"); |
||||
((PluginURLAlias)alias).setPluginId("abcd"); |
||||
Assert.assertEquals(alias.getShortPath(), "/foo"); |
||||
Assert.assertEquals(alias.getTargetURL(), "/decision/plugin/private/abcd/aaa/bbb/foo"); |
||||
Assert.assertFalse(alias.isWideRange()); |
||||
} |
||||
|
||||
@Test |
||||
public void plugin2() { |
||||
URLAlias alias = URLAliasKit.createPluginAlias("/foo", "/aaa/bbb/foo", true); |
||||
((PluginURLAlias)alias).setPluginId("abcd"); |
||||
Assert.assertEquals(alias.getShortPath(), "/foo"); |
||||
Assert.assertEquals(alias.getTargetURL(), "/decision/plugin/public/abcd/aaa/bbb/foo"); |
||||
Assert.assertFalse(alias.isWideRange()); |
||||
} |
||||
|
||||
@Test |
||||
public void plugin3() { |
||||
URLAlias alias = URLAliasKit.createPluginAlias("/foo", "/aaa/bbb/foo", true, true); |
||||
((PluginURLAlias)alias).setPluginId("abcd"); |
||||
Assert.assertEquals(alias.getShortPath(), "/foo"); |
||||
Assert.assertEquals(alias.getTargetURL(), "/decision/plugin/public/abcd/aaa/bbb/foo"); |
||||
Assert.assertTrue(alias.isWideRange()); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue