2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.binding.dom.adapter;
10 import java.util.List;
13 import org.junit.Test;
14 import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataTreeChangeListenerTest;
15 import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
16 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
17 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.Root;
18 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.RootBuilder;
19 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.FoorootBuilder;
20 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.fooroot.BarrootBuilder;
21 import org.opendaylight.yang.gen.v1.opendaylight.test.bug._2562.namespace.rev160101.root.fooroot.BarrootKey;
22 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
23 import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
25 public class Bug2562DeserializedUnkeyedListTest extends AbstractDataTreeChangeListenerTest {
26 private static final InstanceIdentifier<Root> ROOT_PATH = InstanceIdentifier.create(Root.class);
29 protected Set<YangModuleInfo> getModuleInfos() throws Exception {
30 return Set.of(BindingReflections.getModuleInfo(Root.class));
34 public void writeListToList2562Root() {
35 final var barRoot = new BarrootBuilder().setType(2).setValue(2).withKey(new BarrootKey(2)).build();
36 final var fooRoot = new FoorootBuilder().setBarroot(Map.of(barRoot.key(), barRoot)).build();
37 final var root = new RootBuilder().setFooroot(List.of(fooRoot)).build();
39 try (var collector = createCollector(LogicalDatastoreType.CONFIGURATION, ROOT_PATH)) {
40 final var readWriteTransaction = getDataBroker().newReadWriteTransaction();
41 readWriteTransaction.put(LogicalDatastoreType.CONFIGURATION, ROOT_PATH, root);
42 assertCommit(readWriteTransaction.commit());
44 collector.assertModifications(added(ROOT_PATH, root));