diff options
author | 2019-05-28 10:19:21 +0200 | |
---|---|---|
committer | 2019-06-03 10:01:26 +0200 | |
commit | adf44f2a5eeb056c5fece0454d3e09d08df160fe (patch) | |
tree | aee220cedfccc15f59bccfae1ca7ec6b4a904809 /test/test_oc_interfaces.py | |
parent | 6dfe3074e92b3188c9fa72303f4135442cc0d5dd (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.py | 94 |
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) |