diff --git a/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java b/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
index 569a775..2fdac58 100644
--- a/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
+++ b/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
@@ -31,7 +31,9 @@
 import org.onosproject.net.intent.constraint.DomainConstraint;
 import org.onosproject.net.intent.constraint.LatencyConstraint;
 import org.onosproject.net.intent.constraint.LinkTypeConstraint;
+import org.onosproject.net.intent.constraint.MeteredConstraint;
 import org.onosproject.net.intent.constraint.ObstacleConstraint;
+import org.onosproject.net.intent.constraint.TierConstraint;
 import org.onosproject.net.intent.constraint.WaypointConstraint;
 
 import com.fasterxml.jackson.databind.JsonNode;
@@ -196,4 +198,37 @@
         Constraint constraint = getConstraint("DomainConstraint.json");
         assertThat(constraint, instanceOf(DomainConstraint.class));
     }
+
+    /**
+     * Tests metered constraint.
+     */
+    @Test
+    public void meteredConstraint() {
+        Constraint constraint = getConstraint("MeteredConstraint.json");
+        assertThat(constraint, instanceOf(MeteredConstraint.class));
+
+        MeteredConstraint meteredConstraint = (MeteredConstraint) constraint;
+
+        assertThat(meteredConstraint.isUseMetered(), is(true));
+    }
+
+    /**
+     * Tests tier constraint.
+     */
+    @Test
+    public void tierConstraint() {
+        Constraint constraint = getConstraint("TierConstraint.json");
+        assertThat(constraint, instanceOf(TierConstraint.class));
+
+        TierConstraint tierConstraint = (TierConstraint) constraint;
+
+        assertThat(tierConstraint.isInclusive(), is(true));
+        assertThat(tierConstraint.costType(), is(TierConstraint.CostType.ORDER));
+
+        assertThat(tierConstraint.tiers().get(0), is(3));
+        assertThat(tierConstraint.tiers().get(1), is(2));
+        assertThat(tierConstraint.tiers().get(2), is(1));
+    }
+
+
 }
diff --git a/core/common/src/test/resources/org/onosproject/codec/impl/MeteredConstraint.json b/core/common/src/test/resources/org/onosproject/codec/impl/MeteredConstraint.json
new file mode 100644
index 0000000..435f603
--- /dev/null
+++ b/core/common/src/test/resources/org/onosproject/codec/impl/MeteredConstraint.json
@@ -0,0 +1,4 @@
+{
+  "type":"MeteredConstraint",
+  "metered": true
+}
diff --git a/core/common/src/test/resources/org/onosproject/codec/impl/TierConstraint.json b/core/common/src/test/resources/org/onosproject/codec/impl/TierConstraint.json
new file mode 100644
index 0000000..4da785d
--- /dev/null
+++ b/core/common/src/test/resources/org/onosproject/codec/impl/TierConstraint.json
@@ -0,0 +1,6 @@
+{
+  "type":"TierConstraint",
+  "inclusive": true,
+  "costType": "ORDER",
+  "tiers": [3, 2, 1]
+}
