1 package io.fd.honeycomb.lisp.translate.write;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
5 import static org.junit.Assert.fail;
7 import io.fd.honeycomb.lisp.translate.write.trait.SubtableWriterTestCase;
8 import io.fd.honeycomb.translate.vpp.util.NamingContext;
9 import io.fd.honeycomb.translate.write.WriteFailedException;
10 import io.fd.vpp.jvpp.VppCallbackException;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.eid.table.grouping.EidTable;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.eid.table.grouping.eid.table.VniTable;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.eid.table.grouping.eid.table.VniTableKey;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.eid.table.grouping.eid.table.vni.table.BridgeDomainSubtable;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.eid.table.grouping.eid.table.vni.table.BridgeDomainSubtableBuilder;
18 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
20 public class BridgeDomainCustomizerTest extends SubtableWriterTestCase {
22 private BridgeDomainSubtableCustomizer customizer;
23 private InstanceIdentifier<BridgeDomainSubtable> validId;
24 private BridgeDomainSubtable validData;
25 private NamingContext bridgeDomainContext;
29 bridgeDomainContext = new NamingContext("br", "bridge-domain-context");
30 customizer = new BridgeDomainSubtableCustomizer(api, bridgeDomainContext);
31 validId = InstanceIdentifier.create(EidTable.class).child(VniTable.class, new VniTableKey(12L))
32 .child(BridgeDomainSubtable.class);
33 validData = new BridgeDomainSubtableBuilder().setBridgeDomainRef("br-domain").build();
34 defineMapping(mappingContext, "br-domain", 10, "bridge-domain-context");
38 public void testWriteSuccessfull() throws WriteFailedException {
39 whenAddDelEidTableAddDelMapSuccess();
40 customizer.writeCurrentAttributes(validId, validData, writeContext);
41 verifyAddDelEidTableAddDelMapInvokedCorrectly(1, 12, 10, 1);
45 public void testWriteFailed() throws WriteFailedException {
46 whenAddDelEidTableAddDelMapFail();
49 customizer.writeCurrentAttributes(validId, validData, writeContext);
50 } catch (Exception e) {
51 assertTrue(e instanceof WriteFailedException);
53 final WriteFailedException realException = ((WriteFailedException) e);
54 assertEquals(validId, realException.getFailedId());
55 assertTrue(e.getCause() instanceof VppCallbackException);
59 fail("Test should throw exception");
62 @Test(expected = UnsupportedOperationException.class)
63 public void testUpdate() throws WriteFailedException {
64 customizer.updateCurrentAttributes(validId, validData, validData, writeContext);
68 public void testDeleteSuccessfull() throws WriteFailedException {
69 whenAddDelEidTableAddDelMapSuccess();
70 customizer.deleteCurrentAttributes(validId, validData, writeContext);
71 verifyAddDelEidTableAddDelMapInvokedCorrectly(0, 12, 10, 1);
75 public void testDeleteFailed() {
76 whenAddDelEidTableAddDelMapFail();
79 customizer.deleteCurrentAttributes(validId, validData, writeContext);
80 } catch (Exception e) {
81 assertTrue(e instanceof WriteFailedException);
83 final WriteFailedException realException = ((WriteFailedException) e);
84 assertEquals(validId, realException.getFailedId());
85 assertTrue(e.getCause() instanceof VppCallbackException);
89 fail("Test should throw exception");