# HG changeset patch # User Edouard Tisserant <edouard@beremiz.fr> # Date 1724321805 -7200 # Node ID e16c8443e8770119beda56819b9447c1b9e61522 # Parent 482452574fb4c8d1099b242fffe304ca478b34ed MQTT: add test projects, to be later included in automated testing. diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_client/beremiz.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_client/beremiz.xml Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='utf-8'?> +<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://localhost:61131" Disable_Extensions="false"> + <TargetType/> + <Libraries Enable_Python_Library="false"/> +</BeremizRoot> diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_client/mqtt_0@mqtt/baseconfnode.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_client/mqtt_0@mqtt/baseconfnode.xml Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='utf-8'?> +<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="0" Name="mqtt_0"/> diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_client/mqtt_0@mqtt/confnode.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_client/mqtt_0@mqtt/confnode.xml Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='utf-8'?> +<MQTTClient xmlns:xsd="http://www.w3.org/2001/XMLSchema" Broker_URI="ws://172.17.0.1:1883" Use_MQTT_5="true"/> diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_client/mqtt_0@mqtt/selected.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_client/mqtt_0@mqtt/selected.csv Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,10 @@ +input,smta,1,DINT,0 +input,smtb,1,DINT,1 +input,smtc,1,DINT,2 +input,smtd,1,DINT,3 +input,smte,1,DINT,4 +output,smtf,1,False,DINT,0 +output,smtg,1,False,DINT,1 +output,smth,1,False,DINT,2 +output,smti,1,False,DINT,3 +output,smtj,1,False,DINT,4 diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_client/plc.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_client/plc.xml Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,296 @@ +<?xml version='1.0' encoding='utf-8'?> +<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201"> + <fileHeader companyName="Beremiz" productName="Beremiz" productVersion="1" creationDateTime="2016-10-24T18:09:22"/> + <contentHeader name="First Steps" modificationDateTime="2024-07-25T16:55:27"> + <coordinateInfo> + <fbd> + <scaling x="0" y="0"/> + </fbd> + <ld> + <scaling x="0" y="0"/> + </ld> + <sfc> + <scaling x="0" y="0"/> + </sfc> + </coordinateInfo> + </contentHeader> + <types> + <dataTypes/> + <pous> + <pou name="plc_prg" pouType="program"> + <interface> + <localVars> + <variable name="LocalVar0"> + <type> + <DINT/> + </type> + <initialValue> + <simpleValue value="0"/> + </initialValue> + </variable> + </localVars> + <localVars> + <variable name="LocalVar1" address="%QD0.2"> + <type> + <DINT/> + </type> + </variable> + <variable name="LocalVar2" address="%ID0.2"> + <type> + <DINT/> + </type> + </variable> + </localVars> + </interface> + <body> + <FBD> + <inVariable localId="1" executionOrderId="0" height="27" width="82" negated="false"> + <position x="421" y="83"/> + <connectionPointOut> + <relPosition x="82" y="13"/> + </connectionPointOut> + <expression>LocalVar0</expression> + </inVariable> + <inVariable localId="3" executionOrderId="0" height="27" width="82" negated="false"> + <position x="126" y="224"/> + <connectionPointOut> + <relPosition x="82" y="13"/> + </connectionPointOut> + <expression>LocalVar2</expression> + </inVariable> + <block localId="4" typeName="ADD" executionOrderId="0" height="60" width="63"> + <position x="112" y="48"/> + <inputVariables> + <variable formalParameter="IN1"> + <connectionPointIn> + <relPosition x="0" y="30"/> + <connection refLocalId="2"> + <position x="112" y="78"/> + <position x="102" y="78"/> + <position x="102" y="33"/> + <position x="314" y="33"/> + <position x="314" y="78"/> + <position x="291" y="78"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN2"> + <connectionPointIn> + <relPosition x="0" y="50"/> + <connection refLocalId="5"> + <position x="112" y="98"/> + <position x="64" y="98"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="63" y="30"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <inOutVariable localId="2" executionOrderId="0" height="27" width="82" negatedOut="false" negatedIn="false"> + <position x="209" y="65"/> + <connectionPointIn> + <relPosition x="0" y="13"/> + <connection refLocalId="4" formalParameter="OUT"> + <position x="209" y="78"/> + <position x="175" y="78"/> + </connection> + </connectionPointIn> + <connectionPointOut> + <relPosition x="82" y="13"/> + </connectionPointOut> + <expression>LocalVar0</expression> + </inOutVariable> + <inVariable localId="5" executionOrderId="0" height="27" width="18" negated="false"> + <position x="46" y="85"/> + <connectionPointOut> + <relPosition x="18" y="13"/> + </connectionPointOut> + <expression>1</expression> + </inVariable> + <block localId="6" typeName="MOD" executionOrderId="0" height="60" width="63"> + <position x="588" y="66"/> + <inputVariables> + <variable formalParameter="IN1"> + <connectionPointIn> + <relPosition x="0" y="30"/> + <connection refLocalId="1"> + <position x="588" y="96"/> + <position x="503" y="96"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN2"> + <connectionPointIn> + <relPosition x="0" y="50"/> + <connection refLocalId="7"> + <position x="588" y="116"/> + <position x="548" y="116"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="63" y="30"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <inVariable localId="7" executionOrderId="0" height="27" width="26" negated="false"> + <position x="522" y="103"/> + <connectionPointOut> + <relPosition x="26" y="13"/> + </connectionPointOut> + <expression>50</expression> + </inVariable> + <block localId="8" typeName="GT" executionOrderId="0" height="60" width="63"> + <position x="721" y="65"/> + <inputVariables> + <variable formalParameter="IN1"> + <connectionPointIn> + <relPosition x="0" y="30"/> + <connection refLocalId="6" formalParameter="OUT"> + <position x="721" y="95"/> + <position x="704" y="95"/> + <position x="704" y="96"/> + <position x="651" y="96"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN2"> + <connectionPointIn> + <relPosition x="0" y="50"/> + <connection refLocalId="9"> + <position x="721" y="115"/> + <position x="709" y="115"/> + <position x="709" y="117"/> + <position x="697" y="117"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="63" y="30"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <inVariable localId="9" executionOrderId="0" height="27" width="26" negated="false"> + <position x="671" y="104"/> + <connectionPointOut> + <relPosition x="26" y="13"/> + </connectionPointOut> + <expression>24</expression> + </inVariable> + <outVariable localId="10" executionOrderId="0" height="27" width="82" negated="false"> + <position x="1112" y="106"/> + <connectionPointIn> + <relPosition x="0" y="13"/> + <connection refLocalId="11" formalParameter="OUT"> + <position x="1112" y="119"/> + <position x="1065" y="119"/> + <position x="1065" y="83"/> + <position x="1019" y="83"/> + </connection> + </connectionPointIn> + <expression>LocalVar1</expression> + </outVariable> + <block localId="11" typeName="SEL" executionOrderId="0" height="80" width="63"> + <position x="956" y="53"/> + <inputVariables> + <variable formalParameter="G"> + <connectionPointIn> + <relPosition x="0" y="30"/> + <connection refLocalId="8" formalParameter="OUT"> + <position x="956" y="83"/> + <position x="870" y="83"/> + <position x="870" y="95"/> + <position x="784" y="95"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN0"> + <connectionPointIn> + <relPosition x="0" y="50"/> + <connection refLocalId="12"> + <position x="956" y="103"/> + <position x="927" y="103"/> + <position x="927" y="115"/> + <position x="898" y="115"/> + </connection> + </connectionPointIn> + </variable> + <variable formalParameter="IN1"> + <connectionPointIn> + <relPosition x="0" y="70"/> + <connection refLocalId="13"> + <position x="956" y="123"/> + <position x="933" y="123"/> + <position x="933" y="171"/> + <position x="910" y="171"/> + </connection> + </connectionPointIn> + </variable> + </inputVariables> + <inOutVariables/> + <outputVariables> + <variable formalParameter="OUT"> + <connectionPointOut> + <relPosition x="63" y="30"/> + </connectionPointOut> + </variable> + </outputVariables> + </block> + <inVariable localId="12" executionOrderId="0" height="27" width="34" negated="false"> + <position x="872" y="102"/> + <connectionPointOut> + <relPosition x="34" y="13"/> + </connectionPointOut> + <expression>666</expression> + </inVariable> + <inVariable localId="13" executionOrderId="0" height="27" width="34" negated="false"> + <position x="876" y="158"/> + <connectionPointOut> + <relPosition x="34" y="13"/> + </connectionPointOut> + <expression>666</expression> + </inVariable> + </FBD> + </body> + </pou> + </pous> + </types> + <instances> + <configurations> + <configuration name="config"> + <resource name="resource1"> + <task name="plc_task" priority="1" interval="T#100ms"> + <pouInstance name="plc_task_instance" typeName="plc_prg"/> + </task> + </resource> + <globalVars constant="true"> + <variable name="ResetCounterValue"> + <type> + <INT/> + </type> + <initialValue> + <simpleValue value="17"/> + </initialValue> + </variable> + </globalVars> + </configuration> + </configurations> + </instances> +</project> diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_ssl/beremiz.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_ssl/beremiz.xml Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,7 @@ +<?xml version='1.0' encoding='utf-8'?> +<BeremizRoot xmlns:xsd="http://www.w3.org/2001/XMLSchema" URI_location="PYRO://192.168.45.1:3000"> + <TargetType> + <LHC2_GOT_012/> + </TargetType> + <Libraries Enable_SVGHMI_Library="false"/> +</BeremizRoot> diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_ssl/mqtt_0@mqtt/baseconfnode.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_ssl/mqtt_0@mqtt/baseconfnode.xml Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='utf-8'?> +<BaseParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" IEC_Channel="3" Name="mqtt_0"/> diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_ssl/mqtt_0@mqtt/confnode.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_ssl/mqtt_0@mqtt/confnode.xml Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,6 @@ +<?xml version='1.0' encoding='utf-8'?> +<MQTTClient xmlns:xsd="http://www.w3.org/2001/XMLSchema" Broker_URI="wss://192.168.19.25:18885"> + <AuthType> + <x509 Client_certificate="" Broker_certificate="test-root-ca.crt" Verify_hostname="false"/> + </AuthType> +</MQTTClient> diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_ssl/mqtt_0@mqtt/selected.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_ssl/mqtt_0@mqtt/selected.csv Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,2 @@ +input,in_topic1,1,DINT,0 +output,out_topic1,1,False,DINT,0 diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_ssl/plc.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_ssl/plc.xml Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,107 @@ +<?xml version='1.0' encoding='utf-8'?> +<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201"> + <fileHeader companyName="SMARTEH d.o.o." productName="LHC2_GOT_012" productVersion="1.1.359" creationDateTime="2024-07-25T15:43:22"/> + <contentHeader name="mqtt" modificationDateTime="2024-08-21T17:05:30"> + <coordinateInfo> + <fbd> + <scaling x="0" y="0"/> + </fbd> + <ld> + <scaling x="0" y="0"/> + </ld> + <sfc> + <scaling x="0" y="0"/> + </sfc> + </coordinateInfo> + </contentHeader> + <types> + <dataTypes/> + <pous> + <pou name="program0" pouType="program"> + <interface> + <localVars> + <variable name="LocalVar0" address="%ID3.0"> + <type> + <DINT/> + </type> + </variable> + </localVars> + <localVars> + <variable name="LocalVar1"> + <type> + <DINT/> + </type> + </variable> + </localVars> + <localVars> + <variable name="LocalVar2" address="%QD3.0"> + <type> + <DINT/> + </type> + </variable> + </localVars> + <localVars> + <variable name="LocalVar3"> + <type> + <DINT/> + </type> + </variable> + </localVars> + </interface> + <body> + <FBD> + <inVariable localId="1" executionOrderId="0" height="26" width="82" negated="false"> + <position x="173" y="47"/> + <connectionPointOut> + <relPosition x="82" y="13"/> + </connectionPointOut> + <expression>LocalVar0</expression> + </inVariable> + <outVariable localId="2" executionOrderId="0" height="26" width="82" negated="false"> + <position x="482" y="47"/> + <connectionPointIn> + <relPosition x="0" y="13"/> + <connection refLocalId="1"> + <position x="482" y="60"/> + <position x="255" y="60"/> + </connection> + </connectionPointIn> + <expression>LocalVar1</expression> + </outVariable> + <outVariable localId="3" executionOrderId="0" height="26" width="82" negated="false"> + <position x="479" y="140"/> + <connectionPointIn> + <relPosition x="0" y="13"/> + <connection refLocalId="4"> + <position x="479" y="153"/> + <position x="365" y="153"/> + <position x="365" y="168"/> + <position x="252" y="168"/> + </connection> + </connectionPointIn> + <expression>LocalVar2</expression> + </outVariable> + <inVariable localId="4" executionOrderId="0" height="26" width="82" negated="false"> + <position x="170" y="155"/> + <connectionPointOut> + <relPosition x="82" y="13"/> + </connectionPointOut> + <expression>LocalVar3</expression> + </inVariable> + </FBD> + </body> + </pou> + </pous> + </types> + <instances> + <configurations> + <configuration name="config"> + <resource name="resource1"> + <task name="main_task" priority="0" interval="T#1000ms"> + <pouInstance name="instance0" typeName="program0"/> + </task> + </resource> + </configuration> + </configurations> + </instances> +</project> diff -r 482452574fb4 -r e16c8443e877 tests/projects/mqtt_ssl/project_files/test-root-ca.crt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/projects/mqtt_ssl/project_files/test-root-ca.crt Thu Aug 22 12:16:45 2024 +0200 @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIIDwDCCAqigAwIBAgIUPajsILLwblnD7WEDCk00ebOAASgwDQYJKoZIhvcNAQEL +BQAwcDELMAkGA1UEBhMCR0IxEjAQBgNVBAgMCVdpbHRzaGlyZTESMBAGA1UEBwwJ +U2FsaXNidXJ5MRUwEwYDVQQKDAxQYWhvIFByb2plY3QxEDAOBgNVBAsMB1Rlc3Rp +bmcxEDAOBgNVBAMMB1Jvb3QgQ0EwIBcNMjMwNDEzMTMyMjMxWhgPMjEwNTA2MDIx +MzIyMzFaMHAxCzAJBgNVBAYTAkdCMRIwEAYDVQQIDAlXaWx0c2hpcmUxEjAQBgNV +BAcMCVNhbGlzYnVyeTEVMBMGA1UECgwMUGFobyBQcm9qZWN0MRAwDgYDVQQLDAdU +ZXN0aW5nMRAwDgYDVQQDDAdSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsqFZCPniXeWNtd5NhccCmirdLv6i/c6FAffg4iMPEYanDTh0PPWE +/tPiiOTzcGp5udF3hjjtv2lx5OSEaZYNSIgWERf0LPS0MBsHjMmVoU4S8+gZAst1 +igzWKmmZAaUwBdGz0D6cRr7ZMUBfzJnrF1V6VQMLNXfrXmYAXRpxRMcBv3FPYLUc +qXp9gbFYnc+xNbuDE3Ir6/wMOu3Q1H6BvnIGVmdGqnmrONqzkMcqCuTEGlFEBQ4s +HrZUbXQGSKtlMInAM1hyP+qHmuMwTfue8/qspewHds9fNstJL9wLCZBk3Jdf6B5I +S6S+cmHM00cThnuVVwnwgU6syGhgekCNYwIDAQABo1AwTjAdBgNVHQ4EFgQU/piK +w0GycTpKs3ZaPBcGkxGZjsgwHwYDVR0jBBgwFoAU/piKw0GycTpKs3ZaPBcGkxGZ +jsgwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAhno5Byj3BGy/je/u +yPl8/uGOqh+uK0Ds+6YvUBRTHlnAFegwQrJhq17bzTdZZlw5s0+bYEVtOwX6p7Zk +mT4zUEPEQ7B223+r3TiB5xQ4ad+wZsDa9X7XY0+vqc+wf4CHFPHX4ZR0Xa1p/vBL +Y3L6ANHkwRFgx+XREmkiv4GJxeZtNSevuM63bbRZ/Y7OSZQlvKTxNlsKqi+61d7w +ciWk9BmmXNm2kQeKwsx5o7bMiETOhDXobcibD8R3U+3tf3vWp9jWIMZKkJ40U1Wb +LM0S9B1ZBkqb3Ml4Rq0AhQntQNGKDobt93ilQoGSUKq0/bR5wA8Yad9viVbbbSsm +kkdThg== +-----END CERTIFICATE-----