/src/test/java/com/t11e/discovery/datatool/JsonColumnsTest.java
http://github.com/t11e/discovery_datatool · Java · 117 lines · 113 code · 4 blank · 0 comment · 0 complexity · 0bc2a60c707dfd58d0392b216451b12e MD5 · raw file
- package com.t11e.discovery.datatool;
- import java.util.Arrays;
- import java.util.Collections;
- import org.dom4j.Document;
- import org.junit.Test;
- public class JsonColumnsTest
- extends EndToEndTestBase
- {
- @Test
- public void testDefault()
- {
- final Document doc = assertChangeset("none", "", "snapshot",
- Arrays.asList("1", "2", "3"),
- Collections.<String> emptyList(),
- false);
- assertXpath("joe", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='name']/string/text()");
- assertXpath("{'name':'joseph','age':21}".replace('\'', '"'), doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='JSON']/string/text()");
- }
- @Test
- public void legacy()
- {
- testScopedJson("legacy");
- }
- @Test
- public void scoped()
- {
- testScopedJson("scoped");
- }
- private void testScopedJson(final String publisher)
- {
- final Document doc = assertChangeset(publisher, "", "snapshot",
- Arrays.asList("1", "2", "3"),
- Collections.<String> emptyList(),
- false);
- assertXpath("joe", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='name']/string/text()");
- assertXpath("joseph", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='JSON']/struct/entry[@name='name']/string/text()");
- assertXpath("21", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='JSON']/struct/entry[@name='age']/int/text()");
- }
- @Test
- public void unscoped()
- {
- final Document doc = assertChangeset("unscoped", "", "snapshot",
- Arrays.asList("1", "2", "3"),
- Collections.<String> emptyList(),
- false);
- assertXpath("joseph", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='name']/string/text()");
- assertXpath("21", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='age']/int/text()");
- }
- @Test
- public void unscopedOrder()
- {
- final Document doc = assertChangeset("unscoped-order", "", "snapshot",
- Arrays.asList("1", "2", "3"),
- Collections.<String> emptyList(),
- false);
- assertXpath("joe", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='name']/string/text()");
- assertXpath("21", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='age']/int/text()");
- }
- @Test
- public void mixed()
- {
- final Document doc = assertChangeset("mixed", "", "snapshot",
- Arrays.asList("1", "2", "3"),
- Collections.<String> emptyList(),
- false);
- assertXpath("joseph", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='name']/string/text()");
- assertXpath("21", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='age']/int/text()");
- assertXpath("joseph", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='JSON']/struct/entry[@name='name']/string/text()");
- assertXpath("21", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='JSON']/struct/entry[@name='age']/int/text()");
- }
- @Test
- public void mixedUpper()
- {
- final Document doc = assertChangeset("mixed-upper", "", "snapshot",
- Arrays.asList("1", "2", "3"),
- Collections.<String> emptyList(),
- false);
- assertXpath("joseph", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='NAME']/string/text()");
- assertXpath("21", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='AGE']/int/text()");
- assertXpath("joseph", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='JSON']/struct/entry[@name='name']/string/text()");
- assertXpath("21", doc,
- "/changeset/set-item[@id='1']/properties/struct/entry[@name='JSON']/struct/entry[@name='age']/int/text()");
- }
- }