-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
WithoutJsonPathTest.java
44 lines (37 loc) · 1.5 KB
/
WithoutJsonPathTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.jayway.jsonpath.matchers;
import com.jayway.jsonpath.JsonPath;
import com.jayway.jsonpath.ReadContext;
import org.junit.jupiter.api.Test;
import static com.jayway.jsonpath.JsonPath.compile;
import static com.jayway.jsonpath.matchers.JsonPathMatchers.withoutJsonPath;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.*;
public class WithoutJsonPathTest {
private static final String JSON_STRING = "{" +
"\"name\": \"Jessie\"," +
"\"flag\": false," +
"\"empty_array\": []," +
"\"empty_object\": {}," +
"\"none\": null" +
"}";
private static final ReadContext JSON = JsonPath.parse(JSON_STRING);
@Test
public void shouldMatchNonExistingJsonPath() {
assertThat(JSON, withoutJsonPath(compile("$.not_there")));
assertThat(JSON, withoutJsonPath("$.not_there"));
}
@Test
public void shouldNotMatchExistingJsonPath() {
assertThat(JSON, not(withoutJsonPath(compile("$.name"))));
assertThat(JSON, not(withoutJsonPath("$.name")));
assertThat(JSON, not(withoutJsonPath("$.flag")));
assertThat(JSON, not(withoutJsonPath("$.empty_array")));
assertThat(JSON, not(withoutJsonPath("$.empty_object")));
assertThat(JSON, not(withoutJsonPath("$.none")));
}
@Test
public void shouldBeDescriptive() {
assertThat(withoutJsonPath("$.name"),
hasToString(equalTo("without json path \"$['name']\"")));
}
}