コード例 #1
0
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')
コード例 #2
0
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
コード例 #3
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"