diff --git a/core/api/src/test/java/org/onosproject/net/intent/ConnectivityIntentTest.java b/core/api/src/test/java/org/onosproject/net/intent/ConnectivityIntentTest.java
index 0f5b3d0..6e9d68c 100644
--- a/core/api/src/test/java/org/onosproject/net/intent/ConnectivityIntentTest.java
+++ b/core/api/src/test/java/org/onosproject/net/intent/ConnectivityIntentTest.java
@@ -15,8 +15,12 @@
  */
 package org.onosproject.net.intent;
 
+import java.util.Collections;
+import java.util.Map;
 import java.util.Set;
 
+import com.google.common.collect.Maps;
+import org.onlab.packet.VlanId;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.TestApplicationId;
 import org.onosproject.net.ConnectPoint;
@@ -38,6 +42,7 @@
     public static final IntentId IID = new IntentId(123);
     public static final TrafficSelector MATCH = DefaultTrafficSelector.emptySelector();
     public static final TrafficTreatment NOP = DefaultTrafficTreatment.emptyTreatment();
+    public static final Map<ConnectPoint, TrafficSelector> MATCHES = Collections.emptyMap();
 
     public static final ConnectPoint P1 = new ConnectPoint(DeviceId.deviceId("111"), PortNumber.portNumber(0x1));
     public static final ConnectPoint P2 = new ConnectPoint(DeviceId.deviceId("222"), PortNumber.portNumber(0x2));
@@ -45,4 +50,18 @@
 
     public static final Set<ConnectPoint> PS1 = itemSet(new ConnectPoint[]{P1, P3});
     public static final Set<ConnectPoint> PS2 = itemSet(new ConnectPoint[]{P2, P3});
+
+    public static final TrafficSelector VLANMATCH1 = DefaultTrafficSelector.builder()
+            .matchVlanId(VlanId.vlanId("2"))
+            .build();
+    public static final TrafficSelector VLANMATCH2 = DefaultTrafficSelector.builder()
+            .matchVlanId(VlanId.vlanId("3"))
+            .build();
+
+    public static final Map<ConnectPoint, TrafficSelector> VLANMATCHES = Maps.newHashMap();
+    static {
+        VLANMATCHES.put(P1, VLANMATCH1);
+        VLANMATCHES.put(P2, VLANMATCH2);
+    }
+
 }
