This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new e798ff3 org.apache.juneau.http.header tests.
e798ff3 is described below
commit e798ff3ec018233dedc6f023f306692263445aee
Author: JamesBognar <[email protected]>
AuthorDate: Wed Jul 15 20:08:44 2020 -0400
org.apache.juneau.http.header tests.
---
.../org/apache/juneau/http/MediaRanges_Test.java | 48 ++++++++++-----
...tType2Test.java => ContentType_Match_Test.java} | 4 +-
.../apache/juneau/http/header/MediaRangeTest.java | 68 ----------------------
3 files changed, 37 insertions(+), 83 deletions(-)
diff --git
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/MediaRanges_Test.java
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/MediaRanges_Test.java
index 9512b7a..e20d1bb 100644
---
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/MediaRanges_Test.java
+++
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/MediaRanges_Test.java
@@ -15,6 +15,7 @@ package org.apache.juneau.http;
import static org.apache.juneau.assertions.Assertions.*;
import static org.junit.Assert.*;
import static org.junit.runners.MethodSorters.*;
+import static org.apache.juneau.http.MediaRanges.*;
import org.junit.*;
@@ -25,11 +26,11 @@ public class MediaRanges_Test {
// Verifies that media type parameters are distinguished from media
range extensions.
//-----------------------------------------------------------------------------------------------------------------
@Test
- public void testExtensions() throws Exception {
+ public void a01_extensions() throws Exception {
MediaRanges x1;
MediaRange x2;
- x1 = MediaRanges.of("text/json");
+ x1 = of("text/json");
x2 = x1.getRange(0);
assertString(x2).is("text/json");
assertObject(x2.getParameters()).json().is("[]");
@@ -39,63 +40,63 @@ public class MediaRanges_Test {
assertNull(x1.getRange(-1));
assertNull(x1.getRange(1));
- x1 = MediaRanges.of("foo,bar");
+ x1 = of("foo,bar");
x2 = x1.getRange(0);
assertString(x2).is("foo");
assertObject(x2.getParameters()).json().is("[]");
assertString(x2.getQValue()).is("1.0");
assertObject(x2.getExtensions()).json().is("[]");
- x1 = MediaRanges.of(" foo , bar ");
+ x1 = of(" foo , bar ");
x2 = x1.getRange(0);
assertString(x2).is("foo");
assertObject(x2.getParameters()).json().is("[]");
assertString(x2.getQValue()).is("1.0");
assertObject(x2.getExtensions()).json().is("[]");
- x1 = MediaRanges.of("text/json;a=1;q=0.9;b=2");
+ x1 = of("text/json;a=1;q=0.9;b=2");
x2 = x1.getRange(0);
assertString(x2).is("text/json;a=1;q=0.9;b=2");
assertObject(x2.getParameters()).json().is("['a=1']");
assertString(x2.getQValue()).is("0.9");
assertObject(x2.getExtensions()).json().is("['b=2']");
- x1 = MediaRanges.of("text/json;a=1;a=2;q=0.9;b=3;b=4");
+ x1 = of("text/json;a=1;a=2;q=0.9;b=3;b=4");
x2 = x1.getRange(0);
assertString(x2).is("text/json;a=1;a=2;q=0.9;b=3;b=4");
assertObject(x2.getParameters()).json().is("['a=1','a=2']");
assertString(x2.getQValue()).is("0.9");
assertObject(x2.getExtensions()).json().is("['b=3','b=4']");
- x1 = MediaRanges.of("text/json;a=1;a=2;q=1.0;b=3;b=4");
+ x1 = of("text/json;a=1;a=2;q=1.0;b=3;b=4");
x2 = x1.getRange(0);
assertString(x2).is("text/json;a=1;a=2;q=1.0;b=3;b=4");
assertObject(x2.getParameters()).json().is("['a=1','a=2']");
assertString(x2.getQValue()).is("1.0");
assertObject(x2.getExtensions()).json().is("['b=3','b=4']");
- x1 = MediaRanges.of("text/json;a=1");
+ x1 = of("text/json;a=1");
x2 = x1.getRange(0);
assertString(x2).is("text/json;a=1");
assertObject(x2.getParameters()).json().is("['a=1']");
assertString(x2.getQValue()).is("1.0");
assertObject(x2.getExtensions()).json().is("[]");
- x1 = MediaRanges.of("text/json;a=1;");
+ x1 = of("text/json;a=1;");
x2 = x1.getRange(0);
assertString(x2).is("text/json;a=1");
assertObject(x2.getParameters()).json().is("['a=1']");
assertString(x2.getQValue()).is("1.0");
assertObject(x2.getExtensions()).json().is("[]");
- x1 = MediaRanges.of("text/json;q=0.9");
+ x1 = of("text/json;q=0.9");
x2 = x1.getRange(0);
assertString(x2).is("text/json;q=0.9");
assertObject(x2.getParameters()).json().is("[]");
assertString(x2.getQValue()).is("0.9");
assertObject(x2.getExtensions()).json().is("[]");
- x1 = MediaRanges.of("text/json;q=0.9;");
+ x1 = of("text/json;q=0.9;");
x2 = x1.getRange(0);
assertString(x2).is("text/json;q=0.9");
assertObject(x2.getParameters()).json().is("[]");
@@ -107,11 +108,32 @@ public class MediaRanges_Test {
// Tests the Accept.hasSubtypePart() method.
//-----------------------------------------------------------------------------------------------------------------
@Test
- public void testHasSubtypePart() {
- MediaRanges mr = MediaRanges.of("text/json+x,text/foo+y;q=0.0");
+ public void a02_hasSubtypePart() {
+ MediaRanges mr = of("text/json+x,text/foo+y;q=0.0");
assertTrue(mr.hasSubtypePart("json"));
assertTrue(mr.hasSubtypePart("x"));
assertFalse(mr.hasSubtypePart("foo"));
assertFalse(mr.hasSubtypePart("y"));
}
+
+ @Test
+ public void a03_ordering() {
+ assertString(of("text/json")).is("text/json");
+ assertString(of("text/json,text/*")).is("text/json,text/*");
+ assertString(of("text/*,text/json")).is("text/json,text/*");
+ assertString(of("text/*,text/*")).is("text/*,text/*");
+ assertString(of("*/text,text/*")).is("text/*,*/text");
+ assertString(of("text/*,*/text")).is("text/*,*/text");
+ assertString(of("a;q=0.9,b;q=0.1")).is("a;q=0.9,b;q=0.1");
+ assertString(of("b;q=0.9,a;q=0.1")).is("b;q=0.9,a;q=0.1");
+
assertString(of("a,b;q=0.9,c;q=0.1,d;q=0")).is("a,b;q=0.9,c;q=0.1,d;q=0.0");
+
assertString(of("d;q=0,c;q=0.1,b;q=0.9,a")).is("a,b;q=0.9,c;q=0.1,d;q=0.0");
+
assertString(of("a;q=1,b;q=0.9,c;q=0.1,d;q=0")).is("a,b;q=0.9,c;q=0.1,d;q=0.0");
+
assertString(of("d;q=0,c;q=0.1,b;q=0.9,a;q=1")).is("a,b;q=0.9,c;q=0.1,d;q=0.0");
+
assertString(of("a;q=0,b;q=0.1,c;q=0.9,d;q=1")).is("d,c;q=0.9,b;q=0.1,a;q=0.0");
+ assertString(of("*")).is("*");
+ assertString(of("")).is("*/*");
+ assertString(of(null)).is("*/*");
+ assertString(of("foo/bar/baz")).is("foo/bar/baz");
+ }
}
diff --git
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/header/ContentType2Test.java
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
similarity index 97%
rename from
juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/header/ContentType2Test.java
rename to
juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
index f4ee8ff..fa96104 100644
---
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/header/ContentType2Test.java
+++
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
@@ -29,7 +29,7 @@ import org.junit.runners.*;
*/
@RunWith(Parameterized.class)
@FixMethodOrder(NAME_ASCENDING)
-public class ContentType2Test {
+public class ContentType_Match_Test {
@Parameterized.Parameters
public static Collection<Object[]> getParameters() {
return Arrays.asList(new Object[][] {
@@ -77,7 +77,7 @@ public class ContentType2Test {
private String label, contentType, mediaTypes;
private int expected;
- public ContentType2Test(String label, String contentType, String
mediaTypes, int expected) {
+ public ContentType_Match_Test(String label, String contentType, String
mediaTypes, int expected) {
this.label = label;
this.contentType = contentType;
this.mediaTypes = mediaTypes;
diff --git
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/header/MediaRangeTest.java
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/header/MediaRangeTest.java
deleted file mode 100644
index 654a8c7..0000000
---
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/http/header/MediaRangeTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-//
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright
ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance *
-// * with the License. You may obtain a copy of the License at
*
-// *
*
-// * http://www.apache.org/licenses/LICENSE-2.0
*
-// *
*
-// * Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied. See the License for the *
-// * specific language governing permissions and limitations under the
License. *
-//
***************************************************************************************************************************
-package org.apache.juneau.http.header;
-
-import static org.junit.Assert.*;
-import static org.junit.runners.MethodSorters.*;
-
-import java.util.*;
-
-import org.apache.juneau.http.*;
-import org.apache.juneau.json.*;
-import org.junit.*;
-import org.junit.runner.*;
-import org.junit.runners.*;
-
-/**
- * Verifies that the MediaRange and MediaType classes parse and sort Accept
headers correctly.
- */
-@RunWith(Parameterized.class)
-@FixMethodOrder(NAME_ASCENDING)
-public class MediaRangeTest {
- @Parameterized.Parameters
- public static Collection<Object[]> getParameters() {
- return Arrays.asList(new Object[][] {
- { "0", "text/json", "'text/json'" },
- { "1", "text/json,text/*", "'text/json,text/*'" },
- { "2", "text/*,text/json", "'text/json,text/*'" },
- { "3", "text/*,text/*", "'text/*,text/*'" },
- { "4", "*/text,text/*", "'text/*,*/text'" },
- { "5", "text/*,*/text", "'text/*,*/text'" },
- { "6", "a;q=0.9,b;q=0.1", "'a;q=0.9,b;q=0.1'" },
- { "7", "b;q=0.9,a;q=0.1", "'b;q=0.9,a;q=0.1'" },
- { "8", "a,b;q=0.9,c;q=0.1,d;q=0",
"'a,b;q=0.9,c;q=0.1,d;q=0.0'" },
- { "9", "d;q=0,c;q=0.1,b;q=0.9,a",
"'a,b;q=0.9,c;q=0.1,d;q=0.0'" },
- { "10", "a;q=1,b;q=0.9,c;q=0.1,d;q=0",
"'a,b;q=0.9,c;q=0.1,d;q=0.0'" },
- { "11", "d;q=0,c;q=0.1,b;q=0.9,a;q=1",
"'a,b;q=0.9,c;q=0.1,d;q=0.0'" },
- { "12", "a;q=0,b;q=0.1,c;q=0.9,d;q=1",
"'d,c;q=0.9,b;q=0.1,a;q=0.0'" },
- { "13", "*", "'*'" },
- { "14", "", "'*/*'" },
- { "15", null, "'*/*'" },
- { "16", "foo/bar/baz", "'foo/bar/baz'" },
- });
- }
-
- private String label, mediaRange, expected;
-
- public MediaRangeTest(String label, String mediaRange, String expected)
{
- this.label = label;
- this.mediaRange = mediaRange;
- this.expected = expected;
- }
-
- @Test
- public void test() {
- MediaRanges r = MediaRanges.of(mediaRange);
- assertEquals(label + " failed", expected,
SimpleJsonSerializer.DEFAULT.toString(r));
- }
-}