import java.util.LinkedHashMap;
import java.util.Map;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
/**
- * Unit tests for {@link YangInstanceIdentifierDeserializer}
+ * Unit tests for {@link YangInstanceIdentifierDeserializer}.
*/
public class YangInstanceIdentifierDeserializerTest {
@Before
public void init() throws Exception {
- schemaContext = TestRestconfUtils.loadSchemaContext("/restconf/parser/deserializer");
+ this.schemaContext =
+ YangParserTestUtils.parseYangSources(TestRestconfUtils.loadFiles("/restconf/parser/deserializer"));
}
/**
* Test of deserialization <code>String</code> URI with container to
- * <code>Iterable<YangInstanceIdentifier.PathArgument></code>.
+ * {@code Iterable<YangInstanceIdentifier.PathArgument>}.
*/
@Test
public void deserializeContainerTest() {
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer
- .create(schemaContext, "deserializer-test:contA");
+ .create(this.schemaContext, "deserializer-test:contA");
assertEquals("Result does not contains expected number of path arguments", 1, Iterables.size(result));
assertEquals("Not expected path argument",
/**
* Test of deserialization <code>String</code> URI with container containing leaf to
- * <code>Iterable<YangInstanceIdentifier.PathArgument></code>.
+ * {@code Iterable<YangInstanceIdentifier.PathArgument>}.
*/
@Test
public void deserializeContainerWithLeafTest() {
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer
- .create(schemaContext, "deserializer-test:contA/leaf-A");
+ .create(this.schemaContext, "deserializer-test:contA/leaf-A");
assertEquals("Result does not contains expected number of path arguments", 2, Iterables.size(result));
/**
* Test of deserialization <code>String</code> URI with container containing list with leaf list to
- * <code>Iterable<YangInstanceIdentifier.PathArgument></code>.
+ * {@code Iterable<YangInstanceIdentifier.PathArgument>}.
*/
@Test
public void deserializeContainerWithListWithLeafListTest() {
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer
- .create(schemaContext, "deserializer-test:contA/list-A=100/leaf-list-AA=instance");
+ .create(this.schemaContext, "deserializer-test:contA/list-A=100/leaf-list-AA=instance");
assertEquals("Result does not contains expected number of path arguments", 5, Iterables.size(result));
YangInstanceIdentifier.NodeIdentifier.create(leafList),
iterator.next());
assertEquals("Not expected path argument",
- new YangInstanceIdentifier.NodeWithValue(leafList, "instance"),
+ new YangInstanceIdentifier.NodeWithValue<>(leafList, "instance"),
iterator.next());
}
/**
* Test of deserialization <code>String</code> URI containing list with no keys to
- * <code>Iterable<YangInstanceIdentifier.PathArgument></code>.
+ * {@code Iterable<YangInstanceIdentifier.PathArgument>}.
*/
@Test
public void deserializeListWithNoKeysTest() {
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer
- .create(schemaContext, "deserializer-test:list-no-key");
+ .create(this.schemaContext, "deserializer-test:list-no-key");
assertEquals("Result does not contains expected number of path arguments", 2, Iterables.size(result));
/**
* Test of deserialization <code>String</code> URI containing list with one key to
- * <code>Iterable<YangInstanceIdentifier.PathArgument></code>.
+ * {@code Iterable<YangInstanceIdentifier.PathArgument>}.
*/
@Test
public void deserializeListWithOneKeyTest() {
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer
- .create(schemaContext, "deserializer-test:list-one-key=value");
+ .create(this.schemaContext, "deserializer-test:list-one-key=value");
assertEquals("Result does not contains expected number of path arguments", 2, Iterables.size(result));
/**
* Test of deserialization <code>String</code> URI containing list with multiple keys to
- * <code>Iterable<YangInstanceIdentifier.PathArgument></code>.
+ * {@code Iterable<YangInstanceIdentifier.PathArgument>}.
*/
@Test
public void deserializeListWithMultipleKeysTest() {
values.put(QName.create(list, "enabled"), false);
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer
- .create(schemaContext, "deserializer-test:list-multiple-keys=value,100,false");
+ .create(this.schemaContext, "deserializer-test:list-multiple-keys=value,100,false");
assertEquals("Result does not contains expected number of path arguments", 2, Iterables.size(result));
/**
* Test of deserialization <code>String</code> URI containing leaf list to
- * <code>Iterable<YangInstanceIdentifier.PathArgument></code>.
+ * {@code Iterable<YangInstanceIdentifier.PathArgument>}.
*/
@Test
public void deserializeLeafListTest() {
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer
- .create(schemaContext, "deserializer-test:leaf-list-0=true");
+ .create(this.schemaContext, "deserializer-test:leaf-list-0=true");
assertEquals("Result does not contains expected number of path arguments", 2, Iterables.size(result));
new YangInstanceIdentifier.NodeIdentifier(leafList),
iterator.next());
assertEquals("Not expected path argument",
- new YangInstanceIdentifier.NodeWithValue(leafList, true).toString(),
+ new YangInstanceIdentifier.NodeWithValue<>(leafList, true).toString(),
iterator.next().toString());
}
*/
@Test
public void deserializeEmptyDataTest() {
- final Iterable<PathArgument> result = YangInstanceIdentifierDeserializer.create(schemaContext, "");
+ final Iterable<PathArgument> result = YangInstanceIdentifierDeserializer.create(this.schemaContext, "");
assertTrue("Empty result expected", Iterables.isEmpty(result));
}
*/
@Test
public void deserializeNullSchemaContextNegativeTest() {
- thrown.expect(NullPointerException.class);
+ this.thrown.expect(NullPointerException.class);
YangInstanceIdentifierDeserializer.create(null, "deserializer-test:contA");
}
*/
@Test
public void nullDataNegativeNegativeTest() {
- thrown.expect(NullPointerException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, null);
+ this.thrown.expect(NullPointerException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, null);
}
/**
*/
@Test
public void deserializeBadCharMissingSlashOrEqualNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:cont*leaf-A");
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test:cont*leaf-A");
}
/**
*/
@Test
public void validArgIdentifierContainerEndsWithSlashNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:contA/");
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test:contA/");
}
/**
*/
@Test
public void validArgIdentifierListEndsWithSlashLNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:list-one-key=value/");
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test:list-one-key=value/");
}
/**
*/
@Test
public void prepareQnameEmptyIdentifierNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "/");
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "/");
}
/**
*/
@Test
public void prepareQnameTwoSlashesNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:contA//leaf-A");
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test:contA//leaf-A");
}
/**
*/
@Test
public void prepareQnameBuildPathNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test*contA");
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test*contA");
}
/**
*/
@Test
public void prepareQnameNotExistingPrefixNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "not-existing:contA");
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "not-existing:contA");
}
/**
*/
@Test
public void prepareQnameNotValidPrefixAndLocalNameNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:*not-parsable-identifier");
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test:*not-parsable-identifier");
}
/**
*/
@Test
public void prepareQnameErrorParsingNegativeTest() {
- thrown.expect(StringIndexOutOfBoundsException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:");
+ this.thrown.expect(StringIndexOutOfBoundsException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test:");
}
/**
@Test
public void prepareQnameNotValidContainerNameNegativeTest() {
try {
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:contA/leafB");
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test:contA/leafB");
fail("Test should fail due to unknown child node in container");
} catch (final RestconfDocumentedException e) {
assertEquals("Not expected error type",
@Test
public void prepareQnameNotValidListNameNegativeTest() {
try {
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:list-no-key/disabled=false");
+ YangInstanceIdentifierDeserializer
+ .create(this.schemaContext, "deserializer-test:list-no-key/disabled=false");
fail("Test should fail due to unknown child node in list");
} catch (final RestconfDocumentedException e) {
assertEquals("Not expected error type",
*/
@Test
public void prepareIdentifierNotKeyedEntryNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:list-one-key");
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test:list-one-key");
}
/**
*/
@Test
public void deserializeKeysEndsWithComaNegativeTest() {
- thrown.expect(IllegalArgumentException.class);
- YangInstanceIdentifierDeserializer.create( schemaContext,
+ this.thrown.expect(IllegalArgumentException.class);
+ YangInstanceIdentifierDeserializer.create(this.schemaContext,
"deserializer-test:list-multiple-keys=value,100,false,");
}
values.put(QName.create(list, "enabled"), "");
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer.create(
- schemaContext, "deserializer-test:list-multiple-keys=%3Afoo,,/string-value");
+ this.schemaContext, "deserializer-test:list-multiple-keys=%3Afoo,,/string-value");
assertEquals("Result does not contains expected number of path arguments", 3, Iterables.size(result));
public void notAllListKeysEncodedNegativeTest() {
try {
YangInstanceIdentifierDeserializer.create(
- schemaContext, "deserializer-test:list-multiple-keys=%3Afoo/string-value");
+ this.schemaContext, "deserializer-test:list-multiple-keys=%3Afoo/string-value");
fail("Test should fail due to missing list key values");
} catch (final RestconfDocumentedException e) {
assertEquals("Not expected error type",
*/
@Test
public void percentEncodedKeyEndsWithNoPercentEncodedChars() {
- final String URI = "deserializer-test:list-multiple-keys=%3Afoo,bar%3A,foo%3Abar";
+ final String URI = "deserializer-test:list-multiple-keys=%3Afoo,1,true";
final YangInstanceIdentifier result = YangInstanceIdentifier.create(
- YangInstanceIdentifierDeserializer.create(schemaContext, URI));
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, URI));
final Iterator<Map.Entry<QName, Object>> resultListKeys = ((YangInstanceIdentifier.NodeIdentifierWithPredicates)
result.getLastPathArgument()).getKeyValues().entrySet().iterator();
assertEquals(":foo", resultListKeys.next().getValue());
- assertEquals("bar:", resultListKeys.next().getValue());
- assertEquals("foo:bar", resultListKeys.next().getValue());
+ assertEquals(new Short("1"), resultListKeys.next().getValue());
+ assertEquals(true, resultListKeys.next().getValue());
}
/**
values.put(QName.create(list, "enabled"), "");
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer
- .create(schemaContext, "deserializer-test:list-multiple-keys=,,");
+ .create(this.schemaContext, "deserializer-test:list-multiple-keys=,,");
assertEquals("Result does not contains expected number of path arguments", 2, Iterables.size(result));
@Test
public void leafListMissingKeyNegativeTest() {
try {
- YangInstanceIdentifierDeserializer.create(schemaContext, "deserializer-test:leaf-list-0=");
+ YangInstanceIdentifierDeserializer.create(this.schemaContext, "deserializer-test:leaf-list-0=");
fail("Test should fail due to missing instance value");
} catch (final RestconfDocumentedException e) {
assertEquals("Not expected error type",
@Test
public void deserializePartInOtherModuleTest() {
final Iterable<YangInstanceIdentifier.PathArgument> result = YangInstanceIdentifierDeserializer.create(
- schemaContext, "deserializer-test-included:augmented-list=100/augmented-leaf");
+ this.schemaContext, "deserializer-test-included:augmented-list=100/augmented-leaf");
assertEquals("Result does not contains expected number of path arguments", 4, Iterables.size(result));