@@ -375,16 +375,16 @@ def test_ConfigDBConnector():
375
375
assert config_db .db_name == "CONFIG_DB"
376
376
assert config_db .TABLE_NAME_SEPARATOR == "|"
377
377
config_db .get_redis_client (config_db .CONFIG_DB ).flushdb ()
378
- config_db .set_entry ("TEST_PORT " , "Ethernet111" , {"alias" : "etp1x" })
378
+ config_db .set_entry ("PORT " , "Ethernet111" , {"alias" : "etp1x" })
379
379
allconfig = config_db .get_config ()
380
- assert allconfig ["TEST_PORT " ]["Ethernet111" ]["alias" ] == "etp1x"
380
+ assert allconfig ["PORT " ]["Ethernet111" ]["alias" ] == "etp1x"
381
381
382
- config_db .set_entry ("TEST_PORT " , "Ethernet111" , {"mtu" : "12345" })
382
+ config_db .set_entry ("PORT " , "Ethernet111" , {"mtu" : "12345" })
383
383
allconfig = config_db .get_config ()
384
- assert "alias" not in allconfig ["TEST_PORT " ]["Ethernet111" ]
385
- assert allconfig ["TEST_PORT " ]["Ethernet111" ]["mtu" ] == "12345"
384
+ assert "alias" not in allconfig ["PORT " ]["Ethernet111" ]
385
+ assert allconfig ["PORT " ]["Ethernet111" ]["mtu" ] == "12345"
386
386
387
- config_db .delete_table ("TEST_PORT " )
387
+ config_db .delete_table ("PORT " )
388
388
allconfig = config_db .get_config ()
389
389
assert len (allconfig ) == 0
390
390
@@ -418,27 +418,27 @@ def test_ConfigDBPipeConnector():
418
418
#
419
419
420
420
# Verify entry set
421
- config_db .set_entry ("PORT_TABLE " , "Ethernet1" , {"alias" : "etp1x" })
421
+ config_db .set_entry ("PORT " , "Ethernet1" , {"alias" : "etp1x" })
422
422
allconfig = config_db .get_config ()
423
- assert allconfig ["PORT_TABLE " ]["Ethernet1" ]["alias" ] == "etp1x"
423
+ assert allconfig ["PORT " ]["Ethernet1" ]["alias" ] == "etp1x"
424
424
425
425
config_db .set_entry ("ACL_TABLE" , "EVERFLOW" , {"ports" : ["Ethernet0" , "Ethernet4" , "Ethernet8" , "Ethernet12" ]})
426
426
allconfig = config_db .get_config ()
427
427
assert allconfig ["ACL_TABLE" ]["EVERFLOW" ]["ports" ] == ["Ethernet0" , "Ethernet4" , "Ethernet8" , "Ethernet12" ]
428
428
429
429
# Verify entry update
430
- config_db .set_entry ("PORT_TABLE " , "Ethernet1" , {"mtu" : "12345" })
430
+ config_db .set_entry ("PORT " , "Ethernet1" , {"mtu" : "12345" })
431
431
allconfig = config_db .get_config ()
432
- assert "alias" not in allconfig ["PORT_TABLE " ]["Ethernet1" ]
433
- assert allconfig ["PORT_TABLE " ]["Ethernet1" ]["mtu" ] == "12345"
432
+ assert "alias" not in allconfig ["PORT " ]["Ethernet1" ]
433
+ assert allconfig ["PORT " ]["Ethernet1" ]["mtu" ] == "12345"
434
434
435
435
# Verify entry clear
436
- config_db .set_entry ("PORT_TABLE " , "Ethernet1" , {})
436
+ config_db .set_entry ("PORT " , "Ethernet1" , {})
437
437
allconfig = config_db .get_config ()
438
- assert len (allconfig ["PORT_TABLE " ]["Ethernet1" ]) == 0
438
+ assert len (allconfig ["PORT " ]["Ethernet1" ]) == 0
439
439
440
440
# Verify entry delete
441
- config_db .set_entry ("PORT_TABLE " , "Ethernet1" , None )
441
+ config_db .set_entry ("PORT " , "Ethernet1" , None )
442
442
config_db .set_entry ("ACL_TABLE" , "EVERFLOW" , None )
443
443
allconfig = config_db .get_config ()
444
444
assert len (allconfig ) == 0
@@ -448,17 +448,17 @@ def test_ConfigDBPipeConnector():
448
448
#
449
449
450
450
# Verify entry set
451
- allconfig .setdefault ("PORT_TABLE " , {}).setdefault ("Ethernet1" , {})
452
- allconfig ["PORT_TABLE " ]["Ethernet1" ]["alias" ] = "etp1x"
451
+ allconfig .setdefault ("PORT " , {}).setdefault ("Ethernet1" , {})
452
+ allconfig ["PORT " ]["Ethernet1" ]["alias" ] = "etp1x"
453
453
config_db .mod_config (allconfig )
454
454
allconfig = config_db .get_config ()
455
- assert allconfig ["PORT_TABLE " ]["Ethernet1" ]["alias" ] == "etp1x"
455
+ assert allconfig ["PORT " ]["Ethernet1" ]["alias" ] == "etp1x"
456
456
457
- allconfig .setdefault ("VLAN_TABLE " , {})
458
- allconfig ["VLAN_TABLE " ]["Vlan1" ] = {}
457
+ allconfig .setdefault ("VLAN " , {})
458
+ allconfig ["VLAN " ]["Vlan1" ] = {}
459
459
config_db .mod_config (allconfig )
460
460
allconfig = config_db .get_config ()
461
- assert len (allconfig ["VLAN_TABLE " ]["Vlan1" ]) == 0
461
+ assert len (allconfig ["VLAN " ]["Vlan1" ]) == 0
462
462
463
463
allconfig .setdefault ("ACL_TABLE" , {}).setdefault ("EVERFLOW" , {})
464
464
allconfig ["ACL_TABLE" ]["EVERFLOW" ]["ports" ] = ["Ethernet0" , "Ethernet4" , "Ethernet8" , "Ethernet12" ]
@@ -467,8 +467,8 @@ def test_ConfigDBPipeConnector():
467
467
assert allconfig ["ACL_TABLE" ]["EVERFLOW" ]["ports" ] == ["Ethernet0" , "Ethernet4" , "Ethernet8" , "Ethernet12" ]
468
468
469
469
# Verify entry delete
470
- allconfig ["PORT_TABLE " ]["Ethernet1" ] = None
471
- allconfig ["VLAN_TABLE " ]["Vlan1" ] = None
470
+ allconfig ["PORT " ]["Ethernet1" ] = None
471
+ allconfig ["VLAN " ]["Vlan1" ] = None
472
472
allconfig ["ACL_TABLE" ]["EVERFLOW" ] = None
473
473
config_db .mod_config (allconfig )
474
474
allconfig = config_db .get_config ()
@@ -477,20 +477,20 @@ def test_ConfigDBPipeConnector():
477
477
# Verify table delete
478
478
for i in range (1 , 1001 , 1 ):
479
479
# Make sure we have enough entries to trigger REDIS_SCAN_BATCH_SIZE
480
- allconfig .setdefault ("PORT_TABLE " , {}).setdefault ("Ethernet{}" .format (i ), {})
481
- allconfig ["PORT_TABLE " ]["Ethernet{}" .format (i )]["alias" ] = "etp{}x" .format (i )
480
+ allconfig .setdefault ("PORT " , {}).setdefault ("Ethernet{}" .format (i ), {})
481
+ allconfig ["PORT " ]["Ethernet{}" .format (i )]["alias" ] = "etp{}x" .format (i )
482
482
483
483
config_db .mod_config (allconfig )
484
484
allconfig = config_db .get_config ()
485
- assert len (allconfig ["PORT_TABLE " ]) == 1000
485
+ assert len (allconfig ["PORT " ]) == 1000
486
486
487
487
# Verify modify config with {} will no action
488
- config_db .mod_config ({'PORT_TABLE ' :{}})
488
+ config_db .mod_config ({'PORT ' :{}})
489
489
allconfig = config_db .get_config ()
490
- assert len (allconfig ["PORT_TABLE " ]) == 1000
490
+ assert len (allconfig ["PORT " ]) == 1000
491
491
492
492
# Verify modify config with None will delete table
493
- allconfig ["PORT_TABLE " ] = None
493
+ allconfig ["PORT " ] = None
494
494
config_db .mod_config (allconfig )
495
495
allconfig = config_db .get_config ()
496
496
assert len (allconfig ) == 0
@@ -514,16 +514,16 @@ def test_ConfigDBPipeConnectorSeparator():
514
514
config_db = ConfigDBPipeConnector ()
515
515
config_db .db_connect ("CONFIG_DB" , False , False )
516
516
config_db .get_redis_client (config_db .CONFIG_DB ).flushdb ()
517
- config_db .set_entry ("TEST_PORT " , "Ethernet222" , {"alias" : "etp2x" })
517
+ config_db .set_entry ("PORT " , "Ethernet222" , {"alias" : "etp2x" })
518
518
db .set ("ItemWithoutSeparator" , "item11" )
519
519
allconfig = config_db .get_config ()
520
- assert "TEST_PORT " in allconfig
520
+ assert "PORT " in allconfig
521
521
assert "ItemWithoutSeparator" not in allconfig
522
522
523
523
alltable = config_db .get_table ("*" )
524
524
assert "Ethernet222" in alltable
525
525
526
- config_db .delete_table ("TEST_PORT " )
526
+ config_db .delete_table ("PORT " )
527
527
db .delete ("ItemWithoutSeparator" )
528
528
allconfig = config_db .get_config ()
529
529
assert len (allconfig ) == 0
@@ -532,10 +532,11 @@ def test_ConfigDBScan():
532
532
config_db = ConfigDBPipeConnector ()
533
533
config_db .connect (wait_for_init = False )
534
534
config_db .get_redis_client (config_db .CONFIG_DB ).flushdb ()
535
- n = 1000
535
+ tables = ["CRM" , "DEVICE_METADATA" , "FEATURE" , "PORT" , "SNMP" ]
536
+ n = len (tables )
536
537
for i in range (0 , n ):
537
538
s = str (i )
538
- config_db .mod_entry ("TEST_TYPE" + s , "Ethernet " + s , {"alias" + s : "etp" + s })
539
+ config_db .mod_entry (tables [ i ] , "key " + s , {"alias" + s : "etp" + s })
539
540
540
541
allconfig = config_db .get_config ()
541
542
assert len (allconfig ) == n
@@ -547,12 +548,21 @@ def test_ConfigDBScan():
547
548
548
549
for i in range (0 , n ):
549
550
s = str (i )
550
- config_db .delete_table ("TEST_TYPE" + s )
551
+ config_db .delete_table (tables [i ])
552
+
553
+
554
+ def test_ConfigDB_non_yang_table_raise_error ():
555
+ config_db = ConfigDBConnector ()
556
+ config_db .connect (wait_for_init = False )
557
+ with pytest .raises (ValueError ) as excinfo :
558
+ config_db .set_entry ("TEST_PORT" , "Ethernet111" , {"alias" : "etp1x" })
559
+ assert str (excinfo .value ) == "TEST_PORT is not supported due to missing YANG model"
560
+
551
561
552
562
def test_ConfigDBFlush ():
553
563
config_db = ConfigDBConnector ()
554
564
config_db .connect (wait_for_init = False )
555
- config_db .set_entry ("TEST_PORT " , "Ethernet111" , {"alias" : "etp1x" })
565
+ config_db .set_entry ("PORT " , "Ethernet111" , {"alias" : "etp1x" })
556
566
client = config_db .get_redis_client (config_db .CONFIG_DB )
557
567
558
568
assert ConfigDBConnector .INIT_INDICATOR == "CONFIG_DB_INITIALIZED"
@@ -585,7 +595,7 @@ def test_multidb_ConfigDBConnector():
585
595
586
596
587
597
def test_ConfigDBSubscribe ():
588
- table_name = 'TEST_TABLE '
598
+ table_name = 'PORT '
589
599
test_key = 'key1'
590
600
test_data = {'field1' : 'value1' }
591
601
global output_data
@@ -642,9 +652,9 @@ def thread_coming_entry():
642
652
assert table_name not in config_db .handlers
643
653
644
654
def test_ConfigDBInit ():
645
- table_name_1 = 'TEST_TABLE_1 '
646
- table_name_2 = 'TEST_TABLE_2 '
647
- table_name_3 = 'TEST_TABLE_3 '
655
+ table_name_1 = 'DEVICE_METADATA '
656
+ table_name_2 = 'FEATURE '
657
+ table_name_3 = 'PORT '
648
658
test_key = 'key1'
649
659
test_data = {'field1' : 'value1' , 'field2' : 'value2' }
650
660
@@ -777,9 +787,9 @@ def test_ConfigDBWaitInit():
777
787
config_db = ConfigDBConnector ()
778
788
config_db .db_connect (config_db .CONFIG_DB , True , False )
779
789
780
- config_db .set_entry ("TEST_PORT " , "Ethernet111" , {"alias" : "etp1x" })
790
+ config_db .set_entry ("PORT " , "Ethernet111" , {"alias" : "etp1x" })
781
791
allconfig = config_db .get_config ()
782
- assert allconfig ["TEST_PORT " ]["Ethernet111" ]["alias" ] == "etp1x"
792
+ assert allconfig ["PORT " ]["Ethernet111" ]["alias" ] == "etp1x"
783
793
784
794
785
795
def test_ConfigDBConnector ():
@@ -795,20 +805,20 @@ def test_ConfigDBConnector():
795
805
allconfig = config_db .get_config ()
796
806
for i in range (1 , 1001 , 1 ):
797
807
# Make sure we have enough entries to trigger REDIS_SCAN_BATCH_SIZE
798
- allconfig .setdefault ("PORT_TABLE " , {}).setdefault ("Ethernet{}" .format (i ), {})
799
- allconfig ["PORT_TABLE " ]["Ethernet{}" .format (i )]["alias" ] = "etp{}x" .format (i )
808
+ allconfig .setdefault ("PORT " , {}).setdefault ("Ethernet{}" .format (i ), {})
809
+ allconfig ["PORT " ]["Ethernet{}" .format (i )]["alias" ] = "etp{}x" .format (i )
800
810
801
811
config_db .mod_config (allconfig )
802
812
allconfig = config_db .get_config ()
803
- assert len (allconfig ["PORT_TABLE " ]) == 1000
813
+ assert len (allconfig ["PORT " ]) == 1000
804
814
805
815
# Verify modify config with {} will no action
806
- config_db .mod_config ({'PORT_TABLE ' :{}})
816
+ config_db .mod_config ({'PORT ' :{}})
807
817
allconfig = config_db .get_config ()
808
- assert len (allconfig ["PORT_TABLE " ]) == 1000
818
+ assert len (allconfig ["PORT " ]) == 1000
809
819
810
820
# Verify modify config with None will delete table
811
- allconfig ["PORT_TABLE " ] = None
821
+ allconfig ["PORT " ] = None
812
822
config_db .mod_config (allconfig )
813
823
allconfig = config_db .get_config ()
814
824
assert len (allconfig ) == 0
@@ -824,9 +834,9 @@ def test_ConfigDBConnector_with_statement(self):
824
834
assert config_db .db_name == "CONFIG_DB"
825
835
assert config_db .TABLE_NAME_SEPARATOR == "|"
826
836
config_db .get_redis_client (config_db .CONFIG_DB ).flushdb ()
827
- config_db .set_entry ("TEST_PORT " , "Ethernet111" , {"alias" : "etp1x" })
837
+ config_db .set_entry ("PORT " , "Ethernet111" , {"alias" : "etp1x" })
828
838
allconfig = config_db .get_config ()
829
- assert allconfig ["TEST_PORT " ]["Ethernet111" ]["alias" ] == "etp1x"
839
+ assert allconfig ["PORT " ]["Ethernet111" ]["alias" ] == "etp1x"
830
840
831
841
# check close() method called by with statement
832
842
ConfigDBConnector .close .assert_called_once_with ()
0 commit comments