| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /*******************************************************************************
- * Copyright (c) 2016, Rockwell Automation, Inc.
- * All rights reserved.
- *
- ******************************************************************************/
- #include <CppUTest/TestHarness.h>
- #include <stdint.h>
- #include <string.h>
- extern "C" {
- #include "cipforwardopen.h"
- }
- TEST_GROUP(CipForwardOpen) {
- };
- CipOctet message[] =
- { 0x06, 0x28, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x26, 0x00, 0x18,
- 0x00, 0x78,
- 0x56, 0x34, 0x12, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x62, 0x02, 0x00, 0xff, 0x43,
- 0x5a, 0x62,
- 0x02, 0x00, 0xff, 0x43, 0xa3, 0x02, 0x20, 0x02, 0x24, 0x01};
- TEST(CipForwardOpen, ParseMessage) {
- CipOctet *array_address = message;
- CipOctet **message_runner = &array_address;
- CipForwardOpenData *forward_open_data;
- forward_open_data = (CipForwardOpenData *)calloc(1, CipForwardOpenDataSize);
- CipForwardOpenGetForwardOpenDataFromMessage(forward_open_data,
- (const CipOctet **)message_runner);
- CHECK_EQUAL( kCipForwardOpenPriorityTickTimeNormal, CipForwardOpenGetPriorityTickTime(
- forward_open_data) );
- CHECK_EQUAL( 6, CipForwardOpenGetTickTime(forward_open_data) );
- CHECK_EQUAL( 40, CipForwardOpenGetTimeoutTick(forward_open_data) );
- CHECK_EQUAL( 2560,
- CipForwardOpenGetTimeoutInMilliseconds(forward_open_data) );
- CHECK_EQUAL( 0x00000000, CipForwardOpenGetOriginatorToTargetNetworkConnectionId(
- forward_open_data) );
- CHECK_EQUAL( 0x00000026, CipForwardOpenGetTargetToOriginatorNetworkConnectionId(
- forward_open_data) );
- CHECK_EQUAL( 0x0026, CipForwardOpenGetConnectionSerialNumber(
- forward_open_data) );
- CHECK_EQUAL( 0x0018, CipForwardOpenGetOriginatorVendorId(forward_open_data) );
- CHECK_EQUAL( 0x12345678,
- CipForwardOpenGetOriginatorSerialNumber(forward_open_data) );
- CHECK_EQUAL( 4, CipForwardOpenGetTimeoutMultiplier(forward_open_data) );
- CHECK_EQUAL( 156250, CipForwardOpenGetOriginatorToTargetRequestedPacketInterval(
- forward_open_data) );
- CHECK_EQUAL( 0x43ff, CipForwardOpenGetOriginatorToTargetNetworkConnectionParameters(
- forward_open_data) );
- CHECK_EQUAL( false,
- CipForwardOpenGetOriginatorToTargetRedundantOwner(
- forward_open_data) );
- CHECK_EQUAL( kCipForwardOpenConnectionTypePointToPointConnection, CipForwardOpenGetOriginatorToTargetConnectionType(
- forward_open_data) );
- CHECK_EQUAL( kCipForwardOpenConnectionPriorityLow, CipForwardOpenGetOriginatorToTargetConnectionPriority(
- forward_open_data) );
- CHECK_EQUAL( kCipForwardOpenConnectionSizeTypeVariable, CipForwardOpenGetOriginatorToTargetConnectionSizeType(
- forward_open_data) );
- CHECK_EQUAL( 511,
- CipForwardOpenGetOriginatorToTargetConnectionSize(
- forward_open_data) );
- CHECK_EQUAL( 156250, CipForwardOpenGetTargetToOriginatorRequestedPacketInterval(
- forward_open_data) );
- CHECK_EQUAL( 0x43ff, CipForwardOpenGetTargetToOriginatorNetworkConnectionParameters(
- forward_open_data) );
- CHECK_EQUAL( false,
- CipForwardOpenGetTargetToOriginatorRedundantOwner(
- forward_open_data) );
- CHECK_EQUAL( kCipForwardOpenConnectionTypePointToPointConnection, CipForwardOpenGetTargetToOriginatorConnectionType(
- forward_open_data) );
- CHECK_EQUAL( kCipForwardOpenConnectionPriorityLow, CipForwardOpenGetTargetToOriginatorConnectionPriority(
- forward_open_data) );
- CHECK_EQUAL( kCipForwardOpenConnectionSizeTypeVariable, CipForwardOpenGetTargetToOriginatorConnectionSizeType(
- forward_open_data) );
- CHECK_EQUAL( 511,
- CipForwardOpenGetTargetToOriginatorConnectionSize(
- forward_open_data) );
- CHECK_EQUAL( kCipConnectionObjectTransportClassTriggerDirectionServer, CipForwardOpenGetTransportClassTriggerDirection(
- forward_open_data) );
- CHECK_EQUAL(
- kCipConnectionObjectTransportClassTriggerProductionTriggerApplicationObject,
- CipForwardOpenGetTransportClassTriggerProductionTrigger(forward_open_data) );
- CHECK_EQUAL( kCipConnectionObjectTransportClassTriggerClass3, CipForwardOpenGetTransportClassTriggerClass(
- forward_open_data) );
- CHECK_EQUAL( 2,
- CipForwardOpenGetConnectionPathSizeInWords(forward_open_data) );
- const CipOctet expected_connection_path[] = {0x20, 0x02, 0x24, 0x01};
- MEMCMP_EQUAL(expected_connection_path,
- CipForwardOpenGetConnectionPath(forward_open_data), 4);
- free(forward_open_data);
- }
|