def test_ProducerTable(): db = swsscommon.DBConnector("APPL_DB", 0, True) ps = swsscommon.ProducerTable(db, "abc") cs = swsscommon.ConsumerTable(db, "abc") fvs = swsscommon.FieldValuePairs([('a', 'b')]) ps.set("bbb", fvs) (key, op, cfvs) = cs.pop() assert key == "bbb" assert op == "SET" assert len(cfvs) == 1 assert cfvs[0] == ('a', 'b')
def test_ProducerTable(): db = swsscommon.DBConnector("APPL_DB", 0, True) ps = swsscommon.ProducerTable(db, "abc") cs = swsscommon.ConsumerTable(db, "abc") fvs = swsscommon.FieldValuePairs([('a', 'b'), ('c', 'd')]) ps.set("bbb", fvs) ps.delete("cccc") entries = transpose_pops(cs.pops()) assert len(entries) == 2 (key, op, cfvs) = entries[0] assert key == "bbb" assert op == "SET" assert len(cfvs) == 2 assert cfvs[0] == ('a', 'b') assert cfvs[1] == ('c', 'd') (key, op, cfvs) = entries[1] assert key == "cccc" assert op == "DEL" assert len(cfvs) == 0
def test_PortAutoNeg(dvs): db = swsscommon.DBConnector(0, dvs.redis_sock, 0) tbl = swsscommon.ProducerTable(db, "PORT_TABLE") # set autoneg = false and speed = 1000 fvs = swsscommon.FieldValuePairs([("autoneg", "1"), ("speed", "1000")]) tbl.set("Ethernet0", fvs) time.sleep(1) adb = swsscommon.DBConnector(1, dvs.redis_sock, 0) atbl = swsscommon.Table(adb, "ASIC_STATE:SAI_OBJECT_TYPE_PORT") (status, fvs) = atbl.get(dvs.asicdb.portnamemap["Ethernet0"]) assert status == True assert "SAI_PORT_ATTR_AUTO_NEG_MODE" in [fv[0] for fv in fvs] assert "SAI_PORT_ATTR_ADVERTISED_SPEED" in [fv[0] for fv in fvs] for fv in fvs: if fv[0] == "SAI_PORT_ATTR_AUTO_NEG_MODE": assert fv[1] == "true" elif fv[0] == "SAI_PORT_ATTR_ADVERTISED_SPEED": assert fv[1] == "1:1000" # set speed = 100 fvs = swsscommon.FieldValuePairs([("speed", "100")]) tbl.set("Ethernet0", fvs) time.sleep(1) (status, fvs) = atbl.get(dvs.asicdb.portnamemap["Ethernet0"]) assert status == True for fv in fvs: if fv[0] == "SAI_PORT_ATTR_AUTO_NEG_MODE": assert fv[1] == "true" elif fv[0] == "SAI_PORT_ATTR_ADVERTISED_SPEED": assert fv[1] == "1:100" # change autoneg to false fvs = swsscommon.FieldValuePairs([("autoneg", "0")]) tbl.set("Ethernet0", fvs) time.sleep(1) (status, fvs) = atbl.get(dvs.asicdb.portnamemap["Ethernet0"]) assert status == True assert "SAI_PORT_ATTR_AUTO_NEG_MODE" in [fv[0] for fv in fvs] assert "SAI_PORT_ATTR_ADVERTISED_SPEED" in [fv[0] for fv in fvs] assert "SAI_PORT_ATTR_SPEED" in [fv[0] for fv in fvs] for fv in fvs: if fv[0] == "SAI_PORT_ATTR_AUTO_NEG_MODE": assert fv[1] == "false" elif fv[0] == "SAI_PORT_ATTR_ADVERTISED_SPEED": assert fv[1] == "1:100" elif fv[0] == "SAI_PORT_ATTR_SPEED": assert fv[1] == "100" # set speed = 1000 fvs = swsscommon.FieldValuePairs([("speed", "1000")]) tbl.set("Ethernet0", fvs) time.sleep(1) (status, fvs) = atbl.get(dvs.asicdb.portnamemap["Ethernet0"]) assert status == True for fv in fvs: if fv[0] == "SAI_PORT_ATTR_AUTO_NEG_MODE": assert fv[1] == "false" elif fv[0] == "SAI_PORT_ATTR_ADVERTISED_SPEED": assert fv[1] == "1:100" elif fv[0] == "SAI_PORT_ATTR_SPEED": assert fv[1] == "1000"