Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vstest]Migrating vs tests from using click commands to direct DB access #2179

Merged
merged 2 commits into from
Mar 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -1157,6 +1157,44 @@ def getCrmCounterValue(self, key, counter):
if k[0] == counter:
return int(k[1])

def port_field_set(self, port, field, value):
cdb = swsscommon.DBConnector(4, self.redis_sock, 0)
tbl = swsscommon.Table(cdb, "PORT")
fvs = swsscommon.FieldValuePairs([(field, value)])
tbl.set(port, fvs)
time.sleep(1)

def port_admin_set(self, port, status):
self.port_field_set(port, "admin_status", status)

def interface_ip_add(self, port, ip_address):
cdb = swsscommon.DBConnector(4, self.redis_sock, 0)
tbl = swsscommon.Table(cdb, "INTERFACE")
fvs = swsscommon.FieldValuePairs([("NULL", "NULL")])
tbl.set(port, fvs)
tbl.set(port + "|" + ip_address, fvs)
time.sleep(1)

def crm_poll_set(self, value):
cdb = swsscommon.DBConnector(4, self.redis_sock, 0)
tbl = swsscommon.Table(cdb, "CRM")
fvs = swsscommon.FieldValuePairs([("polling_interval", value)])
tbl.set("Config", fvs)
time.sleep(1)

def clear_fdb(self):
adb = swsscommon.DBConnector(0, self.redis_sock, 0)
opdata = ["ALL", "ALL"]
msg = json.dumps(opdata,separators=(',',':'))
adb.publish('FLUSHFDBREQUEST', msg)

def warm_restart_swss(self, enable):
db = swsscommon.DBConnector(6, self.redis_sock, 0)

tbl = swsscommon.Table(db, "WARM_RESTART_ENABLE_TABLE")
fvs = swsscommon.FieldValuePairs([("enable",enable)])
tbl.set("swss", fvs)

# deps: acl, crm, fdb
def setReadOnlyAttr(self, obj, attr, val):
db = swsscommon.DBConnector(swsscommon.ASIC_DB, self.redis_sock, 0)
Expand Down
2 changes: 1 addition & 1 deletion tests/p4rt/test_l3.py
Original file line number Diff line number Diff line change
Expand Up @@ -1328,7 +1328,7 @@ def test_PruneNextHopOnWarmBoot(self, dvs, testlog):
util.set_interface_status(dvs, if_name)

# Execute the warm reboot.
dvs.runcmd("config warm_restart enable swss")
dvs.warm_restart_swss("true")
dvs.stop_swss()
dvs.start_swss()

Expand Down
4 changes: 2 additions & 2 deletions tests/p4rt/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@ def get_port_oid_by_name(dvs, port_name):
return port_oid

def initialize_interface(dvs, port_name, ip):
dvs.runcmd("config interface startup {}".format(port_name))
dvs.runcmd("config interface ip add {} {}".format(port_name, ip))
dvs.port_admin_set(port_name, "up")
dvs.interface_ip_add(port_name, ip)

def set_interface_status(dvs, if_name, status = "down", server = 0):
dvs.servers[0].runcmd("ip link set {} dev {}".format(status, if_name)) == 0
Expand Down
4 changes: 2 additions & 2 deletions tests/test_acl.py
Original file line number Diff line number Diff line change
Expand Up @@ -553,11 +553,11 @@ def test_AclRuleRedirect(self, dvs, dvs_acl, l3_acl_table, setup_teardown_neighb
class TestAclCrmUtilization:
@pytest.fixture(scope="class", autouse=True)
def configure_crm_polling_interval_for_test(self, dvs):
dvs.runcmd("crm config polling interval 1")
dvs.crm_poll_set("1")

yield

dvs.runcmd("crm config polling interval 300")
dvs.crm_poll_set("300")

def test_ValidateAclTableBindingCrmUtilization(self, dvs, dvs_acl):
counter_db = dvs.get_counters_db()
Expand Down
33 changes: 0 additions & 33 deletions tests/test_acl_cli.py

This file was deleted.

4 changes: 2 additions & 2 deletions tests/test_acl_portchannel.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ def check_asic_table_absent(self, dvs):
# Second create ACL table
def test_PortChannelAfterAcl(self, dvs):
self.setup_db(dvs)
dvs.runcmd("crm config polling interval 1")
dvs.crm_poll_set("1")
time.sleep(2)

used_counter = dvs.getCrmCounterValue('ACL_STATS:INGRESS:LAG', 'crm_stats_acl_group_used')
Expand Down Expand Up @@ -162,7 +162,7 @@ def test_PortChannelAfterAcl(self, dvs):
new_new_used_counter = 0
assert new_used_counter - new_new_used_counter == 1
# slow down crm polling
dvs.runcmd("crm config polling interval 10000")
dvs.crm_poll_set("10000")

# Frist create ACL table
# Second create port channel
Expand Down
Loading