def test_create_gre_tunnel_on_demand(self): enable_logging(logging.ERROR) from ydk.models.ydktest import ydktest_sanity as ysanity from ydk.providers import NetconfServiceProvider from ydk.services import CRUDService provider = NetconfServiceProvider( "127.0.0.1", "admin", "admin", 12022) native = ysanity.Native() tunnel = native.interface.Tunnel() tunnel.name = 521 tunnel.description = "test tunnel" # Configure protocol-over-protocol tunneling tunnel.tunnel.source = "1.2.3.4" tunnel.tunnel.destination = "4.3.2.1" tunnel.tunnel.bandwidth.receive = 100000 tunnel.tunnel.bandwidth.transmit = 100000 native.interface.tunnel.append(tunnel) crud_service = CRUDService(); crud_service.create(provider, native)
def test_config_add_del(self): runner = ysanity.Runner() native = ysanity.Native() config = Config() config.append(runner) self.assertEqual(len(config), 1) self.assertEqual( format(config), "Entities in Config: ['ydk.models.ydktest.ydktest_sanity.Runner']") config.append(native) self.assertEqual(len(config), 2) self.assertEqual(config.has_key(runner.path()), True) self.assertEqual( format(config), "Entities in Config: ['ydk.models.ydktest.ydktest_sanity.Runner', 'ydk.models.ydktest.ydktest_sanity.Native']" ) del config[native.path()] self.assertEqual(len(config), 1) self.assertEqual(config.has_key(native.path()), False) del config[runner] self.assertEqual(len(config), 0)
def test_access_config_by_item_no(self): runner = ysanity.Runner() native = ysanity.Native() config = Config([runner, native]) self.assertEqual(format(config[0]), "ydk.models.ydktest.ydktest_sanity.Runner") self.assertEqual(format(config[1]), "ydk.models.ydktest.ydktest_sanity.Native") config.clear()
def test_access_config_by_iter(self): runner = ysanity.Runner() native = ysanity.Native() config = Config(runner, native) for entity in config: print(entity) self.assertEqual(len(config), 2) config.clear()
def test_edit_get_config_collection(self): runner = ysanity.Runner() runner.two.number = 2 runner.two.name = 'runner-two-name' native = ysanity.Native() native.hostname = 'NewHostName' native.version = '0.1.0a' edit_config = Config([runner, native]) op = self.netconf_service.edit_config(self.ncc, Datastore.candidate, edit_config) self.assertEqual(True, op) get_filter = Filter([ysanity.Runner(), ysanity.Native()]) config = self.netconf_service.get_config(self.ncc, Datastore.candidate, get_filter) self.assertEqual(edit_config, config) op = self.netconf_service.discard_changes(self.ncc)
def test_access_config_by_key(self): runner = ysanity.Runner() native = ysanity.Native() config = Config(runner, native) for key in config.keys(): if key=='ydktest-sanity:runner': self.assertEqual(config[key].path(), 'ydktest-sanity:runner') else: self.assertEqual(config[key].path(), 'ydktest-sanity:native') config.clear()
def test_crud_read_collection(self): crud = CRUDService() # Build configuration of multiple objects create_list = Config() native = ysanity.Native() native.hostname = 'NativeHost' native.version = '0.1.0' create_list.append(native) bgp = openconfig.Bgp() bgp.global_.config.as_ = 65001 bgp.global_.config.router_id = "1.2.3.4" create_list.append(bgp) create_list = Config([native, bgp]) # Configure device result = crud.create(self.ncc, create_list) self.assertEqual(result, True) # Read configuration read_filter = Filter([ysanity.Native(), openconfig.Bgp()]) read_config = crud.read(self.ncc, read_filter) self.assertEqual(isinstance(read_config, Config), True) self.assertEqual(len(read_config), 2) # Print configuration codec_service = CodecService() codec_provider = CodecServiceProvider() codec_provider.encoding = EncodingFormat.XML for entity in read_config: xml = codec_service.encode(codec_provider, entity) print('\n===== Printing entity: {}'.format(entity)) print(xml) # Delete configuration result = crud.delete(self.ncc, create_list) self.assertEqual(result, True)
def test_filter_list(self): runner = ysanity.Runner() native = ysanity.Native() read_filter = Filter(runner, native) self.assertEqual(read_filter.keys(), ['ydktest-sanity:runner', 'ydktest-sanity:native']) all_entities = read_filter.entities() self.assertEqual(format(all_entities[0]), 'ydk.models.ydktest.ydktest_sanity.Runner') self.assertEqual(format(all_entities[1]), 'ydk.models.ydktest.ydktest_sanity.Native') self.assertEqual(format(read_filter[runner]), 'ydk.models.ydktest.ydktest_sanity.Runner') self.assertEqual(format(read_filter[runner.path()]), 'ydk.models.ydktest.ydktest_sanity.Runner') read_filter.clear()
def test_sanity_crud_read_interface(self): enable_logging(logging.ERROR) address = ysanity.Native.Interface.Loopback.Ipv4.Address(); address.ip = "2.2.2.2" address.netmask = "255.255.255.255" loopback = ysanity.Native.Interface.Loopback() loopback.name = 2222 loopback.ipv4.address.append(address) native = ysanity.Native() native.interface.loopback.append(loopback) crud = CRUDService() result = crud.create(self.ncc, native) native_read = ysanity.Native() interfaces = crud.read(self.ncc, native_read) codec_service = CodecService() codec_provider = CodecServiceProvider() codec_provider.encoding = EncodingFormat.XML xml_encode = codec_service.encode(codec_provider, interfaces)
def test_init_delete(self): runner = ysanity.Runner() native = ysanity.Native() anydata = Config(runner) deleted = anydata.pop(0) self.assertEqual(deleted.__class__.__name__, "Runner") anydata = Config() anydata.append([runner, native]) deleted = anydata.pop('ydktest-sanity:native') self.assertEqual(len(anydata), 1) self.assertEqual(deleted.__class__.__name__, "Native") deleted = anydata.pop('ydktest-sanity:native') self.assertEqual(deleted, None) deleted = anydata.pop(runner) self.assertEqual(deleted.__class__.__name__, "Runner")