summaryrefslogtreecommitdiffstats
path: root/test/test_oc_interfaces.py
diff options
context:
space:
mode:
authorAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2019-05-28 10:19:21 +0200
committerAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2019-06-03 10:01:26 +0200
commitadf44f2a5eeb056c5fece0454d3e09d08df160fe (patch)
treeaee220cedfccc15f59bccfae1ca7ec6b4a904809 /test/test_oc_interfaces.py
parent6dfe3074e92b3188c9fa72303f4135442cc0d5dd (diff)
[TEST] - Initialize to use of YDK in sweetcomb test
- remove netopeer client - use YDK - check result, assert when error Change-Id: Icb29dd5a35e8f7dbbeff2e44ec088b890f93b5ef Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
Diffstat (limited to 'test/test_oc_interfaces.py')
-rw-r--r--test/test_oc_interfaces.py94
1 files changed, 94 insertions, 0 deletions
diff --git a/test/test_oc_interfaces.py b/test/test_oc_interfaces.py
new file mode 100644
index 0000000..3b94945
--- /dev/null
+++ b/test/test_oc_interfaces.py
@@ -0,0 +1,94 @@
+#
+# Copyright (c) 2019 PANTHEON.tech.
+# Copyright (c) 2019 Cisco and/or its affiliates.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import unittest
+
+import util
+from framework import SweetcombTestCase
+from ydk.models.openconfig import openconfig_interfaces
+from ydk.models.ietf import iana_if_type
+from ydk.services import CRUDService
+from ydk.errors import YError
+
+
+class TestOcInterfaces(SweetcombTestCase):
+ cleanup = False
+
+ def setUp(self):
+ super(TestOcInterfaces, self).setUp()
+ self.create_topology()
+
+ def tearDown(self):
+ super(TestOcInterfaces, self).setUp()
+
+ self.topology.close_topology()
+
+ def test_interface(self):
+ name = "host-vpp1"
+ crud_service = CRUDService()
+
+ interface = openconfig_interfaces.Interfaces.Interface()
+ interface.name = name
+ interface.config.type = iana_if_type.EthernetCsmacd()
+ interface.config.enabled = True
+
+ try:
+ crud_service.create(self.netopeer_cli, interface)
+ except YError:
+ print("Error create services")
+
+ p = self.vppctl.show_interface(name)
+ self.assertIsNotNone(p)
+ self.assertEquals(interface.config.enabled, p.State)
+
+ interface.config.enabled = False
+
+ try:
+ crud_service.create(self.netopeer_cli, interface)
+ except YError as err:
+ print("Error create services: {}".format(err))
+
+ p = self.vppctl.show_interface(name)
+ self.assertIsNotNone(p)
+ self.assertEquals(interface.config.enabled, p.State)
+
+ @unittest.skip("YDK return error when try set IP address")
+ def test_interface_ipv4(self):
+ name = "host-vpp1"
+ crud_service = CRUDService()
+
+ interface = openconfig_interfaces.Interfaces.Interface()
+ interface.name = name
+ subinterface = interface.Subinterfaces.Subinterface()
+
+ addr = subinterface.ipv4.addresses.Address()
+ addr.ip = "10.0.0.2"
+ addr.config = addr.Config()
+ # FIXME It return error, why ??????????????????????
+ addr.config.ip = "10.0.0.2"
+ addr.config.prefix_length = 24
+ subinterface.index = 0
+ subinterface.ipv4.addresses.address.append(addr)
+ interface.subinterfaces.subinterface.append(subinterface)
+
+ try:
+ crud_service.create(self.netopeer_cli, interface)
+ except YError as err:
+ print("Error create services: {}".format(err))
+ assert()
+
+ a = self.vppctl.show_address(name)