[CORD-3091] Pulling NNI and PON ports

Change-Id: I001782ffd8a092371f4939869c9c6dda2360bf98
diff --git a/xos/synchronizer/steps/test_sync_olt_device.py b/xos/synchronizer/steps/test_sync_olt_device.py
index 55d477e..4d785b5 100644
--- a/xos/synchronizer/steps/test_sync_olt_device.py
+++ b/xos/synchronizer/steps/test_sync_olt_device.py
@@ -53,6 +53,7 @@
 
 class TestSyncOLTDevice(unittest.TestCase):
     def setUp(self):
+        global DeferredException
         self.sys_path_save = sys.path
         sys.path.append(xos_dir)
         sys.path.append(os.path.join(xos_dir, 'synchronizers', 'new_base'))
@@ -74,7 +75,7 @@
                                                          get_models_fn("../profiles/rcord", "rcord.xproto")])
 
         import synchronizers.new_base.modelaccessor
-        from sync_olt_device import SyncOLTDevice
+        from sync_olt_device import SyncOLTDevice, DeferredException
         self.sync_step = SyncOLTDevice
 
         pon_port = Mock()
@@ -108,7 +109,7 @@
 
         o.save.return_value = "Saved"
 
-        o.ports.all.return_value = [pon_port]
+        o.pon_ports.all.return_value = [pon_port]
 
         self.o = o
 
@@ -221,5 +222,16 @@
 
         # We don't need to assert here if there are no exceptions happening
 
+    def test_deferred_for_port(self):
+        self.o.pon_ports.all.side_effect = Exception
+        with self.assertRaises(DeferredException) as e:
+            self.sync_step().configure_onos(self.o)
+        self.assertEqual(e.exception.message, "Waiting for pon_ports to come up")
+
+        self.o.pon_ports.all.return_value = []
+        with self.assertRaises(DeferredException) as e:
+            self.sync_step().configure_onos(self.o)
+        self.assertEqual(e.exception.message, "Waiting for pon_ports to come up")
+
 if __name__ == "__main__":
     unittest.main()