Example #1
0
def test_cip_get_module_info_raises_response_error_if_response_falsy():
    with mock.patch.object(CIPDriver,
                           'generic_message') as mock_generic_message:
        mock_generic_message.return_value = False
        with pytest.raises(ResponseError):
            driver = CIPDriver(CONNECT_PATH)
            driver.get_module_info(1)

        assert mock_generic_message.called
Example #2
0
def test_get_module_info_returns_expected_identity_dict():
    EXPECTED_DICT = {
        'vendor': 'Rockwell Automation/Allen-Bradley',
        'product_type': 'Programmable Logic Controller',
        'product_code': 89,
        'revision': {
            'major': 20,
            'minor': 19
        },
        'status': b'`0',
        'serial': 'c00fa09b',
        'product_name': '1769-L23E-QBFC1 LOGIX5323E-QBFC1'
    }

    RESPONSE_BYTES = (
        b'o\x00C\x00\x02\x13\x02\x0b\x00\x00\x00\x00_pycomm_\x00\x00\x00\x00\x00\x00\x00\x00\n'
        b'\x00\x02\x00\x00\x00\x00\x00\xb2\x003\x00\x81\x00\x00\x00\x01\x00\x0e\x00Y\x00\x14\x13'
        b'`0\x9b\xa0\x0f\xc0 1769-L23E-QBFC1 LOGIX5323E-QBFC1')

    driver = CIPDriver(CONNECT_PATH)
    driver._sock = Mocket(RESPONSE_BYTES)
    actual_response = driver.get_module_info(1)
    assert actual_response == EXPECTED_DICT
Example #3
0
def test_get_module_info_returns_expected_identity_dict():
    EXPECTED_DICT = {
        "vendor": "Rockwell Automation/Allen-Bradley",
        "product_type": "Programmable Logic Controller",
        "product_code": 89,
        "revision": {
            "major": 20,
            "minor": 19
        },
        "status": b"`0",
        "serial": "c00fa09b",
        "product_name": "1769-L23E-QBFC1 LOGIX5323E-QBFC1",
    }

    RESPONSE_BYTES = (
        b"o\x00C\x00\x02\x13\x02\x0b\x00\x00\x00\x00_pycomm_\x00\x00\x00\x00\x00\x00\x00\x00\n"
        b"\x00\x02\x00\x00\x00\x00\x00\xb2\x003\x00\x81\x00\x00\x00\x01\x00\x0e\x00Y\x00\x14\x13"
        b"`0\x9b\xa0\x0f\xc0 1769-L23E-QBFC1 LOGIX5323E-QBFC1")

    driver = CIPDriver(CONNECT_PATH)
    driver._sock = Mocket(RESPONSE_BYTES)
    actual_response = driver.get_module_info(1)
    assert actual_response == EXPECTED_DICT