单元测试由Junit4变更为Junit5

This commit is contained in:
Looly
2024-08-09 14:32:30 +08:00
parent 155c43a6a3
commit c7e0bc5d9f
568 changed files with 7794 additions and 7671 deletions

View File

@@ -1,8 +1,8 @@
package cn.hutool.http;
import cn.hutool.core.util.CharsetUtil;
import org.junit.Assert;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
/**
* ContentType 单元测试
@@ -14,7 +14,7 @@ public class ContentTypeTest {
@Test
public void testBuild() {
String result = ContentType.build(ContentType.JSON, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("application/json;charset=UTF-8", result);
assertEquals("application/json;charset=UTF-8", result);
}
@Test
@@ -23,6 +23,6 @@ public class ContentTypeTest {
" \"name\": \"hutool\"\n" +
" }";
ContentType contentType = ContentType.get(json);
Assert.assertEquals(ContentType.JSON, contentType);
assertEquals(ContentType.JSON, contentType);
}
}

View File

@@ -4,9 +4,9 @@ import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.StreamProgress;
import cn.hutool.core.lang.Console;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;
@@ -22,7 +22,7 @@ import java.util.UUID;
public class DownloadTest {
@Test
@Ignore
@Disabled
public void downloadPicTest() {
final String url = "http://wx.qlogo.cn/mmopen/vKhlFcibVUtNBVDjcIowlg0X8aJfHXrTNCEFBukWVH9ta99pfEN88lU39MKspCUCOP3yrFBH3y2NbV7sYtIIlon8XxLwAEqv2/0";
HttpUtil.downloadFile(url, "e:/pic/t3.jpg");
@@ -30,21 +30,21 @@ public class DownloadTest {
}
@Test
@Ignore
@Disabled
public void downloadSizeTest() {
final String url = "https://res.t-io.org/im/upload/img/67/8948/1119501/88097554/74541310922/85/231910/366466 - 副本.jpg";
HttpRequest.get(url).setSSLProtocol("TLSv1.2").executeAsync().writeBody("e:/pic/366466.jpg");
}
@Test
@Ignore
@Disabled
public void downloadTest1() {
final long size = HttpUtil.downloadFile("http://explorer.bbfriend.com/crossdomain.xml", "e:/temp/");
System.out.println("Download size: " + size);
}
@Test
@Ignore
@Disabled
public void downloadTest() {
// 带进度显示的文件下载
HttpUtil.downloadFile("http://mirrors.sohu.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso", FileUtil.file("d:/"), new StreamProgress() {
@@ -70,16 +70,16 @@ public class DownloadTest {
}
@Test
@Ignore
@Disabled
public void downloadFileFromUrlTest1() {
final File file = HttpUtil.downloadFileFromUrl("http://groovy-lang.org/changelogs/changelog-3.0.5.html", "d:/download/temp");
Assert.assertNotNull(file);
Assert.assertTrue(file.isFile());
Assert.assertTrue(file.length() > 0);
assertNotNull(file);
assertTrue(file.isFile());
assertTrue(file.length() > 0);
}
@Test
@Ignore
@Disabled
public void downloadFileFromUrlTest2() {
File file = null;
try {
@@ -100,20 +100,20 @@ public class DownloadTest {
}
});
Assert.assertNotNull(file);
Assert.assertTrue(file.exists());
Assert.assertTrue(file.isFile());
Assert.assertTrue(file.length() > 0);
Assert.assertTrue(file.getName().length() > 0);
assertNotNull(file);
assertTrue(file.exists());
assertTrue(file.isFile());
assertTrue(file.length() > 0);
assertTrue(file.getName().length() > 0);
} catch (final Exception e) {
Assert.assertTrue(e instanceof IORuntimeException);
assertTrue(e instanceof IORuntimeException);
} finally {
FileUtil.del(file);
}
}
@Test
@Ignore
@Disabled
public void downloadFileFromUrlTest3() {
File file = null;
try {
@@ -134,30 +134,30 @@ public class DownloadTest {
}
});
Assert.assertNotNull(file);
Assert.assertTrue(file.exists());
Assert.assertTrue(file.isFile());
Assert.assertTrue(file.length() > 0);
Assert.assertTrue(file.getName().length() > 0);
assertNotNull(file);
assertTrue(file.exists());
assertTrue(file.isFile());
assertTrue(file.length() > 0);
assertTrue(file.getName().length() > 0);
} finally {
FileUtil.del(file);
}
}
@Test
@Ignore
@Disabled
public void downloadFileFromUrlTest4() {
File file = null;
try {
file = HttpUtil.downloadFileFromUrl("http://groovy-lang.org/changelogs/changelog-3.0.5.html", FileUtil.file("d:/download/temp"), 1);
Assert.assertNotNull(file);
Assert.assertTrue(file.exists());
Assert.assertTrue(file.isFile());
Assert.assertTrue(file.length() > 0);
Assert.assertTrue(file.getName().length() > 0);
assertNotNull(file);
assertTrue(file.exists());
assertTrue(file.isFile());
assertTrue(file.length() > 0);
assertTrue(file.getName().length() > 0);
} catch (final Exception e) {
Assert.assertTrue(e instanceof IORuntimeException);
assertTrue(e instanceof IORuntimeException);
} finally {
FileUtil.del(file);
}
@@ -165,16 +165,16 @@ public class DownloadTest {
@Test
@Ignore
@Disabled
public void downloadFileFromUrlTest5() {
File file = null;
try {
file = HttpUtil.downloadFileFromUrl("http://groovy-lang.org/changelogs/changelog-3.0.5.html", FileUtil.file("d:/download/temp", UUID.randomUUID().toString()));
Assert.assertNotNull(file);
Assert.assertTrue(file.exists());
Assert.assertTrue(file.isFile());
Assert.assertTrue(file.length() > 0);
assertNotNull(file);
assertTrue(file.exists());
assertTrue(file.isFile());
assertTrue(file.length() > 0);
} finally {
FileUtil.del(file);
}
@@ -183,17 +183,17 @@ public class DownloadTest {
try {
file1 = HttpUtil.downloadFileFromUrl("http://groovy-lang.org/changelogs/changelog-3.0.5.html", FileUtil.file("d:/download/temp"));
Assert.assertNotNull(file1);
Assert.assertTrue(file1.exists());
Assert.assertTrue(file1.isFile());
Assert.assertTrue(file1.length() > 0);
assertNotNull(file1);
assertTrue(file1.exists());
assertTrue(file1.isFile());
assertTrue(file1.length() > 0);
} finally {
FileUtil.del(file1);
}
}
@Test
@Ignore
@Disabled
public void downloadTeamViewerTest() throws IOException {
// 此URL有3次重定向, 需要请求4次
final String url = "https://download.teamviewer.com/download/TeamViewer_Setup_x64.exe";

View File

@@ -1,7 +1,7 @@
package cn.hutool.http;
import org.junit.Assert;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
public class HTMLFilterTest {
@Test
@@ -11,9 +11,9 @@ public class HTMLFilterTest {
final HTMLFilter htmlFilter = new HTMLFilter();
String filter = htmlFilter.filter(p1);
Assert.assertEquals("<p>a</p>", filter);
assertEquals("<p>a</p>", filter);
filter = htmlFilter.filter(p2);
Assert.assertEquals("<p>a</p>", filter);
assertEquals("<p>a</p>", filter);
}
}

View File

@@ -1,7 +1,7 @@
package cn.hutool.http;
import org.junit.Assert;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
/**
* Html单元测试
@@ -16,32 +16,32 @@ public class HtmlUtilTest {
//非闭合标签
String str = "pre<img src=\"xxx/dfdsfds/test.jpg\">";
String result = HtmlUtil.removeHtmlTag(str, "img");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img>";
result = HtmlUtil.removeHtmlTag(str, "img");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img src=\"xxx/dfdsfds/test.jpg\" />";
result = HtmlUtil.removeHtmlTag(str, "img");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img />";
result = HtmlUtil.removeHtmlTag(str, "img");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//包含内容标签
str = "pre<div class=\"test_div\">dfdsfdsfdsf</div>";
result = HtmlUtil.removeHtmlTag(str, "div");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//带换行
str = "pre<div class=\"test_div\">\r\n\t\tdfdsfdsfdsf\r\n</div>";
result = HtmlUtil.removeHtmlTag(str, "div");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
}
@Test
@@ -49,32 +49,32 @@ public class HtmlUtilTest {
//非闭合标签
String str = "pre<img src=\"xxx/dfdsfds/test.jpg\">";
String result = HtmlUtil.cleanHtmlTag(str);
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img>";
result = HtmlUtil.cleanHtmlTag(str);
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img src=\"xxx/dfdsfds/test.jpg\" />";
result = HtmlUtil.cleanHtmlTag(str);
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img />";
result = HtmlUtil.cleanHtmlTag(str);
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//包含内容标签
str = "pre<div class=\"test_div\">dfdsfdsfdsf</div>";
result = HtmlUtil.cleanHtmlTag(str);
Assert.assertEquals("predfdsfdsfdsf", result);
assertEquals("predfdsfdsfdsf", result);
//带换行
str = "pre<div class=\"test_div\">\r\n\t\tdfdsfdsfdsf\r\n</div><div class=\"test_div\">BBBB</div>";
result = HtmlUtil.cleanHtmlTag(str);
Assert.assertEquals("pre\r\n\t\tdfdsfdsfdsf\r\nBBBB", result);
assertEquals("pre\r\n\t\tdfdsfdsfdsf\r\nBBBB", result);
}
@Test
@@ -82,37 +82,37 @@ public class HtmlUtilTest {
//非闭合标签
String str = "pre<img src=\"xxx/dfdsfds/test.jpg\">";
String result = HtmlUtil.unwrapHtmlTag(str, "img");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img>";
result = HtmlUtil.unwrapHtmlTag(str, "img");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img src=\"xxx/dfdsfds/test.jpg\" />";
result = HtmlUtil.unwrapHtmlTag(str, "img");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img />";
result = HtmlUtil.unwrapHtmlTag(str, "img");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//闭合标签
str = "pre<img/>";
result = HtmlUtil.unwrapHtmlTag(str, "img");
Assert.assertEquals("pre", result);
assertEquals("pre", result);
//包含内容标签
str = "pre<div class=\"test_div\">abc</div>";
result = HtmlUtil.unwrapHtmlTag(str, "div");
Assert.assertEquals("preabc", result);
assertEquals("preabc", result);
//带换行
str = "pre<div class=\"test_div\">\r\n\t\tabc\r\n</div>";
result = HtmlUtil.unwrapHtmlTag(str, "div");
Assert.assertEquals("pre\r\n\t\tabc\r\n", result);
assertEquals("pre\r\n\t\tabc\r\n", result);
}
@Test
@@ -121,34 +121,34 @@ public class HtmlUtilTest {
final String htmlString = "<html><img src='aaa'><i>测试文本</i></html>";
final String tagString = "i,br";
final String cleanTxt = HtmlUtil.removeHtmlTag(htmlString, false, tagString.split(","));
Assert.assertEquals("<html><img src='aaa'>测试文本</html>", cleanTxt);
assertEquals("<html><img src='aaa'>测试文本</html>", cleanTxt);
}
@Test
public void escapeTest() {
final String html = "<html><body>123'123'</body></html>";
final String escape = HtmlUtil.escape(html);
Assert.assertEquals("&lt;html&gt;&lt;body&gt;123&#039;123&#039;&lt;/body&gt;&lt;/html&gt;", escape);
assertEquals("&lt;html&gt;&lt;body&gt;123&#039;123&#039;&lt;/body&gt;&lt;/html&gt;", escape);
final String restoreEscaped = HtmlUtil.unescape(escape);
Assert.assertEquals(html, restoreEscaped);
Assert.assertEquals("'", HtmlUtil.unescape("&apos;"));
assertEquals(html, restoreEscaped);
assertEquals("'", HtmlUtil.unescape("&apos;"));
}
@Test
public void escapeTest2() {
final char c = ' '; // 不断开空格non-breaking space缩写nbsp。)
Assert.assertEquals(c, 160);
assertEquals(c, 160);
final String html = "<html><body> </body></html>";
final String escape = HtmlUtil.escape(html);
Assert.assertEquals("&lt;html&gt;&lt;body&gt;&nbsp;&lt;/body&gt;&lt;/html&gt;", escape);
Assert.assertEquals(" ", HtmlUtil.unescape("&nbsp;"));
assertEquals("&lt;html&gt;&lt;body&gt;&nbsp;&lt;/body&gt;&lt;/html&gt;", escape);
assertEquals(" ", HtmlUtil.unescape("&nbsp;"));
}
@Test
public void filterTest() {
final String html = "<alert></alert>";
final String filter = HtmlUtil.filter(html);
Assert.assertEquals("", filter);
assertEquals("", filter);
}
@Test
@@ -157,39 +157,39 @@ public class HtmlUtilTest {
// 去除的属性加双引号测试
String html = "<div class=\"test_div\"></div><span class=\"test_div\"></span>";
String result = HtmlUtil.removeHtmlAttr(html, "class");
Assert.assertEquals("<div></div><span></span>", result);
assertEquals("<div></div><span></span>", result);
// 去除的属性后跟空格、加单引号、不加引号测试
html = "<div class=test_div></div><span Class='test_div' ></span>";
result = HtmlUtil.removeHtmlAttr(html, "class");
Assert.assertEquals("<div></div><span></span>", result);
assertEquals("<div></div><span></span>", result);
// 去除的属性位于标签末尾、其它属性前测试
html = "<div style=\"margin:100%\" class=test_div></div><span Class='test_div' width=100></span>";
result = HtmlUtil.removeHtmlAttr(html, "class");
Assert.assertEquals("<div style=\"margin:100%\"></div><span width=100></span>", result);
assertEquals("<div style=\"margin:100%\"></div><span width=100></span>", result);
// 去除的属性名和值之间存在空格
html = "<div style = \"margin:100%\" class = test_div></div><span Class = 'test_div' width=100></span>";
result = HtmlUtil.removeHtmlAttr(html, "class");
Assert.assertEquals("<div style = \"margin:100%\"></div><span width=100></span>", result);
assertEquals("<div style = \"margin:100%\"></div><span width=100></span>", result);
}
@Test
public void removeAllHtmlAttrTest() {
final String html = "<div class=\"test_div\" width=\"120\"></div>";
final String result = HtmlUtil.removeAllHtmlAttr(html, "div");
Assert.assertEquals("<div></div>", result);
assertEquals("<div></div>", result);
}
@Test
public void issueI6YNTFTest() {
String html = "<html><body><div class=\"a1 a2\">hello world</div></body></html>";
String cleanText = HtmlUtil.removeHtmlAttr(html,"class");
Assert.assertEquals("<html><body><div>hello world</div></body></html>", cleanText);
assertEquals("<html><body><div>hello world</div></body></html>", cleanText);
html = "<html><body><div class=a1>hello world</div></body></html>";
cleanText = HtmlUtil.removeHtmlAttr(html,"class");
Assert.assertEquals("<html><body><div>hello world</div></body></html>", cleanText);
assertEquals("<html><body><div>hello world</div></body></html>", cleanText);
}
}

View File

@@ -1,6 +1,6 @@
package cn.hutool.http;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class HttpGlobalConfigTest {
@Test

View File

@@ -7,8 +7,8 @@ import cn.hutool.core.lang.Console;
import cn.hutool.core.net.SSLProtocols;
import cn.hutool.core.net.url.UrlBuilder;
import cn.hutool.core.util.CharsetUtil;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.net.CookieManager;
import java.net.HttpCookie;
@@ -26,14 +26,14 @@ public class HttpRequestTest {
final String url = "http://photo.qzone.qq.com/fcgi-bin/fcg_list_album?uin=88888&outstyle=2";
@Test
@Ignore
@Disabled
public void getHttpsTest() {
final String body = HttpRequest.get("https://www.hutool.cn/").timeout(10).execute().body();
Console.log(body);
}
@Test
@Ignore
@Disabled
public void getHttpsThenTest() {
HttpRequest
.get("https://hutool.cn")
@@ -41,7 +41,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void getCookiesTest() {
// 检查在Connection关闭情况下Cookie是否可以正常获取
final HttpResponse res = HttpRequest.get("https://www.oschina.net/").execute();
@@ -51,7 +51,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void toStringTest() {
final String url = "https://hutool.cn?ccc=你好";
@@ -60,7 +60,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void asyncHeadTest() {
final HttpResponse response = HttpRequest.head(url).execute();
final Map<String, List<String>> headers = response.headers();
@@ -69,7 +69,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void asyncGetTest() {
final TimeInterval timer = DateUtil.timer();
final HttpResponse body = HttpRequest.get(url).charset("GBK").executeAsync();
@@ -81,7 +81,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void syncGetTest() {
final TimeInterval timer = DateUtil.timer();
final HttpResponse body = HttpRequest.get(url).charset("GBK").execute();
@@ -93,7 +93,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void customGetTest() {
// 自定义构建HTTP GET请求发送Http GET请求针对HTTPS安全加密可以自定义SSL
final HttpRequest request = HttpRequest.get(url)
@@ -107,7 +107,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void getDeflateTest() {
final String res = HttpRequest.get("https://comment.bilibili.com/67573272.xml")
.execute().body();
@@ -115,7 +115,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void bodyTest() {
final String ddddd1 = HttpRequest.get("https://baijiahao.baidu.com/s").body("id=1625528941695652600").execute().body();
Console.log(ddddd1);
@@ -125,7 +125,7 @@ public class HttpRequestTest {
* 测试GET请求附带body体是否会变更为POST
*/
@Test
@Ignore
@Disabled
public void getLocalTest() {
final List<String> list = new ArrayList<>();
list.add("hhhhh");
@@ -144,7 +144,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void getWithoutEncodeTest() {
final String url = "https://img-cloud.voc.com.cn/140/2020/09/03/c3d41b93e0d32138574af8e8b50928b376ca5ba61599127028157.png?imageMogr2/auto-orient/thumbnail/500&pid=259848";
final HttpRequest get = HttpUtil.createGet(url);
@@ -154,7 +154,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void followRedirectsTest() {
// 从5.7.19开始关闭JDK的自动重定向功能改为手动重定向
// 当有多层重定向时JDK的重定向会失效或者说只有最后一个重定向有效因此改为手动更易控制次数
@@ -173,7 +173,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void followRedirectsCookieTrueTest() {
final String url = "http://localhost:8888/redirect1";
CookieManager cookieManager = new CookieManager();
@@ -187,7 +187,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void followRedirectsCookieFalseTest() {
final String url = "http://localhost:8888/redirect1";
CookieManager cookieManager = new CookieManager();
@@ -200,7 +200,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void addInterceptorTest() {
HttpUtil.createGet("https://hutool.cn")
.addInterceptor(Console::log)
@@ -209,14 +209,14 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void addGlobalInterceptorTest() {
GlobalInterceptor.INSTANCE.addRequestInterceptor(Console::log);
HttpUtil.createGet("https://hutool.cn").execute();
}
@Test
@Ignore
@Disabled
public void getWithFormTest(){
final String url = "https://postman-echo.com/get";
final Map<String, Object> map = new HashMap<>();
@@ -226,7 +226,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void urlWithParamIfGetTest(){
final UrlBuilder urlBuilder = new UrlBuilder();
urlBuilder.setScheme("https").setHost("hutool.cn");
@@ -236,21 +236,21 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void issueI5Y68WTest() {
final HttpResponse httpResponse = HttpRequest.get("http://82.157.17.173:8100/app/getAddress").execute();
Console.log(httpResponse.body());
}
@Test
@Ignore
@Disabled
public void issueIAAE88Test() {
final HttpRequest request = HttpRequest.of("http://127.0.0.1:8003/com.rnd.aiq:message/message/getName/15", null);
Console.log(request);
}
@Test
@Ignore
@Disabled
public void testHttpResource() {
HttpRequest httpRequest = HttpRequest.post("http://127.0.0.1:8080/testHttpResource");
@@ -264,7 +264,7 @@ public class HttpRequestTest {
}
@Test
@Ignore
@Disabled
public void issueIAAOC1Test() {
HttpGlobalConfig.setDecodeUrl(true);
HttpRequest request = HttpRequest.get("http://localhost:9999/qms/bus/qmsBusReportCenterData/getReportDataList?reportProcessNo=A00&goodsName=工业硫酸98%&conReportTypeId=1010100000000000007&measureDateStr=2024-07-01");

View File

@@ -7,9 +7,9 @@ import cn.hutool.core.net.NetUtil;
import cn.hutool.core.net.url.UrlBuilder;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ReUtil;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.util.LinkedHashMap;
@@ -21,21 +21,21 @@ public class HttpUtilTest {
@Test
public void isHttpTest(){
Assert.assertTrue(HttpUtil.isHttp("Http://aaa.bbb"));
Assert.assertTrue(HttpUtil.isHttp("HTTP://aaa.bbb"));
Assert.assertFalse(HttpUtil.isHttp("FTP://aaa.bbb"));
assertTrue(HttpUtil.isHttp("Http://aaa.bbb"));
assertTrue(HttpUtil.isHttp("HTTP://aaa.bbb"));
assertFalse(HttpUtil.isHttp("FTP://aaa.bbb"));
}
@Test
public void isHttpsTest(){
Assert.assertTrue(HttpUtil.isHttps("Https://aaa.bbb"));
Assert.assertTrue(HttpUtil.isHttps("HTTPS://aaa.bbb"));
Assert.assertTrue(HttpUtil.isHttps("https://aaa.bbb"));
Assert.assertFalse(HttpUtil.isHttps("ftp://aaa.bbb"));
assertTrue(HttpUtil.isHttps("Https://aaa.bbb"));
assertTrue(HttpUtil.isHttps("HTTPS://aaa.bbb"));
assertTrue(HttpUtil.isHttps("https://aaa.bbb"));
assertFalse(HttpUtil.isHttps("ftp://aaa.bbb"));
}
@Test
@Ignore
@Disabled
public void postTest() {
final String result = HttpUtil.createPost("api.uhaozu.com/goods/description/1120448506")
.charset(CharsetUtil.UTF_8)
@@ -44,7 +44,7 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void postTest2() {
// 某些接口对Accept头有特殊要求此处自定义头
final String result = HttpUtil
@@ -56,14 +56,14 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void getTest() {
final String result1 = HttpUtil.get("http://photo.qzone.qq.com/fcgi-bin/fcg_list_album?uin=88888&outstyle=2", CharsetUtil.CHARSET_GBK);
Console.log(result1);
}
@Test
@Ignore
@Disabled
public void getTest2() {
// 此链接较为特殊User-Agent去掉后进入一个JS跳转页面如果设置了需要开启302跳转
// 自定义的默认header无效
@@ -74,7 +74,7 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void getTest3() {
// 测试url中带有空格的情况
final String result1 = HttpUtil.get("http://hutool.cn:5000/kf?abc= d");
@@ -82,7 +82,7 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void getTest4() {
// 测试url中带有空格的情况
final byte[] str = HttpRequest.get("http://img01.fs.yiban.cn/mobile/2D0Y71").execute().bodyBytes();
@@ -92,7 +92,7 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void getTest5() {
String url2 = "http://storage.chancecloud.com.cn/20200413_%E7%B2%A4B12313_386.pdf";
final ByteArrayOutputStream os2 = new ByteArrayOutputStream();
@@ -103,7 +103,7 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void get12306Test() {
HttpRequest.get("https://kyfw.12306.cn/otn/")
.setFollowRedirects(true)
@@ -111,7 +111,7 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void downloadStringTest() {
final String url = "https://www.baidu.com";
// 从远程直接读取字符串需要自定义编码直接调用JDK方法
@@ -120,7 +120,7 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void oschinaTest() {
// 请求列表页
String listContent = HttpUtil.get("https://www.oschina.net/action/ajax/get_more_news_list?newsType=&p=2");
@@ -140,17 +140,17 @@ public class HttpUtilTest {
public void decodeParamsTest() {
final String paramsStr = "uuuu=0&a=b&c=%3F%23%40!%24%25%5E%26%3Ddsssss555555";
final Map<String, List<String>> map = HttpUtil.decodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("0", map.get("uuuu").get(0));
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("?#@!$%^&=dsssss555555", map.get("c").get(0));
assertEquals("0", map.get("uuuu").get(0));
assertEquals("b", map.get("a").get(0));
assertEquals("?#@!$%^&=dsssss555555", map.get("c").get(0));
}
@Test
public void decodeParamMapTest() {
// 参数值存在分界标记等号时
final Map<String, String> paramMap = HttpUtil.decodeParamMap("https://www.xxx.com/api.action?aa=123&f_token=NzBkMjQxNDM1MDVlMDliZTk1OTU3ZDI1OTI0NTBiOWQ=", CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("123",paramMap.get("aa"));
Assert.assertEquals("NzBkMjQxNDM1MDVlMDliZTk1OTU3ZDI1OTI0NTBiOWQ=",paramMap.get("f_token"));
assertEquals("123",paramMap.get("aa"));
assertEquals("NzBkMjQxNDM1MDVlMDliZTk1OTU3ZDI1OTI0NTBiOWQ=",paramMap.get("f_token"));
}
@Test
@@ -159,7 +159,7 @@ public class HttpUtilTest {
final Map<String, List<String>> map = HttpUtil.decodeParams(paramsStr, CharsetUtil.UTF_8);
final String encodedParams = HttpUtil.toParams(map);
Assert.assertEquals(paramsStr, encodedParams);
assertEquals(paramsStr, encodedParams);
}
@Test
@@ -167,52 +167,52 @@ public class HttpUtilTest {
// ?单独存在去除之,&单位位于末尾去除之
String paramsStr = "?a=b&c=d&";
String encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("a=b&c=d", encode);
assertEquals("a=b&c=d", encode);
// url不参与转码
paramsStr = "http://www.abc.dd?a=b&c=d&";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("http://www.abc.dd?a=b&c=d", encode);
assertEquals("http://www.abc.dd?a=b&c=d", encode);
// b=b中的=被当作值的一部分不做encode
paramsStr = "a=b=b&c=d&";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("a=b=b&c=d", encode);
assertEquals("a=b=b&c=d", encode);
// =d的情况被处理为key为空
paramsStr = "a=bbb&c=d&=d";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("a=bbb&c=d&=d", encode);
assertEquals("a=bbb&c=d&=d", encode);
// d=的情况被处理为value为空
paramsStr = "a=bbb&c=d&d=";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("a=bbb&c=d&d=", encode);
assertEquals("a=bbb&c=d&d=", encode);
// 多个&&被处理为单个,相当于空条件
paramsStr = "a=bbb&c=d&&&d=";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("a=bbb&c=d&d=", encode);
assertEquals("a=bbb&c=d&d=", encode);
// &d&相当于只有键,无值得情况
paramsStr = "a=bbb&c=d&d&";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("a=bbb&c=d&d=", encode);
assertEquals("a=bbb&c=d&d=", encode);
// 中文的键和值被编码
paramsStr = "a=bbb&c=你好&哈喽&";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("a=bbb&c=%E4%BD%A0%E5%A5%BD&%E5%93%88%E5%96%BD=", encode);
assertEquals("a=bbb&c=%E4%BD%A0%E5%A5%BD&%E5%93%88%E5%96%BD=", encode);
// URL原样输出
paramsStr = "https://www.hutool.cn/";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals(paramsStr, encode);
assertEquals(paramsStr, encode);
// URL原样输出
paramsStr = "https://www.hutool.cn/?";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("https://www.hutool.cn/", encode);
assertEquals("https://www.hutool.cn/", encode);
}
@Test
@@ -220,55 +220,55 @@ public class HttpUtilTest {
// 开头的?被去除
String a = "?a=b&c=d&";
Map<String, List<String>> map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
assertEquals("b", map.get("a").get(0));
assertEquals("d", map.get("c").get(0));
// =e被当作空为keye为value
a = "?a=b&c=d&=e";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertEquals("e", map.get("").get(0));
assertEquals("b", map.get("a").get(0));
assertEquals("d", map.get("c").get(0));
assertEquals("e", map.get("").get(0));
// 多余的&去除
a = "?a=b&c=d&=e&&&&";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertEquals("e", map.get("").get(0));
assertEquals("b", map.get("a").get(0));
assertEquals("d", map.get("c").get(0));
assertEquals("e", map.get("").get(0));
// 值为空
a = "?a=b&c=d&e=";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertEquals("", map.get("e").get(0));
assertEquals("b", map.get("a").get(0));
assertEquals("d", map.get("c").get(0));
assertEquals("", map.get("e").get(0));
// &=被作为键和值都为空
a = "a=b&c=d&=";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertEquals("", map.get("").get(0));
assertEquals("b", map.get("a").get(0));
assertEquals("d", map.get("c").get(0));
assertEquals("", map.get("").get(0));
// &e&这类单独的字符串被当作key
a = "a=b&c=d&e&";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertNull(map.get("e").get(0));
Assert.assertNull(map.get("").get(0));
assertEquals("b", map.get("a").get(0));
assertEquals("d", map.get("c").get(0));
assertNull(map.get("e").get(0));
assertNull(map.get("").get(0));
// 被编码的键和值被还原
a = "a=bbb&c=%E4%BD%A0%E5%A5%BD&%E5%93%88%E5%96%BD=";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
Assert.assertEquals("bbb", map.get("a").get(0));
Assert.assertEquals("你好", map.get("c").get(0));
Assert.assertEquals("", map.get("哈喽").get(0));
assertEquals("bbb", map.get("a").get(0));
assertEquals("你好", map.get("c").get(0));
assertEquals("", map.get("哈喽").get(0));
}
@Test
@Ignore
@Disabled
public void patchTest() {
// 验证patch请求是否可用
final String body = HttpRequest.patch("https://www.baidu.com").execute().body();
@@ -289,12 +289,12 @@ public class HttpUtilTest {
param.put("Version", "1.0");
String urlWithForm = HttpUtil.urlWithForm("http://api.hutool.cn/login?type=aaa", param, CharsetUtil.CHARSET_UTF_8, false);
Assert.assertEquals(
assertEquals(
"http://api.hutool.cn/login?type=aaa&AccessKeyId=123&Action=DescribeDomainRecords&Format=date&DomainName=lesper.cn&SignatureMethod=POST&SignatureNonce=123&SignatureVersion=4.3.1&Timestamp=123432453&Version=1.0",
urlWithForm);
urlWithForm = HttpUtil.urlWithForm("http://api.hutool.cn/login?type=aaa", param, CharsetUtil.CHARSET_UTF_8, false);
Assert.assertEquals(
assertEquals(
"http://api.hutool.cn/login?type=aaa&AccessKeyId=123&Action=DescribeDomainRecords&Format=date&DomainName=lesper.cn&SignatureMethod=POST&SignatureNonce=123&SignatureVersion=4.3.1&Timestamp=123432453&Version=1.0",
urlWithForm);
}
@@ -302,38 +302,38 @@ public class HttpUtilTest {
@Test
public void getCharsetTest() {
String charsetName = ReUtil.get(HttpUtil.CHARSET_PATTERN, "Charset=UTF-8;fq=0.9", 1);
Assert.assertEquals("UTF-8", charsetName);
assertEquals("UTF-8", charsetName);
charsetName = ReUtil.get(HttpUtil.META_CHARSET_PATTERN, "<meta charset=utf-8", 1);
Assert.assertEquals("utf-8", charsetName);
assertEquals("utf-8", charsetName);
charsetName = ReUtil.get(HttpUtil.META_CHARSET_PATTERN, "<meta charset='utf-8'", 1);
Assert.assertEquals("utf-8", charsetName);
assertEquals("utf-8", charsetName);
charsetName = ReUtil.get(HttpUtil.META_CHARSET_PATTERN, "<meta charset=\"utf-8\"", 1);
Assert.assertEquals("utf-8", charsetName);
assertEquals("utf-8", charsetName);
charsetName = ReUtil.get(HttpUtil.META_CHARSET_PATTERN, "<meta charset = \"utf-8\"", 1);
Assert.assertEquals("utf-8", charsetName);
assertEquals("utf-8", charsetName);
}
@Test
public void normalizeParamsTest() {
final String encodeResult = HttpUtil.normalizeParams("参数", CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("%E5%8F%82%E6%95%B0", encodeResult);
assertEquals("%E5%8F%82%E6%95%B0", encodeResult);
}
@Test
public void normalizeBlankParamsTest() {
final String encodeResult = HttpUtil.normalizeParams("", CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("", encodeResult);
assertEquals("", encodeResult);
}
@Test
public void getMimeTypeTest() {
final String mimeType = HttpUtil.getMimeType("aaa.aaa");
Assert.assertNull(mimeType);
assertNull(mimeType);
}
@Test
@Ignore
@Disabled
public void getWeixinTest(){
// 测试特殊URL即URL中有&amp;情况是否请求正常
final String url = "https://mp.weixin.qq.com/s?__biz=MzI5NjkyNTIxMg==&amp;mid=100000465&amp;idx=1&amp;sn=1044c0d19723f74f04f4c1da34eefa35&amp;chksm=6cbda3a25bca2ab4516410db6ce6e125badaac2f8c5548ea6e18eab6dc3c5422cb8cbe1095f7";
@@ -342,7 +342,7 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void getNocovTest(){
final String url = "https://qiniu.nocov.cn/medical-manage%2Ftest%2FBANNER_IMG%2F444004467954556928%2F1595215173047icon.png~imgReduce?e=1597081986&token=V2lJYVgQgAv_sbypfEZ0qpKs6TzD1q5JIDVr0Tw8:89cbBkLLwEc9JsMoCLkAEOu820E=";
final String s = HttpUtil.get(url);
@@ -350,21 +350,21 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void sinajsTest(){
final String s = HttpUtil.get("http://hq.sinajs.cn/list=sh600519");
Console.log(s);
}
@Test
@Ignore
@Disabled
public void gimg2Test(){
final byte[] bytes = HttpUtil.downloadBytes("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic.jj20.com%2Fup%2Fallimg%2F1114%2F0H320120Z3%2F200H3120Z3-6-1200.jpg&refer=http%3A%2F%2Fpic.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1621996490&t=8c384c2823ea453da15a1b9cd5183eea");
Console.log(Base64.encode(bytes));
}
@Test
@Ignore
@Disabled
public void acplayTest(){
final String body = HttpRequest.get("https://api.acplay.net/api/v2/bangumi/9541")
.execute().body();
@@ -372,7 +372,7 @@ public class HttpUtilTest {
}
@Test
@Ignore
@Disabled
public void getPicTest(){
HttpGlobalConfig.setDecodeUrl(false);
final String url = "https://p3-sign.douyinpic.com/tos-cn-i-0813/f41afb2e79a94dcf80970affb9a69415~noop.webp?x-expires=1647738000&x-signature=%2Br1ekUCGjXiu50Y%2Bk0MO4ovulK8%3D&from=4257465056&s=PackSourceEnum_DOUYIN_REFLOW&se=false&sh=&sc=&l=2022021809224601020810013524310DD3&biz_tag=aweme_images";
@@ -392,10 +392,10 @@ public class HttpUtilTest {
final String resp = HttpUtil.createPost(String.format("http://localhost:%s/formEncoded", port))
.form("test", test).execute().body();
Assert.assertEquals("Form请求参数解码", test, resp);
assertEquals("Form请求参数解码", test, resp);
final String urlGet = UrlBuilder.of(String.format("http://localhost:%s/urlEncoded", port)).addQuery("test", test).build();
final String resp2 = HttpUtil.createGet(urlGet).execute().body();
Assert.assertEquals("QueryString请求参数编码", test, resp2);
assertEquals("QueryString请求参数编码", test, resp2);
}
}

View File

@@ -2,8 +2,8 @@ package cn.hutool.http;
import cn.hutool.core.lang.Console;
import cn.hutool.core.thread.ThreadUtil;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.util.concurrent.atomic.AtomicInteger;
@@ -13,7 +13,7 @@ public class HttpsTest {
* 测试单例的SSLSocketFactory是否有线程安全问题
*/
@Test
@Ignore
@Disabled
public void getTest() {
final AtomicInteger count = new AtomicInteger();
for(int i =0; i < 100; i++){

View File

@@ -2,8 +2,8 @@ package cn.hutool.http;
import cn.hutool.core.lang.Console;
import cn.hutool.http.cookie.GlobalCookieManager;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.net.HttpCookie;
import java.util.List;
@@ -12,7 +12,7 @@ public class Issue2658Test {
@SuppressWarnings("resource")
@Test
@Ignore
@Disabled
public void getWithCookieTest(){
HttpRequest.get("https://www.baidu.com/").execute();
final List<HttpCookie> cookies = GlobalCookieManager.getCookieManager().getCookieStore().getCookies();

View File

@@ -12,13 +12,13 @@
package cn.hutool.http;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
public class Issue3074Test {
@Test
@Ignore
@Disabled
public void bodyTest() {
HttpUtil.createPost("http://localhost:8888/body")
.contentType(ContentType.JSON.getValue())

View File

@@ -13,12 +13,12 @@
package cn.hutool.http;
import cn.hutool.core.lang.Console;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
public class Issue3197Test {
@Test
@Ignore
@Disabled
public void getTest() {
final String s = HttpUtil.get("http://localhost:8080/index");
Console.log(s);

View File

@@ -2,12 +2,12 @@ package cn.hutool.http;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Console;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
public class Issue3314Test {
@Test
@Ignore
@Disabled
public void postTest() {
String url = "https://hutool.cn/test/getList";
final String body = HttpRequest.get(url)

View File

@@ -1,8 +1,8 @@
package cn.hutool.http;
import cn.hutool.core.util.CharsetUtil;
import org.junit.Assert;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
@@ -17,7 +17,7 @@ public class Issue3536Test {
paramMap.put("scope", "a,b,c你");
final String s = HttpUtil.urlWithFormUrlEncoded(url, paramMap, CharsetUtil.CHARSET_UTF_8);
Assert.assertEquals("https://hutool.cn/test?scope=a,b,c%E4%BD%A0&redirect_uri=https://api.hutool.cn/v1/test", s);
assertEquals("https://hutool.cn/test?scope=a,b,c%E4%BD%A0&redirect_uri=https://api.hutool.cn/v1/test", s);
}
@Test
@@ -27,6 +27,6 @@ public class Issue3536Test {
paramMap.put("scope", "a,b,c你");
final String params = HttpUtil.toParams(paramMap, CharsetUtil.CHARSET_UTF_8, true);
Assert.assertEquals("scope=a%2Cb%2Cc%E4%BD%A0&redirect_uri=https%3A%2F%2Fapi.hutool.cn%2Fv1%2Ftest", params);
assertEquals("scope=a%2Cb%2Cc%E4%BD%A0&redirect_uri=https%3A%2F%2Fapi.hutool.cn%2Fv1%2Ftest", params);
}
}

View File

@@ -1,14 +1,14 @@
package cn.hutool.http;
import cn.hutool.core.lang.Console;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.net.HttpCookie;
public class IssueI5TPSYTest {
@Test
@Ignore
@Disabled
public void redirectTest() {
final String url = "https://bsxt.gdzwfw.gov.cn/UnifiedReporting/auth/newIndex";
final HttpResponse res = HttpUtil.createGet(url).setFollowRedirects(true)

View File

@@ -12,8 +12,8 @@
package cn.hutool.http;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
@@ -21,7 +21,7 @@ import java.util.Map;
public class IssueI6RE7JTest {
@Test
@Ignore
@Disabled
public void getTest() {
HttpGlobalConfig.setDecodeUrl(true);
final String baseUrl = "http://192.168.98.73/PIAPI/ArcValue";

View File

@@ -13,12 +13,12 @@
package cn.hutool.http;
import cn.hutool.core.lang.Console;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
public class IssueI7EHSETest {
@Test
@Ignore
@Disabled
public void encodePathTest() {
String body = HttpUtil
.createGet("http://hq.sinajs.cn/list=s_sh600090")

View File

@@ -13,12 +13,12 @@
package cn.hutool.http;
import cn.hutool.core.lang.Console;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
public class IssueI7WZEOTest {
@Test
@Ignore
@Disabled
public void postTest() {
final String post = HttpUtil.post("https://tenapi.cn/v2/video", "url=https://v.douyin.com/ie1EX3LH/");
Console.log(post);

View File

@@ -13,15 +13,15 @@
package cn.hutool.http;
import cn.hutool.core.lang.Console;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import javax.net.ssl.SSLSocketFactory;
public class IssueI7ZRJUTest {
@Test
@Ignore
@Disabled
public void getTest() {
final HttpRequest httpRequest = HttpRequest.get("https://expired.badssl.com/");
httpRequest.setSSLSocketFactory((SSLSocketFactory) SSLSocketFactory.getDefault());

View File

@@ -1,25 +1,25 @@
package cn.hutool.http;
import org.junit.Assert;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
public class IssueI8YV0KTest {
@Test
public void removeHtmlAttrTest(){
final String str = "<content styleCode=\"xmChange yes\">";
Assert.assertEquals("<content>", HtmlUtil.removeHtmlAttr(str, "styleCode"));
assertEquals("<content>", HtmlUtil.removeHtmlAttr(str, "styleCode"));
}
@Test
public void removeHtmlAttrTest2(){
final String str = "<content styleCode=\"xmChange\"/>";
Assert.assertEquals("<content/>", HtmlUtil.removeHtmlAttr(str, "styleCode"));
assertEquals("<content/>", HtmlUtil.removeHtmlAttr(str, "styleCode"));
}
@Test
public void removeHtmlAttrTest3(){
String str = "<content styleCode=\"dada ada\" data=\"dsad\" >";
Assert.assertEquals("<content data=\"dsad\">", HtmlUtil.removeHtmlAttr(str, "styleCode"));
assertEquals("<content data=\"dsad\">", HtmlUtil.removeHtmlAttr(str, "styleCode"));
}
}

View File

@@ -3,9 +3,9 @@ package cn.hutool.http;
import cn.hutool.core.io.resource.StringResource;
import cn.hutool.core.lang.Console;
import cn.hutool.json.JSONUtil;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
/**
* Rest类型请求单元测试
@@ -20,11 +20,11 @@ public class RestTest {
.body(JSONUtil.createObj()
.set("aaa", "aaaValue")
.set("键2", "值2").toString());
Assert.assertEquals("application/json;charset=UTF-8", request.header("Content-Type"));
assertEquals("application/json;charset=UTF-8", request.header("Content-Type"));
}
@Test
@Ignore
@Disabled
public void postTest() {
HttpRequest request = HttpRequest.post("http://localhost:8888/restTest/")//
.body(new StringResource(JSONUtil.createObj()
@@ -34,7 +34,7 @@ public class RestTest {
}
@Test
@Ignore
@Disabled
public void postTest2() {
String result = HttpUtil.post("http://localhost:8090/rest/restTest/", JSONUtil.createObj()//
.set("aaa", "aaaValue")
@@ -43,7 +43,7 @@ public class RestTest {
}
@Test
@Ignore
@Disabled
public void getWithBodyTest() {
HttpRequest request = HttpRequest.get("http://localhost:8888/restTest")//
.header(Header.CONTENT_TYPE, "application/json")
@@ -54,7 +54,7 @@ public class RestTest {
}
@Test
@Ignore
@Disabled
public void getWithBodyTest2() {
HttpRequest request = HttpRequest.get("https://ad.oceanengine.com/open_api/2/advertiser/info/")//
// Charles代理
@@ -68,7 +68,7 @@ public class RestTest {
}
@Test
@Ignore
@Disabled
public void getTest() {
final HttpRequest request = HttpRequest.get("http://localhost:8888/restTest");
final HttpResponse execute = request.execute();

View File

@@ -2,8 +2,8 @@ package cn.hutool.http;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Console;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.nio.file.Path;
@@ -22,7 +22,7 @@ public class UploadTest {
* 多文件上传测试
*/
@Test
@Ignore
@Disabled
public void uploadFilesTest() {
File file = FileUtil.file("d:\\图片1.JPG");
File file2 = FileUtil.file("d:\\图片3.png");
@@ -37,7 +37,7 @@ public class UploadTest {
}
@Test
@Ignore
@Disabled
public void uploadFileTest() {
File file = FileUtil.file("D:\\face.jpg");
@@ -50,7 +50,7 @@ public class UploadTest {
}
@Test
@Ignore
@Disabled
public void uploadTest2() {
//客户端
String url = "http://192.168.1.200:8888/meta/upload/img";
@@ -70,7 +70,7 @@ public class UploadTest {
}
@Test
@Ignore
@Disabled
public void smmsTest(){
// https://github.com/dromara/hutool/issues/2079
// hutool的user agent 被封了

View File

@@ -3,8 +3,8 @@ package cn.hutool.http.body;
import cn.hutool.core.io.resource.StringResource;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.http.HttpResource;
import org.junit.Assert;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
@@ -22,7 +22,7 @@ public class MultipartBodyTest {
final MultipartBody body = MultipartBody.create(form, CharsetUtil.CHARSET_UTF_8);
Assert.assertNotNull(body.toString());
assertNotNull(body.toString());
// Console.log(body);
}
}

View File

@@ -1,7 +1,7 @@
package cn.hutool.http.useragent;
import org.junit.Assert;
import org.junit.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
public class UserAgentUtilTest {
@@ -10,14 +10,14 @@ public class UserAgentUtilTest {
final String uaStr = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("Chrome", ua.getBrowser().toString());
Assert.assertEquals("14.0.835.163", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("535.1", ua.getEngineVersion());
Assert.assertEquals("Windows 7 or Windows Server 2008R2", ua.getOs().toString());
Assert.assertEquals("6.1", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("Chrome", ua.getBrowser().toString());
assertEquals("14.0.835.163", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("535.1", ua.getEngineVersion());
assertEquals("Windows 7 or Windows Server 2008R2", ua.getOs().toString());
assertEquals("6.1", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
@@ -25,182 +25,182 @@ public class UserAgentUtilTest {
final String uaStr = "User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("Safari", ua.getBrowser().toString());
Assert.assertEquals("5.0.2", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("533.17.9", ua.getEngineVersion());
Assert.assertEquals("iPhone", ua.getOs().toString());
Assert.assertEquals("4_3_3", ua.getOsVersion());
Assert.assertEquals("iPhone", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("Safari", ua.getBrowser().toString());
assertEquals("5.0.2", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("533.17.9", ua.getEngineVersion());
assertEquals("iPhone", ua.getOs().toString());
assertEquals("4_3_3", ua.getOsVersion());
assertEquals("iPhone", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseMiui10WithChromeTest() {
final String uaStr = "Mozilla/5.0 (Linux; Android 9; MIX 3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("Chrome", ua.getBrowser().toString());
Assert.assertEquals("70.0.3538.80", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Android", ua.getOs().toString());
Assert.assertEquals("9", ua.getOsVersion());
Assert.assertEquals("Android", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("Chrome", ua.getBrowser().toString());
assertEquals("70.0.3538.80", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Android", ua.getOs().toString());
assertEquals("9", ua.getOsVersion());
assertEquals("Android", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseHuaweiPhoneWithNativeBrowserTest() {
final String uaString = "Mozilla/5.0 (Linux; Android 10; EML-AL00 Build/HUAWEIEML-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("Android Browser", ua.getBrowser().toString());
Assert.assertEquals("4.0", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Android", ua.getOs().toString());
Assert.assertEquals("10", ua.getOsVersion());
Assert.assertEquals("Android", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("Android Browser", ua.getBrowser().toString());
assertEquals("4.0", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Android", ua.getOs().toString());
assertEquals("10", ua.getOsVersion());
assertEquals("Android", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseSamsungPhoneWithNativeBrowserTest() {
final String uaString = "Dalvik/2.1.0 (Linux; U; Android 9; SM-G950U Build/PPR1.180610.011)";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("Android Browser", ua.getBrowser().toString());
Assert.assertNull(ua.getVersion());
Assert.assertEquals("Unknown", ua.getEngine().toString());
Assert.assertNull(ua.getEngineVersion());
Assert.assertEquals("Android", ua.getOs().toString());
Assert.assertEquals("9", ua.getOsVersion());
Assert.assertEquals("Android", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("Android Browser", ua.getBrowser().toString());
assertNull(ua.getVersion());
assertEquals("Unknown", ua.getEngine().toString());
assertNull(ua.getEngineVersion());
assertEquals("Android", ua.getOs().toString());
assertEquals("9", ua.getOsVersion());
assertEquals("Android", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseWindows10WithChromeTest() {
final String uaStr = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("Chrome", ua.getBrowser().toString());
Assert.assertEquals("70.0.3538.102", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
Assert.assertEquals("10.0", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("Chrome", ua.getBrowser().toString());
assertEquals("70.0.3538.102", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
assertEquals("10.0", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
public void parseWindows10WithIe11Test() {
final String uaStr = "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("MSIE11", ua.getBrowser().toString());
Assert.assertEquals("11.0", ua.getVersion());
Assert.assertEquals("Trident", ua.getEngine().toString());
Assert.assertEquals("7.0", ua.getEngineVersion());
Assert.assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
Assert.assertEquals("10.0", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("MSIE11", ua.getBrowser().toString());
assertEquals("11.0", ua.getVersion());
assertEquals("Trident", ua.getEngine().toString());
assertEquals("7.0", ua.getEngineVersion());
assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
assertEquals("10.0", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
public void parseWindows10WithIeMobileLumia520Test() {
final String uaStr = "Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 520) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537 ";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("IEMobile", ua.getBrowser().toString());
Assert.assertEquals("11.0", ua.getVersion());
Assert.assertEquals("Trident", ua.getEngine().toString());
Assert.assertEquals("7.0", ua.getEngineVersion());
Assert.assertEquals("Windows Phone", ua.getOs().toString());
Assert.assertEquals("8.1", ua.getOsVersion());
Assert.assertEquals("Windows Phone", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("IEMobile", ua.getBrowser().toString());
assertEquals("11.0", ua.getVersion());
assertEquals("Trident", ua.getEngine().toString());
assertEquals("7.0", ua.getEngineVersion());
assertEquals("Windows Phone", ua.getOs().toString());
assertEquals("8.1", ua.getOsVersion());
assertEquals("Windows Phone", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseWindows10WithIe8EmulatorTest() {
final String uaStr = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("MSIE", ua.getBrowser().toString());
Assert.assertEquals("8.0", ua.getVersion());
Assert.assertEquals("Trident", ua.getEngine().toString());
Assert.assertEquals("4.0", ua.getEngineVersion());
Assert.assertEquals("Windows 7 or Windows Server 2008R2", ua.getOs().toString());
Assert.assertEquals("6.1", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("MSIE", ua.getBrowser().toString());
assertEquals("8.0", ua.getVersion());
assertEquals("Trident", ua.getEngine().toString());
assertEquals("4.0", ua.getEngineVersion());
assertEquals("Windows 7 or Windows Server 2008R2", ua.getOs().toString());
assertEquals("6.1", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
public void parseWindows10WithEdgeTest() {
final String uaStr = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("MSEdge", ua.getBrowser().toString());
Assert.assertEquals("18.17763", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
Assert.assertEquals("10.0", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("MSEdge", ua.getBrowser().toString());
assertEquals("18.17763", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
assertEquals("10.0", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
public void parseEdgeOnLumia950XLTest() {
final String uaStr = "Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; Lumia 950XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Mobile Safari/537.36 Edge/15.14900";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("MSEdge", ua.getBrowser().toString());
Assert.assertEquals("15.14900", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows Phone", ua.getOs().toString());
Assert.assertEquals("10.0", ua.getOsVersion());
Assert.assertEquals("Windows Phone", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("MSEdge", ua.getBrowser().toString());
assertEquals("15.14900", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Windows Phone", ua.getOs().toString());
assertEquals("10.0", ua.getOsVersion());
assertEquals("Windows Phone", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseChromeOnWindowsServer2012R2Test() {
final String uaStr = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("Chrome", ua.getBrowser().toString());
Assert.assertEquals("63.0.3239.132", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows 8.1 or Windows Server 2012R2", ua.getOs().toString());
Assert.assertEquals("6.3", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("Chrome", ua.getBrowser().toString());
assertEquals("63.0.3239.132", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Windows 8.1 or Windows Server 2012R2", ua.getOs().toString());
assertEquals("6.3", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
public void parseIE11OnWindowsServer2008R2Test() {
final String uaStr = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("MSIE11", ua.getBrowser().toString());
Assert.assertEquals("11.0", ua.getVersion());
Assert.assertEquals("Trident", ua.getEngine().toString());
Assert.assertEquals("7.0", ua.getEngineVersion());
Assert.assertEquals("Windows 7 or Windows Server 2008R2", ua.getOs().toString());
Assert.assertEquals("6.1", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("MSIE11", ua.getBrowser().toString());
assertEquals("11.0", ua.getVersion());
assertEquals("Trident", ua.getEngine().toString());
assertEquals("7.0", ua.getEngineVersion());
assertEquals("Windows 7 or Windows Server 2008R2", ua.getOs().toString());
assertEquals("6.1", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
public void parseEdgeTest() {
final String uaStr = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.69 Safari/537.36 Edg/81.0.416.34";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("MSEdge", ua.getBrowser().toString());
Assert.assertEquals("81.0.416.34", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
Assert.assertEquals("10.0", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("MSEdge", ua.getBrowser().toString());
assertEquals("81.0.416.34", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
assertEquals("10.0", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
/**
@@ -210,153 +210,153 @@ public class UserAgentUtilTest {
public void parseMicroMessengerTest() {
final String uaString = "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Mobile/15A372 MicroMessenger/7.0.17(0x17001127) NetType/WIFI Language/zh_CN";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("MicroMessenger", ua.getBrowser().toString());
Assert.assertEquals("7.0.17", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("604.1.38", ua.getEngineVersion());
Assert.assertEquals("iPhone", ua.getOs().toString());
Assert.assertEquals("11_0", ua.getOsVersion());
Assert.assertEquals("iPhone", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("MicroMessenger", ua.getBrowser().toString());
assertEquals("7.0.17", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("604.1.38", ua.getEngineVersion());
assertEquals("iPhone", ua.getOs().toString());
assertEquals("11_0", ua.getOsVersion());
assertEquals("iPhone", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseWorkWxTest() {
final String uaString = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 wxwork/3.0.31 MicroMessenger/7.0.1 Language/zh";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("wxwork", ua.getBrowser().toString());
Assert.assertEquals("3.0.31", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("605.1.15", ua.getEngineVersion());
Assert.assertEquals("iPhone", ua.getOs().toString());
Assert.assertEquals("iPhone", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("wxwork", ua.getBrowser().toString());
assertEquals("3.0.31", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("605.1.15", ua.getEngineVersion());
assertEquals("iPhone", ua.getOs().toString());
assertEquals("iPhone", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseQQTest() {
final String uaString = "User-Agent: MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("QQBrowser", ua.getBrowser().toString());
Assert.assertEquals("26", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("533.1", ua.getEngineVersion());
Assert.assertEquals("Android", ua.getOs().toString());
Assert.assertEquals("2.3.7", ua.getOsVersion());
Assert.assertEquals("Android", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("QQBrowser", ua.getBrowser().toString());
assertEquals("26", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("533.1", ua.getEngineVersion());
assertEquals("Android", ua.getOs().toString());
assertEquals("2.3.7", ua.getOsVersion());
assertEquals("Android", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseDingTalkTest() {
final String uaString = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/18A373 AliApp(DingTalk/5.1.33) com.laiwang.DingTalk/13976299 Channel/201200 language/zh-Hans-CN WK";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("DingTalk", ua.getBrowser().toString());
Assert.assertEquals("5.1.33", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("605.1.15", ua.getEngineVersion());
Assert.assertEquals("iPhone", ua.getOs().toString());
Assert.assertEquals("14_0", ua.getOsVersion());
Assert.assertEquals("iPhone", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("DingTalk", ua.getBrowser().toString());
assertEquals("5.1.33", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("605.1.15", ua.getEngineVersion());
assertEquals("iPhone", ua.getOs().toString());
assertEquals("14_0", ua.getOsVersion());
assertEquals("iPhone", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseAlipayTest() {
final String uaString = "Mozilla/5.0 (Linux; U; Android 7.0; zh-CN; FRD-AL00 Build/HUAWEIFRD-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/40.0.2214.89 UCBrowser/11.3.8.909 UWS/2.10.2.5 Mobile Safari/537.36 UCBS/2.10.2.5 Nebula AlipayDefined(nt:WIFI,ws:360|0|3.0) AliApp(AP/10.0.18.062203) AlipayClient/10.0.18.062203 Language/zh-Hans useStatusBar/true";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("Alipay", ua.getBrowser().toString());
Assert.assertEquals("10.0.18.062203", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Android", ua.getOs().toString());
Assert.assertEquals("7.0", ua.getOsVersion());
Assert.assertEquals("Android", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("Alipay", ua.getBrowser().toString());
assertEquals("10.0.18.062203", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Android", ua.getOs().toString());
assertEquals("7.0", ua.getOsVersion());
assertEquals("Android", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseTaobaoTest() {
final String uaString = "Mozilla/5.0 (Linux; U; Android 4.4.4; zh-cn; MI 2C Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 AliApp(TB/4.9.2) WindVane/5.2.2 TBANDROID/700342@taobao_android_4.9.2 720X1280";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("Taobao", ua.getBrowser().toString());
Assert.assertEquals("4.9.2", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Android", ua.getOs().toString());
Assert.assertEquals("4.4.4", ua.getOsVersion());
Assert.assertEquals("Android", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("Taobao", ua.getBrowser().toString());
assertEquals("4.9.2", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Android", ua.getOs().toString());
assertEquals("4.4.4", ua.getOsVersion());
assertEquals("Android", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseUCTest() {
final String uaString = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 UBrowser/4.0.3214.0 Safari/537.36";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("UCBrowser", ua.getBrowser().toString());
Assert.assertEquals("4.0.3214.0", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows 7 or Windows Server 2008R2", ua.getOs().toString());
Assert.assertEquals("6.1", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("UCBrowser", ua.getBrowser().toString());
assertEquals("4.0.3214.0", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Windows 7 or Windows Server 2008R2", ua.getOs().toString());
assertEquals("6.1", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
public void parseUCTest2() {
final String uaString = "Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_1 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/16G102 UCBrowser/12.7.6.1251 Mobile AliApp(TUnionSDK/0.1.20.3)";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("UCBrowser", ua.getBrowser().toString());
Assert.assertEquals("12.7.6.1251", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.51.1", ua.getEngineVersion());
Assert.assertEquals("iPhone", ua.getOs().toString());
Assert.assertEquals("12_4_1", ua.getOsVersion());
Assert.assertEquals("iPhone", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("UCBrowser", ua.getBrowser().toString());
assertEquals("12.7.6.1251", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.51.1", ua.getEngineVersion());
assertEquals("iPhone", ua.getOs().toString());
assertEquals("12_4_1", ua.getOsVersion());
assertEquals("iPhone", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseQuarkTest() {
final String uaString = "Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_1 like Mac OS X; zh-cn) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/16G102 Quark/3.6.2.993 Mobile";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("Quark", ua.getBrowser().toString());
Assert.assertEquals("3.6.2.993", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("601.1.46", ua.getEngineVersion());
Assert.assertEquals("iPhone", ua.getOs().toString());
Assert.assertEquals("12_4_1", ua.getOsVersion());
Assert.assertEquals("iPhone", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("Quark", ua.getBrowser().toString());
assertEquals("3.6.2.993", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("601.1.46", ua.getEngineVersion());
assertEquals("iPhone", ua.getOs().toString());
assertEquals("12_4_1", ua.getOsVersion());
assertEquals("iPhone", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
public void parseWxworkTest() {
final String uaString = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 QBCore/4.0.1326.400 QQBrowser/9.0.2524.400 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 wxwork/3.1.10 (MicroMessenger/6.2) WindowsWechat";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("wxwork", ua.getBrowser().toString());
Assert.assertEquals("3.1.10", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
Assert.assertEquals("10.0", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("wxwork", ua.getBrowser().toString());
assertEquals("3.1.10", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
assertEquals("10.0", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
public void parseWxworkMobileTest() {
final String uaString = "Mozilla/5.0 (Linux; Android 10; JSN-AL00 Build/HONORJSN-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045710 Mobile Safari/537.36 wxwork/3.1.10 ColorScheme/Light MicroMessenger/7.0.1 NetType/WIFI Language/zh Lang/zh";
final UserAgent ua = UserAgentUtil.parse(uaString);
Assert.assertEquals("wxwork", ua.getBrowser().toString());
Assert.assertEquals("3.1.10", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Android", ua.getOs().toString());
Assert.assertEquals("10", ua.getOsVersion());
Assert.assertEquals("Android", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("wxwork", ua.getBrowser().toString());
assertEquals("3.1.10", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Android", ua.getOs().toString());
assertEquals("10", ua.getOsVersion());
assertEquals("Android", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
@@ -364,14 +364,14 @@ public class UserAgentUtilTest {
// https://gitee.com/dromara/hutool/issues/I4MCBP
final String uaStr = "userAgent: Mozilla/5.0 (Linux; Android 11; MI 9 Transparent Edition) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Mobile Safari/537.36 EdgA/96.0.1054.36";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("MSEdge", ua.getBrowser().toString());
Assert.assertEquals("96.0.1054.36", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Android", ua.getOs().toString());
Assert.assertEquals("11", ua.getOsVersion());
Assert.assertEquals("Android", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("MSEdge", ua.getBrowser().toString());
assertEquals("96.0.1054.36", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Android", ua.getOs().toString());
assertEquals("11", ua.getOsVersion());
assertEquals("Android", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
@@ -380,14 +380,14 @@ public class UserAgentUtilTest {
final String uaStr = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.6241 SLBChan/30";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("Lenovo", ua.getBrowser().toString());
Assert.assertEquals("7.0.0.6241", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
Assert.assertEquals("10.0", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("Lenovo", ua.getBrowser().toString());
assertEquals("7.0.0.6241", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
assertEquals("10.0", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
@Test
@@ -395,14 +395,14 @@ public class UserAgentUtilTest {
final String uaStr = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/89.0.4389.116 Safari/534.24 XiaoMi/MiuiBrowser/16.0.18 swan-mibrowser";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("MiuiBrowser", ua.getBrowser().toString());
Assert.assertEquals("16.0.18", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("534.24", ua.getEngineVersion());
Assert.assertEquals("Android", ua.getOs().toString());
Assert.assertEquals("11", ua.getOsVersion());
Assert.assertEquals("Android", ua.getPlatform().toString());
Assert.assertTrue(ua.isMobile());
assertEquals("MiuiBrowser", ua.getBrowser().toString());
assertEquals("16.0.18", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("534.24", ua.getEngineVersion());
assertEquals("Android", ua.getOs().toString());
assertEquals("11", ua.getOsVersion());
assertEquals("Android", ua.getPlatform().toString());
assertTrue(ua.isMobile());
}
@Test
@@ -410,21 +410,21 @@ public class UserAgentUtilTest {
// https://gitee.com/dromara/hutool/issues/I50YGY
final String uaStr = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("Linux", ua.getOs().toString());
assertEquals("Linux", ua.getOs().toString());
}
@Test
public void issueI60UOPTest() {
final String uaStr = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36 dingtalk-win/1.0.0 nw(0.14.7) DingTalk(6.5.40-Release.9059101) Mojo/1.0.0 Native AppType(release) Channel/201200";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("DingTalk-win", ua.getBrowser().toString());
Assert.assertEquals("6.5.40-Release.9059101", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
Assert.assertEquals("10.0", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("DingTalk-win", ua.getBrowser().toString());
assertEquals("6.5.40-Release.9059101", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
assertEquals("10.0", ua.getOsVersion());
assertEquals("Windows", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
/**
@@ -435,26 +435,26 @@ public class UserAgentUtilTest {
// MAC Chrome 浏览器 ua
final String uaStr = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("Chrome", ua.getBrowser().toString());
Assert.assertEquals("114.0.0.0", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("OSX", ua.getOs().toString());
Assert.assertEquals("10_15_7", ua.getOsVersion());
Assert.assertEquals("Mac", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("Chrome", ua.getBrowser().toString());
assertEquals("114.0.0.0", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("537.36", ua.getEngineVersion());
assertEquals("OSX", ua.getOs().toString());
assertEquals("10_15_7", ua.getOsVersion());
assertEquals("Mac", ua.getPlatform().toString());
assertFalse(ua.isMobile());
// iphone Chrome 浏览器ua
final String uaStr2 = "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile/14E5239e Safari/602.1";
final UserAgent ua2 = UserAgentUtil.parse(uaStr2);
Assert.assertEquals("Chrome", ua2.getBrowser().toString());
Assert.assertEquals("56.0.2924.75", ua2.getVersion());
Assert.assertEquals("Webkit", ua2.getEngine().toString());
Assert.assertEquals("602.1.50", ua2.getEngineVersion());
Assert.assertEquals("iPhone", ua2.getOs().toString());
Assert.assertEquals("10_3", ua2.getOsVersion());
Assert.assertEquals("iPhone", ua2.getPlatform().toString());
Assert.assertTrue(ua2.isMobile());
assertEquals("Chrome", ua2.getBrowser().toString());
assertEquals("56.0.2924.75", ua2.getVersion());
assertEquals("Webkit", ua2.getEngine().toString());
assertEquals("602.1.50", ua2.getEngineVersion());
assertEquals("iPhone", ua2.getOs().toString());
assertEquals("10_3", ua2.getOsVersion());
assertEquals("iPhone", ua2.getPlatform().toString());
assertTrue(ua2.isMobile());
}
@Test
@@ -463,14 +463,14 @@ public class UserAgentUtilTest {
"Mobile/15E148 SP-engine/2.80.0 main%2F1.0 baiduboxapp/13.42.0.11 (Baidu; P2 17.0) NABar/1.0 themeUA=Them";
final UserAgent ua2 = UserAgentUtil.parse(s);
Assert.assertEquals("Baidu", ua2.getBrowser().toString());
Assert.assertEquals("13.42.0.11", ua2.getVersion());
Assert.assertEquals("Webkit", ua2.getEngine().toString());
Assert.assertEquals("605.1.15", ua2.getEngineVersion());
Assert.assertEquals("iPhone", ua2.getOs().toString());
Assert.assertEquals("17_0", ua2.getOsVersion());
Assert.assertEquals("iPhone", ua2.getPlatform().toString());
Assert.assertTrue(ua2.isMobile());
assertEquals("Baidu", ua2.getBrowser().toString());
assertEquals("13.42.0.11", ua2.getVersion());
assertEquals("Webkit", ua2.getEngine().toString());
assertEquals("605.1.15", ua2.getEngineVersion());
assertEquals("iPhone", ua2.getOs().toString());
assertEquals("17_0", ua2.getOsVersion());
assertEquals("iPhone", ua2.getPlatform().toString());
assertTrue(ua2.isMobile());
}
@Test
@@ -479,14 +479,14 @@ public class UserAgentUtilTest {
"Safari/537.36 Core/1.94.218.400 QQBrowser/12.1.5496.400";
final UserAgent ua2 = UserAgentUtil.parse(s);
Assert.assertEquals("QQBrowser", ua2.getBrowser().toString());
Assert.assertEquals("12.1.5496.400", ua2.getVersion());
Assert.assertEquals("Webkit", ua2.getEngine().toString());
Assert.assertEquals("537.36", ua2.getEngineVersion());
Assert.assertEquals("Windows 10 or Windows Server 2016", ua2.getOs().toString());
Assert.assertEquals("10.0", ua2.getOsVersion());
Assert.assertEquals("Windows", ua2.getPlatform().toString());
Assert.assertFalse(ua2.isMobile());
assertEquals("QQBrowser", ua2.getBrowser().toString());
assertEquals("12.1.5496.400", ua2.getVersion());
assertEquals("Webkit", ua2.getEngine().toString());
assertEquals("537.36", ua2.getEngineVersion());
assertEquals("Windows 10 or Windows Server 2016", ua2.getOs().toString());
assertEquals("10.0", ua2.getOsVersion());
assertEquals("Windows", ua2.getPlatform().toString());
assertFalse(ua2.isMobile());
}
@Test
@@ -494,13 +494,13 @@ public class UserAgentUtilTest {
UserAgent ua = UserAgentUtil.parse(
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) MicroMessenger/6.8.0(0x16080000) MacWechat/3.8.7(0x13080710) Safari/605.1.15 NetType/WIFI");
Assert.assertEquals("MicroMessenger", ua.getBrowser().toString());
Assert.assertEquals("6.8.0", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("605.1.15", ua.getEngineVersion());
Assert.assertEquals("OSX", ua.getOs().toString());
Assert.assertEquals("10_15_7", ua.getOsVersion());
Assert.assertEquals("Mac", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
assertEquals("MicroMessenger", ua.getBrowser().toString());
assertEquals("6.8.0", ua.getVersion());
assertEquals("Webkit", ua.getEngine().toString());
assertEquals("605.1.15", ua.getEngineVersion());
assertEquals("OSX", ua.getOs().toString());
assertEquals("10_15_7", ua.getOsVersion());
assertEquals("Mac", ua.getPlatform().toString());
assertFalse(ua.isMobile());
}
}

View File

@@ -2,8 +2,8 @@ package cn.hutool.http.webservice;
import cn.hutool.core.lang.Console;
import cn.hutool.core.util.CharsetUtil;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;
@@ -17,7 +17,7 @@ import javax.xml.soap.SOAPMessage;
public class SoapClientTest {
@Test
@Ignore
@Disabled
public void requestTest() {
SoapClient client = SoapClient.create("http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx")
.setMethod("web:getCountryCityByIp", "http://WebXml.com.cn/")
@@ -30,7 +30,7 @@ public class SoapClientTest {
}
@Test
@Ignore
@Disabled
public void requestForMessageTest() throws SOAPException {
SoapClient client = SoapClient.create("http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx")
.setMethod("web:getCountryCityByIp", "http://WebXml.com.cn/")