Added a test-case to include non-atomic column to test the ser/de-ser pipeline in... 35/7335/1
authorMadhu Venugopal <mavenugo@gmail.com>
Thu, 22 May 2014 14:16:25 +0000 (07:16 -0700)
committerMadhu Venugopal <mavenugo@gmail.com>
Thu, 22 May 2014 14:16:25 +0000 (07:16 -0700)
Please note that, this is added to make sure we will replace the ugliness of OvsDBSet/OvsDBMap from the Client
facing API towards internals.

Change-Id: I3d798816e697f53af3f07b504ad06715e5ab7393
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
library/src/test/java/org/opendaylight/ovsdb/lib/OvsDBClientTestIT.java

index 66e97563a6631bc5bc1e61597aeef6292ac7f72b..52d31859068dea9af48978be9b4ed10d1ed3846a 100644 (file)
@@ -29,6 +29,7 @@ import org.opendaylight.ovsdb.lib.message.OvsdbRPC;
 import org.opendaylight.ovsdb.lib.message.TableUpdate;
 import org.opendaylight.ovsdb.lib.message.TableUpdates;
 import org.opendaylight.ovsdb.lib.message.UpdateNotification;
+import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
 import org.opendaylight.ovsdb.lib.operations.OperationResult;
 import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
 import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
@@ -38,6 +39,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
 import com.google.common.util.concurrent.ListenableFuture;
 
 
@@ -60,8 +62,18 @@ public class OvsDBClientTestIT extends OvsdbTestBase {
         ColumnSchema<GenericTableSchema, String> name = bridge.column("name", String.class);
         ColumnSchema<GenericTableSchema, String> fail_mode = bridge.column("fail_mode", String.class);
 
+        /*
+         * Adding a Test around non-atomic columns, since Set/Map columns requires special
+         * serialization/deserailzation for OVSDB Bidirection JSON.
+         * TODO : Replace this with regular Set and hide the ugliness of OvsDBSet inside the API.
+         */
+        ColumnSchema<GenericTableSchema, OvsDBSet> flood_vlans = bridge.column("flood_vlans", OvsDBSet.class);
+        OvsDBSet vlans = new OvsDBSet();
+        vlans.addAll(Sets.newHashSet(100, 200));
         ListenableFuture<List<OperationResult>> results = ovs.transactBuilder()
-                .add(op.insert(bridge).value(name, "br-int"))
+                .add(op.insert(bridge)
+                     .value(name, "br-int")
+                     .value(flood_vlans, vlans))
                 .add(op.update(bridge)
                         .set(fail_mode, "secure")
                         .where(name.opEqual("br-int"))
@@ -117,6 +129,7 @@ public class OvsDBClientTestIT extends OvsdbTestBase {
                 MonitorRequestBuilder.builder(bridge)
                         .addColumn(bridge.column("name"))
                         .addColumn(bridge.column("fail_mode", String.class))
+                        .addColumn(bridge.column("flood_vlans"))
                         .with(new MonitorSelect(true, true, true, true))
                         .build());