Reading s_tag from the subscriber
Change-Id: Id0be35c520dfa0316885d84f7089ef045e58dc70
diff --git a/xos/synchronizer/steps/test_sync_volt_service_instance.py b/xos/synchronizer/steps/test_sync_volt_service_instance.py
index 2df696e..d7877f6 100644
--- a/xos/synchronizer/steps/test_sync_volt_service_instance.py
+++ b/xos/synchronizer/steps/test_sync_volt_service_instance.py
@@ -13,6 +13,7 @@
# limitations under the License.
import unittest
+import functools
from mock import patch, call, Mock, PropertyMock
import requests_mock
@@ -43,6 +44,12 @@
def mock_get_westbound_service_instance_properties(prop):
return prop
+def match_json(desired, req):
+ if desired!=req.json():
+ raise Exception("Got request %s, but body is not matching" % req.url)
+ return False
+ return True
+
class TestSyncVOLTServiceInstance(unittest.TestCase):
def setUp(self):
global DeferredException
@@ -96,6 +103,7 @@
# create a mock service instance
o = Mock()
+ o.policy_code = 1
o.id = 1
o.owner_id = "volt_service"
o.onu_device = onu_device
@@ -127,9 +135,17 @@
@requests_mock.Mocker()
def test_do_sync(self, m):
- m.post("http://onos_voltha_url:4321/onos/olt/oltapp/of:dp_id/uni_port_id/c_tag", status_code=200, json={})
self.onu_device.pon_port.olt_device.dp_id = "of:dp_id"
+
+ expected_conf = {
+ "deviceId" : "of:dp_id",
+ "port" : "uni_port_id",
+ "sVlan" : "s_tag",
+ "cVlan" : "c_tag"
+ }
+
+ m.post("http://onos_voltha_url:4321/onos/olt/oltapp/subscribers", status_code=200, json={}, additional_matcher=functools.partial(match_json, expected_conf))
with patch.object(ServiceInstance.objects, "get") as service_instance_mock, \
patch.object(VOLTService.objects, "get") as olt_service_mock:
@@ -141,7 +157,15 @@
@requests_mock.Mocker()
def test_do_sync_fail(self, m):
- m.post("http://onos_voltha_url:4321/onos/olt/oltapp/of:dp_id/uni_port_id/c_tag", status_code=500, text="Mock Error")
+
+ expected_conf = {
+ "deviceId" : "of:dp_id",
+ "port" : "uni_port_id",
+ "sVlan" : "s_tag",
+ "cVlan" : "c_tag"
+ }
+
+ m.post("http://onos_voltha_url:4321/onos/olt/oltapp/subscribers", status_code=500, text="Mock Error", additional_matcher=functools.partial(match_json, expected_conf))
self.onu_device.pon_port.olt_device.dp_id = "of:dp_id"