diff --git a/http-gateway/web/package-lock.json b/http-gateway/web/package-lock.json index 0e5358ac4..aa10d8385 100644 --- a/http-gateway/web/package-lock.json +++ b/http-gateway/web/package-lock.json @@ -36962,13 +36962,14 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "body-parser": "^1.20.2", "cors": "^2.8.5", "escape-html": "^1.0.3", "express-validator": "^7.1.0", "lodash": "^4.17.21" }, "devDependencies": { - "express": "^4.18.2" + "express": "^4.19.2" } }, "packages/shared-ui": { diff --git a/http-gateway/web/packages/mock-server/package.json b/http-gateway/web/packages/mock-server/package.json index 2fdafde62..c99c10af3 100644 --- a/http-gateway/web/packages/mock-server/package.json +++ b/http-gateway/web/packages/mock-server/package.json @@ -10,10 +10,12 @@ "author": "", "license": "ISC", "devDependencies": { - "express": "^4.18.2" + "express": "^4.19.2" }, "dependencies": { + "body-parser": "^1.20.2", "cors": "^2.8.5", + "dotenv": "^16.4.5", "escape-html": "^1.0.3", "express-validator": "^7.1.0", "lodash": "^4.17.21" diff --git a/http-gateway/web/packages/mock-server/src/data/devices/detail/9b95267d-fb80-56e4-a2af-001767c97299-signin-records.json b/http-gateway/web/packages/mock-server/src/data/devices/detail/9b95267d-fb80-56e4-a2af-001767c97299-signin-records.json new file mode 100644 index 000000000..fadf3635c --- /dev/null +++ b/http-gateway/web/packages/mock-server/src/data/devices/detail/9b95267d-fb80-56e4-a2af-001767c97299-signin-records.json @@ -0,0 +1,2 @@ +{"result":{"id":"3c9f30c1-aeed-5d8a-aebd-280a5f8b802a","owner":"98120ad9-eefa-4b93-aa53-696420b639fd","commonName":"uuid:3aae0672-47f3-4498-78d4-b061e6105ccd","deviceId":"3aae0672-47f3-4498-78d4-b061e6105ccd","publicKey":"e88aaa39-2b02-5dc7-98dd-19f2036f7516","creationDate":"1715360632118670932","credential":{"date":"1715360632118670932","certificatePem":"-----BEGIN CERTIFICATE-----\nMIIBojCCAUmgAwIBAgIRAPZgw4E3JIyW1nsKrvhNEigwCgYIKoZIzj0EAwIwEjEQ\nMA4GA1UEAxMHcGxnZC1jYTAeFw0yNDA1MTAxNjAzNTJaFw0zNDAyMDUxNTQ5MDFa\nMDQxMjAwBgNVBAMTKXV1aWQ6M2FhZTA2NzItNDdmMy00NDk4LTc4ZDQtYjA2MWU2\nMTA1Y2NkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEiovqnnqCl8VwrtdMXayU\np6pqHra0ETaCz5rhbiWdHwTJD1wVUL915TEdc8+XnMRZ9t5egUiutQOLXUMCez2P\nt6NeMFwwDgYDVR0PAQH/BAQDAgOIMCkGA1UdJQQiMCAGCCsGAQUFBwMCBggrBgEF\nBQcDAQYKKwYBBAGC3nwBBjAfBgNVHSMEGDAWgBTUlJ2uLZkXXCuRGH8JW/wDnGvL\nSDAKBggqhkjOPQQDAgNHADBEAiBlKrxkBOTU8Yc/Bo07J9tsvvqV8Hl0QcVMnSZm\nP4ACVwIgaifylrwdyhU7E8UxcSLIJB9bq9FsLoRuBkMc41ZUAEI=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIBkTCCATagAwIBAgIQJ5SBXf+D5y52gmL3OIUNaTAKBggqhkjOPQQDAjAdMRsw\nGQYDVQQDExJyb290LmNhLnBsZ2QuY2xvdWQwHhcNMjQwMjA4MTU0OTAxWhcNMzQw\nMjA1MTU0OTAxWjASMRAwDgYDVQQDEwdwbGdkLWNhMFkwEwYHKoZIzj0CAQYIKoZI\nzj0DAQcDQgAE3J+IkdvlfUOlIPOyImPH2Tjn9079Q4yQC4lQTjlNEuTjj4ECMbAB\nZFN/vrkmCYbzVwSASo4ZaR0R6JHCPmZLL6NjMGEwDgYDVR0PAQH/BAQDAgGGMA8G\nA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNSUna4tmRdcK5EYfwlb/AOca8tIMB8G\nA1UdIwQYMBaAFELK01Gtmvz99kTvIM5idzOLxerIMAoGCCqGSM49BAMCA0kAMEYC\nIQCzdcD2ivQcXVbxNChoTsvpsMTg5VJYwCnohvX52UYvRQIhALkNRGFqdarM9mbb\n69MIEjc02REBVbtQUYob5w4ssIGt\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIBfTCCASOgAwIBAgIRAIpGBkoE6ewptRLOQZ1vkoUwCgYIKoZIzj0EAwIwHTEb\nMBkGA1UEAxMScm9vdC5jYS5wbGdkLmNsb3VkMCAXDTIzMTAxOTA4NDgxNVoYDzIx\nMjMwOTI1MDg0ODE1WjAdMRswGQYDVQQDExJyb290LmNhLnBsZ2QuY2xvdWQwWTAT\nBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQm0x+16Bukvv+HWAery/0o/VQAO8boxs4w\nOiaXTrl0an/bRDzDApsRvp69HwIchZKAce5OCrddSiURNt6Qef0Co0IwQDAOBgNV\nHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUQsrTUa2a/P32\nRO8gzmJ3M4vF6sgwCgYIKoZIzj0EAwIDSAAwRQIgN0pgKSxwdoRIdWTqi7Tp7tyP\noNK4DqxIlYbnEIIopegCIQDlwaT2h6EKZ3TwHqAq55QywL37G2pv5J8M7t1EqPgA\nYA==\n-----END CERTIFICATE-----\n","validUntilDate":"2022767341000000000"}}} + diff --git a/http-gateway/web/packages/mock-server/src/data/devices/list/list-deleted-state.json b/http-gateway/web/packages/mock-server/src/data/devices/list/list-deleted-state.json index 0038cda43..a022ff7e2 100644 --- a/http-gateway/web/packages/mock-server/src/data/devices/list/list-deleted-state.json +++ b/http-gateway/web/packages/mock-server/src/data/devices/list/list-deleted-state.json @@ -1,218 +1,218 @@ -{ - "result": { - "interfaces": [ - "oic.if.r", - "oic.if.baseline" - ], - "protocolIndependentId": "e34f501f-76c5-4702-72e8-feb1d3d13b3b", - "ownershipStatus": "OWNED", - "id": "4e00418f-b927-4a1c-4f49-cc86e87b52b2", - "metadata": { - "connection": { - "connectedAt": "1715311339745684234", - "protocol": "COAPS_TCP", - "localEndpoints": [ - "coap://10.110.110.12:50143", - "coaps://10.110.110.12:35432", - "coap+tcp://10.110.110.12:59915", - "coaps+tcp://10.110.110.12:53295" - ], - "status": "OFFLINE", - "id": "10.110.110.10:15861" - }, - "twinSynchronization": { - "state": "OUT_OF_SYNC", - "syncingAt": "1715311339780191439", - "inSyncAt": "1715311339807251016", - "commandMetadata": { - "connectionId": "10.110.110.10:15861", - "sequence": "4213" - }, - "forceSynchronizationAt": "0" - }, - "twinEnabled": true - }, - "data": { - "status": "OK", - "auditContext": { - "userId": "820bbd01-f8be-4f99-bede-926c28a9e0b2", - "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" - }, - "eventMetadata": { - "connectionId": "10.110.110.10:65295", - "sequence": "8", - "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", - "version": "0", - "timestamp": "1715257789529574552" +[ + { + "result": { + "interfaces": [ + "oic.if.r", + "oic.if.baseline" + ], + "protocolIndependentId": "e34f501f-76c5-4702-72e8-feb1d3d13b3b", + "ownershipStatus": "OWNED", + "id": "4e00418f-b927-4a1c-4f49-cc86e87b52b2", + "metadata": { + "connection": { + "connectedAt": "1715311339745684234", + "protocol": "COAPS_TCP", + "localEndpoints": [ + "coap://10.110.110.12:50143", + "coaps://10.110.110.12:35432", + "coap+tcp://10.110.110.12:59915", + "coaps+tcp://10.110.110.12:53295" + ], + "status": "OFFLINE", + "id": "10.110.110.10:15861" + }, + "twinSynchronization": { + "state": "OUT_OF_SYNC", + "syncingAt": "1715311339780191439", + "inSyncAt": "1715311339807251016", + "commandMetadata": { + "connectionId": "10.110.110.10:15861", + "sequence": "4213" + }, + "forceSynchronizationAt": "0" + }, + "twinEnabled": true }, - "resourceTypes": [ + "data": { + "status": "OK", + "auditContext": { + "userId": "820bbd01-f8be-4f99-bede-926c28a9e0b2", + "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" + }, + "eventMetadata": { + "connectionId": "10.110.110.10:65295", + "sequence": "8", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", + "version": "0", + "timestamp": "1715257789529574552" + }, + "resourceTypes": [ + "oic.d.cloudDevice", + "oic.wk.d" + ], + "openTelemetryCarrier": { + "traceparent": "00-2b6ec394e83401f5cb4c20935a86e708-795085c68e7545c5-01" + }, + "resourceId": { + "href": "/oic/d", + "deviceId": "4e00418f-b927-4a1c-4f49-cc86e87b52b2" + }, + "content": { + "di": "4e00418f-b927-4a1c-4f49-cc86e87b52b2", + "piid": "e34f501f-76c5-4702-72e8-feb1d3d13b3b", + "n": "dps-endpoint-is-set", + "icv": "ocf.2.0.5", + "dmv": "ocf.res.1.3.0" + } + }, + "types": [ "oic.d.cloudDevice", "oic.wk.d" ], - "openTelemetryCarrier": { - "traceparent": "00-2b6ec394e83401f5cb4c20935a86e708-795085c68e7545c5-01" - }, - "resourceId": { - "href": "/oic/d", - "deviceId": "4e00418f-b927-4a1c-4f49-cc86e87b52b2" - }, - "content": { - "di": "4e00418f-b927-4a1c-4f49-cc86e87b52b2", - "piid": "e34f501f-76c5-4702-72e8-feb1d3d13b3b", - "n": "dps-endpoint-is-set", - "icv": "ocf.2.0.5", - "dmv": "ocf.res.1.3.0" - } - }, - "types": [ - "oic.d.cloudDevice", - "oic.wk.d" - ], - "name": "dps-endpoint-is-set" - } -} - -{ - "result": { - "protocolIndependentId": "219e5a01-ae94-4bd2-7b1d-fbd2ac275103", - "ownershipStatus": "OWNED", - "types": [ - "oic.d.cloudDevice", - "oic.wk.d" - ], - "modelNumber": "CS-0", - "metadata": { - "connection": { - "connectedAt": "1714732612106266776", - "protocol": "COAPS_TCP", - "localEndpoints": [ - "coap://10.110.110.12:45549", - "coaps://10.110.110.12:48890", - "coap+tcp://10.110.110.12:52107", - "coaps+tcp://10.110.110.12:47655" - ], - "status": "OFFLINE", - "id": "10.110.110.10:62666" - }, - "twinSynchronization": { - "state": "OUT_OF_SYNC", - "syncingAt": "1714732612134825516", - "inSyncAt": "1714732612221917478", - "commandMetadata": { - "connectionId": "10.110.110.10:62666", - "sequence": "111" - }, - "forceSynchronizationAt": "0" - }, - "twinEnabled": true - }, - "interfaces": [ - "oic.if.r", - "oic.if.baseline" - ], - "data": { - "auditContext": { - "owner": "98120ad9-eefa-4b93-aa53-696420b639fd", - "userId": "98120ad9-eefa-4b93-aa53-696420b639fd" - }, - "eventMetadata": { - "connectionId": "10.110.110.10:1036", - "sequence": "21", - "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", - "version": "1", - "timestamp": "1714732294792362981" - }, - "etag": "+s1QOYoXBgA=", - "resourceTypes": [ + "name": "dps-endpoint-is-set" + } + }, + { + "result": { + "protocolIndependentId": "219e5a01-ae94-4bd2-7b1d-fbd2ac275103", + "ownershipStatus": "OWNED", + "types": [ "oic.d.cloudDevice", "oic.wk.d" ], - "openTelemetryCarrier": { - "traceparent": "00-19b0dcf8feaf21580c7532b5d3aa7994-f3922c35a65b3a75-01" - }, - "resourceId": { - "href": "/oic/d", - "deviceId": "3227c3b1-8312-4cdd-53ec-26373f0807e4" - }, - "content": { - "di": "3227c3b1-8312-4cdd-53ec-26373f0807e4", - "piid": "219e5a01-ae94-4bd2-7b1d-fbd2ac275103", - "n": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel t", - "icv": "ocf.2.0.5", - "dmv": "ocf.res.1.3.0", - "dmno": "CS-0", - "sv": "1.0.1-rc1" - }, - "status": "OK" - }, - "id": "3227c3b1-8312-4cdd-53ec-26373f0807e4",w - "name": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel t" - } -} - -{ - "result": { - "ownershipStatus": "OWNED", - "metadata": { - "connection": { - "status": "OFFLINE", - "id": "10.110.110.10:26672", - "connectedAt": "1715258265891752367", - "protocol": "COAPS_TCP" - }, - "twinSynchronization": { - "state": "OUT_OF_SYNC", - "syncingAt": "1715258265931899749", - "inSyncAt": "1715258265968937030", - "commandMetadata": { - "connectionId": "10.110.110.10:26672", - "sequence": "23814" - }, - "forceSynchronizationAt": "0" + "modelNumber": "CS-0", + "metadata": { + "connection": { + "connectedAt": "1714732612106266776", + "protocol": "COAPS_TCP", + "localEndpoints": [ + "coap://10.110.110.12:45549", + "coaps://10.110.110.12:48890", + "coap+tcp://10.110.110.12:52107", + "coaps+tcp://10.110.110.12:47655" + ], + "status": "OFFLINE", + "id": "10.110.110.10:62666" + }, + "twinSynchronization": { + "state": "OUT_OF_SYNC", + "syncingAt": "1714732612134825516", + "inSyncAt": "1714732612221917478", + "commandMetadata": { + "connectionId": "10.110.110.10:62666", + "sequence": "111" + }, + "forceSynchronizationAt": "0" + }, + "twinEnabled": true }, - "twinEnabled": true - }, - "types": [ - "Thing", - "oic.wk.d" - ], - "name": "simulated Hotel Room", - "interfaces": [ - "oic.if.baseline", - "oic.if.r" - ], - "protocolIndependentId": "e61d18ea-533d-4c95-8ea0-c64e4dcc57ab", - "data": { - "eventMetadata": { - "sequence": "17", - "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", - "version": "0", - "timestamp": "1715258265955977762", - "connectionId": "10.110.110.10:26672" + "interfaces": [ + "oic.if.r", + "oic.if.baseline" + ], + "data": { + "auditContext": { + "owner": "98120ad9-eefa-4b93-aa53-696420b639fd", + "userId": "98120ad9-eefa-4b93-aa53-696420b639fd" + }, + "eventMetadata": { + "connectionId": "10.110.110.10:1036", + "sequence": "21", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", + "version": "1", + "timestamp": "1714732294792362981" + }, + "etag": "+s1QOYoXBgA=", + "resourceTypes": [ + "oic.d.cloudDevice", + "oic.wk.d" + ], + "openTelemetryCarrier": { + "traceparent": "00-19b0dcf8feaf21580c7532b5d3aa7994-f3922c35a65b3a75-01" + }, + "resourceId": { + "href": "/oic/d", + "deviceId": "3227c3b1-8312-4cdd-53ec-26373f0807e4" + }, + "content": { + "di": "3227c3b1-8312-4cdd-53ec-26373f0807e4", + "piid": "219e5a01-ae94-4bd2-7b1d-fbd2ac275103", + "n": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel t", + "icv": "ocf.2.0.5", + "dmv": "ocf.res.1.3.0", + "dmno": "CS-0", + "sv": "1.0.1-rc1" + }, + "status": "OK" + }, + "id": "3227c3b1-8312-4cdd-53ec-26373f0807e4", + "name": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel t" + } + }, + { + "result": { + "ownershipStatus": "OWNED", + "metadata": { + "connection": { + "status": "OFFLINE", + "id": "10.110.110.10:26672", + "connectedAt": "1715258265891752367", + "protocol": "COAPS_TCP" + }, + "twinSynchronization": { + "state": "OUT_OF_SYNC", + "syncingAt": "1715258265931899749", + "inSyncAt": "1715258265968937030", + "commandMetadata": { + "connectionId": "10.110.110.10:26672", + "sequence": "23814" + }, + "forceSynchronizationAt": "0" + }, + "twinEnabled": true }, - "etag": "F83SIor1HVE=", - "resourceTypes": [ + "types": [ "Thing", "oic.wk.d" ], - "openTelemetryCarrier": { - "traceparent": "00-5594982e9c50000bc628549afaa408e3-c1741a78ebc2b5d0-01" - }, - "resourceId": { - "deviceId": "9b95267d-fb80-56e4-a2af-001767c97299", - "href": "/oic/d" - }, - "content": { - "di": "9b95267d-fb80-56e4-a2af-001767c97299", - "piid": "e61d18ea-533d-4c95-8ea0-c64e4dcc57ab", - "n": "simulated Hotel Room" - }, - "status": "OK", - "auditContext": { - "userId": "98120ad9-eefa-4b93-aa53-696420b639fd", - "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" - } - }, - "id": "9b95267d-fb80-56e4-a2af-001767c97299" + "name": "simulated Hotel Room", + "interfaces": [ + "oic.if.baseline", + "oic.if.r" + ], + "protocolIndependentId": "e61d18ea-533d-4c95-8ea0-c64e4dcc57ab", + "data": { + "eventMetadata": { + "sequence": "17", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", + "version": "0", + "timestamp": "1715258265955977762", + "connectionId": "10.110.110.10:26672" + }, + "etag": "F83SIor1HVE=", + "resourceTypes": [ + "Thing", + "oic.wk.d" + ], + "openTelemetryCarrier": { + "traceparent": "00-5594982e9c50000bc628549afaa408e3-c1741a78ebc2b5d0-01" + }, + "resourceId": { + "deviceId": "9b95267d-fb80-56e4-a2af-001767c97299", + "href": "/oic/d" + }, + "content": { + "di": "9b95267d-fb80-56e4-a2af-001767c97299", + "piid": "e61d18ea-533d-4c95-8ea0-c64e4dcc57ab", + "n": "simulated Hotel Room" + }, + "status": "OK", + "auditContext": { + "userId": "98120ad9-eefa-4b93-aa53-696420b639fd", + "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" + } + }, + "id": "9b95267d-fb80-56e4-a2af-001767c97299" + } } -} \ No newline at end of file +] \ No newline at end of file diff --git a/http-gateway/web/packages/mock-server/src/data/devices/list/list.json b/http-gateway/web/packages/mock-server/src/data/devices/list/list.json index fa6568bee..2ee19142d 100644 --- a/http-gateway/web/packages/mock-server/src/data/devices/list/list.json +++ b/http-gateway/web/packages/mock-server/src/data/devices/list/list.json @@ -1,293 +1,292 @@ -{ - "result": { - "interfaces": [ - "oic.if.r", - "oic.if.baseline" - ], - "protocolIndependentId": "c11239eb-d9ec-4205-6a58-fd88baa600e3", - "types": [ - "oic.d.cloudDevice", - "oic.wk.d" - ], - "name": "dps-endpoint-is-set", - "metadata": { - "connection": { - "status": "ONLINE", - "id": "10.110.110.10:53315", - "connectedAt": "1715678189870926190", - "protocol": "COAPS_TCP", - "serviceId": "28da81bf-52c0-4a10-b057-a442dd469880", - "localEndpoints": [ - "coap://10.110.110.12:44190", - "coaps://10.110.110.12:55727", - "coap+tcp://10.110.110.12:39037", - "coaps+tcp://10.110.110.12:46193" - ] - }, - "twinSynchronization": { - "state": "IN_SYNC", - "syncingAt": "1715678189886251932", - "inSyncAt": "1715678189906580363", - "commandMetadata": { - "connectionId": "10.110.110.10:53315", - "sequence": "8" - }, - "forceSynchronizationAt": "0" - }, - "twinEnabled": true - }, - "ownershipStatus": "OWNED", - "id": "3aae0672-47f3-4498-78d4-b061e6105ccd", - "data": { - "content": { - "di": "3aae0672-47f3-4498-78d4-b061e6105ccd", - "piid": "c11239eb-d9ec-4205-6a58-fd88baa600e3", - "n": "dps-endpoint-is-set", - "icv": "ocf.2.0.5", - "dmv": "ocf.res.1.3.0" - }, - "status": "OK", - "auditContext": { - "userId": "820bbd01-f8be-4f99-bede-926c28a9e0b2", - "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" - }, - "eventMetadata": { - "connectionId": "10.110.110.10:18364", - "sequence": "8", - "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", - "version": "0", - "timestamp": "1715360635727782732" - }, - "resourceTypes": [ +[ + { + "result": { + "interfaces": [ + "oic.if.r", + "oic.if.baseline" + ], + "protocolIndependentId": "c11239eb-d9ec-4205-6a58-fd88baa600e3", + "types": [ "oic.d.cloudDevice", "oic.wk.d" ], - "openTelemetryCarrier": { - "traceparent": "00-04422d3d1ea18c0b90872ce0a98e9dcd-4804ef9d2c5fce93-01" + "name": "dps-endpoint-is-set", + "metadata": { + "connection": { + "status": "ONLINE", + "id": "10.110.110.10:53315", + "connectedAt": "1715678189870926190", + "protocol": "COAPS_TCP", + "serviceId": "28da81bf-52c0-4a10-b057-a442dd469880", + "localEndpoints": [ + "coap://10.110.110.12:44190", + "coaps://10.110.110.12:55727", + "coap+tcp://10.110.110.12:39037", + "coaps+tcp://10.110.110.12:46193" + ] + }, + "twinSynchronization": { + "state": "IN_SYNC", + "syncingAt": "1715678189886251932", + "inSyncAt": "1715678189906580363", + "commandMetadata": { + "connectionId": "10.110.110.10:53315", + "sequence": "8" + }, + "forceSynchronizationAt": "0" + }, + "twinEnabled": true }, - "resourceId": { - "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", - "href": "/oic/d" + "ownershipStatus": "OWNED", + "id": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "data": { + "content": { + "di": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "piid": "c11239eb-d9ec-4205-6a58-fd88baa600e3", + "n": "dps-endpoint-is-set", + "icv": "ocf.2.0.5", + "dmv": "ocf.res.1.3.0" + }, + "status": "OK", + "auditContext": { + "userId": "820bbd01-f8be-4f99-bede-926c28a9e0b2", + "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" + }, + "eventMetadata": { + "connectionId": "10.110.110.10:18364", + "sequence": "8", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", + "version": "0", + "timestamp": "1715360635727782732" + }, + "resourceTypes": [ + "oic.d.cloudDevice", + "oic.wk.d" + ], + "openTelemetryCarrier": { + "traceparent": "00-04422d3d1ea18c0b90872ce0a98e9dcd-4804ef9d2c5fce93-01" + }, + "resourceId": { + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "href": "/oic/d" + } } } - } -} - -{ - "result": { - "interfaces": [ - "oic.if.r", - "oic.if.baseline" - ], - "protocolIndependentId": "e34f501f-76c5-4702-72e8-feb1d3d13b3b", - "ownershipStatus": "OWNED", - "id": "4e00418f-b927-4a1c-4f49-cc86e87b52b2", - "metadata": { - "connection": { - "connectedAt": "1715311339745684234", - "protocol": "COAPS_TCP", - "localEndpoints": [ - "coap://10.110.110.12:50143", - "coaps://10.110.110.12:35432", - "coap+tcp://10.110.110.12:59915", - "coaps+tcp://10.110.110.12:53295" - ], - "status": "OFFLINE", - "id": "10.110.110.10:15861" - }, - "twinSynchronization": { - "state": "OUT_OF_SYNC", - "syncingAt": "1715311339780191439", - "inSyncAt": "1715311339807251016", - "commandMetadata": { - "connectionId": "10.110.110.10:15861", - "sequence": "4213" + }, + { + "result": { + "interfaces": [ + "oic.if.r", + "oic.if.baseline" + ], + "protocolIndependentId": "e34f501f-76c5-4702-72e8-feb1d3d13b3b", + "ownershipStatus": "OWNED", + "id": "4e00418f-b927-4a1c-4f49-cc86e87b52b2", + "metadata": { + "connection": { + "connectedAt": "1715311339745684234", + "protocol": "COAPS_TCP", + "localEndpoints": [ + "coap://10.110.110.12:50143", + "coaps://10.110.110.12:35432", + "coap+tcp://10.110.110.12:59915", + "coaps+tcp://10.110.110.12:53295" + ], + "status": "OFFLINE", + "id": "10.110.110.10:15861" }, - "forceSynchronizationAt": "0" - }, - "twinEnabled": true - }, - "data": { - "status": "OK", - "auditContext": { - "userId": "820bbd01-f8be-4f99-bede-926c28a9e0b2", - "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" + "twinSynchronization": { + "state": "OUT_OF_SYNC", + "syncingAt": "1715311339780191439", + "inSyncAt": "1715311339807251016", + "commandMetadata": { + "connectionId": "10.110.110.10:15861", + "sequence": "4213" + }, + "forceSynchronizationAt": "0" + }, + "twinEnabled": true }, - "eventMetadata": { - "connectionId": "10.110.110.10:65295", - "sequence": "8", - "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", - "version": "0", - "timestamp": "1715257789529574552" + "data": { + "status": "OK", + "auditContext": { + "userId": "820bbd01-f8be-4f99-bede-926c28a9e0b2", + "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" + }, + "eventMetadata": { + "connectionId": "10.110.110.10:65295", + "sequence": "8", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", + "version": "0", + "timestamp": "1715257789529574552" + }, + "resourceTypes": [ + "oic.d.cloudDevice", + "oic.wk.d" + ], + "openTelemetryCarrier": { + "traceparent": "00-2b6ec394e83401f5cb4c20935a86e708-795085c68e7545c5-01" + }, + "resourceId": { + "href": "/oic/d", + "deviceId": "4e00418f-b927-4a1c-4f49-cc86e87b52b2" + }, + "content": { + "di": "4e00418f-b927-4a1c-4f49-cc86e87b52b2", + "piid": "e34f501f-76c5-4702-72e8-feb1d3d13b3b", + "n": "dps-endpoint-is-set", + "icv": "ocf.2.0.5", + "dmv": "ocf.res.1.3.0" + } }, - "resourceTypes": [ + "types": [ "oic.d.cloudDevice", "oic.wk.d" ], - "openTelemetryCarrier": { - "traceparent": "00-2b6ec394e83401f5cb4c20935a86e708-795085c68e7545c5-01" - }, - "resourceId": { - "href": "/oic/d", - "deviceId": "4e00418f-b927-4a1c-4f49-cc86e87b52b2" - }, - "content": { - "di": "4e00418f-b927-4a1c-4f49-cc86e87b52b2", - "piid": "e34f501f-76c5-4702-72e8-feb1d3d13b3b", - "n": "dps-endpoint-is-set", - "icv": "ocf.2.0.5", - "dmv": "ocf.res.1.3.0" - } - }, - "types": [ - "oic.d.cloudDevice", - "oic.wk.d" - ], - "name": "dps-endpoint-is-set" - } -} - -{ - "result": { - "protocolIndependentId": "219e5a01-ae94-4bd2-7b1d-fbd2ac275103", - "ownershipStatus": "OWNED", - "types": [ - "oic.d.cloudDevice", - "oic.wk.d" - ], - "modelNumber": "CS-0", - "metadata": { - "connection": { - "connectedAt": "1714732612106266776", - "protocol": "COAPS_TCP", - "localEndpoints": [ - "coap://10.110.110.12:45549", - "coaps://10.110.110.12:48890", - "coap+tcp://10.110.110.12:52107", - "coaps+tcp://10.110.110.12:47655" - ], - "status": "OFFLINE", - "id": "10.110.110.10:62666" - }, - "twinSynchronization": { - "state": "OUT_OF_SYNC", - "syncingAt": "1714732612134825516", - "inSyncAt": "1714732612221917478", - "commandMetadata": { - "connectionId": "10.110.110.10:62666", - "sequence": "111" - }, - "forceSynchronizationAt": "0" - }, - "twinEnabled": true - }, - "interfaces": [ - "oic.if.r", - "oic.if.baseline" - ], - "data": { - "auditContext": { - "owner": "98120ad9-eefa-4b93-aa53-696420b639fd", - "userId": "98120ad9-eefa-4b93-aa53-696420b639fd" - }, - "eventMetadata": { - "connectionId": "10.110.110.10:1036", - "sequence": "21", - "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", - "version": "1", - "timestamp": "1714732294792362981" - }, - "etag": "+s1QOYoXBgA=", - "resourceTypes": [ + "name": "dps-endpoint-is-set" + } + }, + { + "result": { + "protocolIndependentId": "219e5a01-ae94-4bd2-7b1d-fbd2ac275103", + "ownershipStatus": "OWNED", + "types": [ "oic.d.cloudDevice", "oic.wk.d" ], - "openTelemetryCarrier": { - "traceparent": "00-19b0dcf8feaf21580c7532b5d3aa7994-f3922c35a65b3a75-01" - }, - "resourceId": { - "href": "/oic/d", - "deviceId": "3227c3b1-8312-4cdd-53ec-26373f0807e4" - }, - "content": { - "di": "3227c3b1-8312-4cdd-53ec-26373f0807e4", - "piid": "219e5a01-ae94-4bd2-7b1d-fbd2ac275103", - "n": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel t", - "icv": "ocf.2.0.5", - "dmv": "ocf.res.1.3.0", - "dmno": "CS-0", - "sv": "1.0.1-rc1" - }, - "status": "OK" - }, - "id": "3227c3b1-8312-4cdd-53ec-26373f0807e4", - "name": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel t" - } -} - -{ - "result": { - "ownershipStatus": "OWNED", - "metadata": { - "connection": { - "status": "OFFLINE", - "id": "10.110.110.10:26672", - "connectedAt": "1715258265891752367", - "protocol": "COAPS_TCP" + "modelNumber": "CS-0", + "metadata": { + "connection": { + "connectedAt": "1714732612106266776", + "protocol": "COAPS_TCP", + "localEndpoints": [ + "coap://10.110.110.12:45549", + "coaps://10.110.110.12:48890", + "coap+tcp://10.110.110.12:52107", + "coaps+tcp://10.110.110.12:47655" + ], + "status": "OFFLINE", + "id": "10.110.110.10:62666" + }, + "twinSynchronization": { + "state": "OUT_OF_SYNC", + "syncingAt": "1714732612134825516", + "inSyncAt": "1714732612221917478", + "commandMetadata": { + "connectionId": "10.110.110.10:62666", + "sequence": "111" + }, + "forceSynchronizationAt": "0" + }, + "twinEnabled": true }, - "twinSynchronization": { - "state": "OUT_OF_SYNC", - "syncingAt": "1715258265931899749", - "inSyncAt": "1715258265968937030", - "commandMetadata": { - "connectionId": "10.110.110.10:26672", - "sequence": "23814" + "interfaces": [ + "oic.if.r", + "oic.if.baseline" + ], + "data": { + "auditContext": { + "owner": "98120ad9-eefa-4b93-aa53-696420b639fd", + "userId": "98120ad9-eefa-4b93-aa53-696420b639fd" + }, + "eventMetadata": { + "connectionId": "10.110.110.10:1036", + "sequence": "21", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", + "version": "1", + "timestamp": "1714732294792362981" + }, + "etag": "+s1QOYoXBgA=", + "resourceTypes": [ + "oic.d.cloudDevice", + "oic.wk.d" + ], + "openTelemetryCarrier": { + "traceparent": "00-19b0dcf8feaf21580c7532b5d3aa7994-f3922c35a65b3a75-01" }, - "forceSynchronizationAt": "0" + "resourceId": { + "href": "/oic/d", + "deviceId": "3227c3b1-8312-4cdd-53ec-26373f0807e4" + }, + "content": { + "di": "3227c3b1-8312-4cdd-53ec-26373f0807e4", + "piid": "219e5a01-ae94-4bd2-7b1d-fbd2ac275103", + "n": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel t", + "icv": "ocf.2.0.5", + "dmv": "ocf.res.1.3.0", + "dmno": "CS-0", + "sv": "1.0.1-rc1" + }, + "status": "OK" }, - "twinEnabled": true - }, - "types": [ - "Thing", - "oic.wk.d" - ], - "name": "simulated Hotel Room", - "interfaces": [ - "oic.if.baseline", - "oic.if.r" - ], - "protocolIndependentId": "e61d18ea-533d-4c95-8ea0-c64e4dcc57ab", - "data": { - "eventMetadata": { - "sequence": "17", - "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", - "version": "0", - "timestamp": "1715258265955977762", - "connectionId": "10.110.110.10:26672" + "id": "3227c3b1-8312-4cdd-53ec-26373f0807e4", + "name": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel tLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti nullam ac tortor vitae purus faucibus. Amet facilisis magna etiam tempor orci. Quam pellentesque nec nam aliquam sem et tortor consequat id. In fermentum et sollicitudin ac orci phasellus egestas tellus. Enim tortor at auctor urna nunc. Diam maecenas ultricies mi eget mauris pharetra et ultrices. Mi in nulla posuere sollicitudin aliquam ultrices sagittis orci a. Nunc aliquet bibendum enim facilisis gravida neque convallis. Vel pretium lectus quam id leo in vitae turpis. Pharetra vel t" + } + }, + { + "result": { + "ownershipStatus": "OWNED", + "metadata": { + "connection": { + "status": "OFFLINE", + "id": "10.110.110.10:26672", + "connectedAt": "1715258265891752367", + "protocol": "COAPS_TCP" + }, + "twinSynchronization": { + "state": "OUT_OF_SYNC", + "syncingAt": "1715258265931899749", + "inSyncAt": "1715258265968937030", + "commandMetadata": { + "connectionId": "10.110.110.10:26672", + "sequence": "23814" + }, + "forceSynchronizationAt": "0" + }, + "twinEnabled": true }, - "etag": "F83SIor1HVE=", - "resourceTypes": [ + "types": [ "Thing", "oic.wk.d" ], - "openTelemetryCarrier": { - "traceparent": "00-5594982e9c50000bc628549afaa408e3-c1741a78ebc2b5d0-01" - }, - "resourceId": { - "deviceId": "9b95267d-fb80-56e4-a2af-001767c97299", - "href": "/oic/d" - }, - "content": { - "di": "9b95267d-fb80-56e4-a2af-001767c97299", - "piid": "e61d18ea-533d-4c95-8ea0-c64e4dcc57ab", - "n": "simulated Hotel Room" + "name": "simulated Hotel Room", + "interfaces": [ + "oic.if.baseline", + "oic.if.r" + ], + "protocolIndependentId": "e61d18ea-533d-4c95-8ea0-c64e4dcc57ab", + "data": { + "eventMetadata": { + "sequence": "17", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", + "version": "0", + "timestamp": "1715258265955977762", + "connectionId": "10.110.110.10:26672" + }, + "etag": "F83SIor1HVE=", + "resourceTypes": [ + "Thing", + "oic.wk.d" + ], + "openTelemetryCarrier": { + "traceparent": "00-5594982e9c50000bc628549afaa408e3-c1741a78ebc2b5d0-01" + }, + "resourceId": { + "deviceId": "9b95267d-fb80-56e4-a2af-001767c97299", + "href": "/oic/d" + }, + "content": { + "di": "9b95267d-fb80-56e4-a2af-001767c97299", + "piid": "e61d18ea-533d-4c95-8ea0-c64e4dcc57ab", + "n": "simulated Hotel Room" + }, + "status": "OK", + "auditContext": { + "userId": "98120ad9-eefa-4b93-aa53-696420b639fd", + "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" + } }, - "status": "OK", - "auditContext": { - "userId": "98120ad9-eefa-4b93-aa53-696420b639fd", - "owner": "98120ad9-eefa-4b93-aa53-696420b639fd" - } - }, - "id": "9b95267d-fb80-56e4-a2af-001767c97299" + "id": "9b95267d-fb80-56e4-a2af-001767c97299" + } } -} \ No newline at end of file +] \ No newline at end of file diff --git a/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/detail/idFilter-79c2a88a-1244-4e8a-a526-420e6cd5d34a.json b/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/detail/idFilter-79c2a88a-1244-4e8a-a526-420e6cd5d34a.json new file mode 100644 index 000000000..f01c589fc --- /dev/null +++ b/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/detail/idFilter-79c2a88a-1244-4e8a-a526-420e6cd5d34a.json @@ -0,0 +1,76 @@ +[ + { + "result": { + "configurationId": { + "id": "48998f7d-2a70-46a4-8a68-745b69d55489", + "version": "0" + }, + "conditionId": { + "id": "00fa41ad-b3bf-4f00-bfe1-c71c439e4cda", + "version": "1" + }, + "resources": [ + { + "href": "/not/exists", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.c3217371-1a90-4f99-b9cf-9896ea349f4f", + "status": "DONE", + "resourceUpdated": { + "resourceId": { + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "href": "/not/exists" + }, + "status": "CANCELED", + "auditContext": { + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.c3217371-1a90-4f99-b9cf-9896ea349f4f", + "owner": "beb32777-9680-4f42-8761-350eebe76a85", + "userId": "beb32777-9680-4f42-8761-350eebe76a85" + }, + "eventMetadata": { + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", + "version": "3", + "timestamp": "1720525494700155275", + "connectionId": "10.1.65.210:56476", + "sequence": "0" + } + }, + "validUntil": "0" + }, + { + "href": "/oc/con", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.1b36275d-4966-4c89-b544-85a67ce38ad5", + "status": "DONE", + "resourceUpdated": { + "content": { + "n": "new jkralik device name" + }, + "auditContext": { + "userId": "1e3a67e3-ec52-42e2-8bb0-aae61d4af7c8", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.1b36275d-4966-4c89-b544-85a67ce38ad5", + "owner": "beb32777-9680-4f42-8761-350eebe76a85" + }, + "eventMetadata": { + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274", + "version": "29", + "timestamp": "1720120774403521580", + "connectionId": "10.110.110.10:1544", + "sequence": "12850" + }, + "resourceTypes": [ + "oic.wk.con" + ], + "resourceId": { + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "href": "/oc/con" + }, + "status": "OK" + }, + "validUntil": "0" + } + ], + "owner": "beb32777-9680-4f42-8761-350eebe76a85", + "timestamp": "1720525494708332684", + "id": "79c2a88a-1244-4e8a-a526-420e6cd5d34a", + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd" + } + } +] \ No newline at end of file diff --git a/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/list/httpConfigurationIdFilter-48998f7d-2a70-46a4-8a68-745b69d55489.json b/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/list/httpConfigurationIdFilter-48998f7d-2a70-46a4-8a68-745b69d55489.json index f56e8a539..c38f12799 100644 --- a/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/list/httpConfigurationIdFilter-48998f7d-2a70-46a4-8a68-745b69d55489.json +++ b/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/list/httpConfigurationIdFilter-48998f7d-2a70-46a4-8a68-745b69d55489.json @@ -1,272 +1,76 @@ [ { "result": { + "owner": "beb32777-9680-4f42-8761-350eebe76a85", + "timestamp": "1720525494708332684", + "id": "79c2a88a-1244-4e8a-a526-420e6cd5d34a", + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "configurationId": { + "id": "48998f7d-2a70-46a4-8a68-745b69d55489", + "version": "0" + }, + "conditionId": { + "id": "00fa41ad-b3bf-4f00-bfe1-c71c439e4cda", + "version": "1" + }, "resources": [ { + "href": "/not/exists", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.c3217371-1a90-4f99-b9cf-9896ea349f4f", + "status": "DONE", "resourceUpdated": { + "status": "CANCELED", "auditContext": { - "correlationId": "8d140cad-62ac-4fff-aa8f-48f413ca85ca.412a4dd7-3c9b-4dcb-9696-1f0eb6918a6d", + "userId": "beb32777-9680-4f42-8761-350eebe76a85", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.c3217371-1a90-4f99-b9cf-9896ea349f4f", "owner": "beb32777-9680-4f42-8761-350eebe76a85" }, "eventMetadata": { - "version": "0", - "timestamp": "0", - "connectionId": "48998f7d-2a70-46a4-8a68-745b69d55489", - "sequence": "0" + "version": "3", + "timestamp": "1720525494700155275", + "connectionId": "10.1.65.210:56476", + "sequence": "0", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274" }, "resourceId": { - "deviceId": "7b645eab-01c3-483a-6289-98fc24e32bc1", - "href": "/not/existing" - }, - "status": "ERROR", - "content": "pending resource update canceled" + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "href": "/not/exists" + } }, - "validUntil": "0", - "href": "/not/existing", - "correlationId": "8d140cad-62ac-4fff-aa8f-48f413ca85ca.412a4dd7-3c9b-4dcb-9696-1f0eb6918a6d", - "status": "DONE" + "validUntil": "0" }, { + "href": "/oc/con", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.1b36275d-4966-4c89-b544-85a67ce38ad5", "status": "DONE", "resourceUpdated": { - "resourceId": { - "deviceId": "7b645eab-01c3-483a-6289-98fc24e32bc1", - "href": "/oc/con" - }, - "status": "CANCELED", - "auditContext": { - "userId": "beb32777-9680-4f42-8761-350eebe76a85", - "correlationId": "8d140cad-62ac-4fff-aa8f-48f413ca85ca.55d8f61c-f85b-4a0c-aaba-c77f237600dd", - "owner": "beb32777-9680-4f42-8761-350eebe76a85" - }, "eventMetadata": { - "version": "2", - "timestamp": "1719582951907143230", - "connectionId": "10.1.65.223:46696", - "sequence": "0", + "version": "29", + "timestamp": "1720120774403521580", + "connectionId": "10.110.110.10:1544", + "sequence": "12850", "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274" }, "resourceTypes": [ "oic.wk.con" - ] + ], + "resourceId": { + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "href": "/oc/con" + }, + "status": "OK", + "content": { + "n": "new jkralik device name" + }, + "auditContext": { + "userId": "1e3a67e3-ec52-42e2-8bb0-aae61d4af7c8", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.1b36275d-4966-4c89-b544-85a67ce38ad5", + "owner": "beb32777-9680-4f42-8761-350eebe76a85" + } }, - "validUntil": "0", - "href": "/oc/con", - "correlationId": "8d140cad-62ac-4fff-aa8f-48f413ca85ca.55d8f61c-f85b-4a0c-aaba-c77f237600dd" + "validUntil": "0" } - ], - "owner": "beb32777-9680-4f42-8761-350eebe76a85", - "timestamp": "1719817002027697453", - "id": "8d140cad-62ac-4fff-aa8f-48f413ca85ca", - "deviceId": "7b645eab-01c3-483a-6289-98fc24e32bc1", - "configurationId": { - "id": "48998f7d-2a70-46a4-8a68-745b69d55489", - "version": "0" - }, - "onDemand": true - } - }, - { - "result": { - "onDemand": true, - "resources": [ - { - "href": "/not/existing", - "correlationId": "0f9dc817-333f-4556-9888-c01ed2676478.dd79c0ab-004f-43e3-bc03-58c8c44c6fcd", - "status": "DONE", - "resourceUpdated": { - "status": "ERROR", - "content": "pending resource update canceled", - "auditContext": { - "correlationId": "0f9dc817-333f-4556-9888-c01ed2676478.dd79c0ab-004f-43e3-bc03-58c8c44c6fcd", - "owner": "beb32777-9680-4f42-8761-350eebe76a85" - }, - "eventMetadata": { - "connectionId": "48998f7d-2a70-46a4-8a68-745b69d55489", - "sequence": "0", - "version": "0", - "timestamp": "0" - }, - "resourceId": { - "deviceId": "bcd30976-10e4-4145-5282-eb50ee55dfae", - "href": "/not/existing" - } - }, - "validUntil": "0" - }, - { - "href": "/oc/con", - "correlationId": "0f9dc817-333f-4556-9888-c01ed2676478.75be0ddc-e1e0-4738-9a88-b704ae0fc248", - "status": "DONE", - "resourceUpdated": { - "resourceTypes": [ - "oic.wk.con" - ], - "resourceId": { - "deviceId": "bcd30976-10e4-4145-5282-eb50ee55dfae", - "href": "/oc/con" - }, - "status": "OK", - "content": { - "n": "prezentacia dankovi" - }, - "auditContext": { - "userId": "1e3a67e3-ec52-42e2-8bb0-aae61d4af7c8", - "correlationId": "0f9dc817-333f-4556-9888-c01ed2676478.75be0ddc-e1e0-4738-9a88-b704ae0fc248", - "owner": "beb32777-9680-4f42-8761-350eebe76a85" - }, - "eventMetadata": { - "version": "281", - "timestamp": "1719595063306772686", - "connectionId": "10.110.110.10:30226", - "sequence": "10159", - "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274" - } - }, - "validUntil": "0" - } - ], - "owner": "beb32777-9680-4f42-8761-350eebe76a85", - "timestamp": "1719817002006350403", - "id": "0f9dc817-333f-4556-9888-c01ed2676478", - "deviceId": "bcd30976-10e4-4145-5282-eb50ee55dfae", - "configurationId": { - "id": "48998f7d-2a70-46a4-8a68-745b69d55489", - "version": "0" + ] } } -}, - { - "result": { - "deviceId": "d9dde79c-3916-433b-4789-ca10aad6fc4a", - "configurationId": { - "id": "48998f7d-2a70-46a4-8a68-745b69d55489", - "version": "0" - }, - "onDemand": true, - "resources": [ - { - "status": "DONE", - "resourceUpdated": { - "resourceId": { - "deviceId": "d9dde79c-3916-433b-4789-ca10aad6fc4a", - "href": "/not/existing" - }, - "status": "ERROR", - "content": "pending resource update canceled", - "auditContext": { - "correlationId": "9dae740f-a598-4411-8cd0-cbf7c804426a.a0c76318-6f04-4c04-9c98-c0f87a0e8a1f", - "owner": "beb32777-9680-4f42-8761-350eebe76a85" - }, - "eventMetadata": { - "connectionId": "48998f7d-2a70-46a4-8a68-745b69d55489", - "sequence": "0", - "version": "0", - "timestamp": "0" - } - }, - "validUntil": "0", - "href": "/not/existing", - "correlationId": "9dae740f-a598-4411-8cd0-cbf7c804426a.a0c76318-6f04-4c04-9c98-c0f87a0e8a1f" - }, - { - "status": "DONE", - "resourceUpdated": { - "resourceId": { - "deviceId": "d9dde79c-3916-433b-4789-ca10aad6fc4a", - "href": "/oc/con" - }, - "status": "OK", - "content": { - "n": "prezentacia dankovi" - }, - "auditContext": { - "correlationId": "9dae740f-a598-4411-8cd0-cbf7c804426a.38e0d0de-4b86-468f-8a61-e7e5df3edf98", - "owner": "beb32777-9680-4f42-8761-350eebe76a85", - "userId": "1e3a67e3-ec52-42e2-8bb0-aae61d4af7c8" - }, - "eventMetadata": { - "version": "5", - "timestamp": "1719595063306023868", - "connectionId": "10.110.110.10:56076", - "sequence": "10153", - "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274" - }, - "resourceTypes": [ - "oic.wk.con" - ] - }, - "validUntil": "0", - "href": "/oc/con", - "correlationId": "9dae740f-a598-4411-8cd0-cbf7c804426a.38e0d0de-4b86-468f-8a61-e7e5df3edf98" - } - ], - "owner": "beb32777-9680-4f42-8761-350eebe76a85", - "timestamp": "1719817002023535166", - "id": "9dae740f-a598-4411-8cd0-cbf7c804426a" - } -}, - { - "result": { - "timestamp": "1719595103190656748", - "id": "40cab4b8-e9d6-47d7-bd70-4daa85c094ad", - "deviceId": "wdsw", - "configurationId": { - "id": "48998f7d-2a70-46a4-8a68-745b69d55489", - "version": "0" - }, - "onDemand": true, - "resources": [ - { - "validUntil": "0", - "href": "/not/existing", - "correlationId": "40cab4b8-e9d6-47d7-bd70-4daa85c094ad.18830e29-5204-4fc9-a76f-91ab65409431", - "status": "DONE", - "resourceUpdated": { - "status": "ERROR", - "content": "rpc error: code = PermissionDenied desc = cannot validate user access: rpc error: code = PermissionDenied desc = access denied", - "auditContext": { - "correlationId": "40cab4b8-e9d6-47d7-bd70-4daa85c094ad.18830e29-5204-4fc9-a76f-91ab65409431", - "owner": "beb32777-9680-4f42-8761-350eebe76a85" - }, - "eventMetadata": { - "version": "0", - "timestamp": "0", - "connectionId": "48998f7d-2a70-46a4-8a68-745b69d55489", - "sequence": "0" - }, - "resourceId": { - "deviceId": "wdsw", - "href": "/not/existing" - } - } - }, - { - "href": "/oc/con", - "correlationId": "40cab4b8-e9d6-47d7-bd70-4daa85c094ad.d4de7422-8543-4a67-bb25-4f41e1fc7e6d", - "status": "DONE", - "resourceUpdated": { - "resourceId": { - "deviceId": "wdsw", - "href": "/oc/con" - }, - "status": "ERROR", - "content": "rpc error: code = PermissionDenied desc = cannot validate user access: rpc error: code = PermissionDenied desc = access denied", - "auditContext": { - "correlationId": "40cab4b8-e9d6-47d7-bd70-4daa85c094ad.d4de7422-8543-4a67-bb25-4f41e1fc7e6d", - "owner": "beb32777-9680-4f42-8761-350eebe76a85" - }, - "eventMetadata": { - "sequence": "0", - "version": "0", - "timestamp": "0", - "connectionId": "48998f7d-2a70-46a4-8a68-745b69d55489" - } - }, - "validUntil": "0" - } - ], - "owner": "beb32777-9680-4f42-8761-350eebe76a85" - } -} ] \ No newline at end of file diff --git a/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/list/list.json b/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/list/list.json new file mode 100644 index 000000000..c38f12799 --- /dev/null +++ b/http-gateway/web/packages/mock-server/src/data/snippet-service/applied-configurations/list/list.json @@ -0,0 +1,76 @@ +[ + { + "result": { + "owner": "beb32777-9680-4f42-8761-350eebe76a85", + "timestamp": "1720525494708332684", + "id": "79c2a88a-1244-4e8a-a526-420e6cd5d34a", + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "configurationId": { + "id": "48998f7d-2a70-46a4-8a68-745b69d55489", + "version": "0" + }, + "conditionId": { + "id": "00fa41ad-b3bf-4f00-bfe1-c71c439e4cda", + "version": "1" + }, + "resources": [ + { + "href": "/not/exists", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.c3217371-1a90-4f99-b9cf-9896ea349f4f", + "status": "DONE", + "resourceUpdated": { + "status": "CANCELED", + "auditContext": { + "userId": "beb32777-9680-4f42-8761-350eebe76a85", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.c3217371-1a90-4f99-b9cf-9896ea349f4f", + "owner": "beb32777-9680-4f42-8761-350eebe76a85" + }, + "eventMetadata": { + "version": "3", + "timestamp": "1720525494700155275", + "connectionId": "10.1.65.210:56476", + "sequence": "0", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274" + }, + "resourceId": { + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "href": "/not/exists" + } + }, + "validUntil": "0" + }, + { + "href": "/oc/con", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.1b36275d-4966-4c89-b544-85a67ce38ad5", + "status": "DONE", + "resourceUpdated": { + "eventMetadata": { + "version": "29", + "timestamp": "1720120774403521580", + "connectionId": "10.110.110.10:1544", + "sequence": "12850", + "hubId": "1c10a3b6-287c-11ec-ac2d-13054959c274" + }, + "resourceTypes": [ + "oic.wk.con" + ], + "resourceId": { + "deviceId": "3aae0672-47f3-4498-78d4-b061e6105ccd", + "href": "/oc/con" + }, + "status": "OK", + "content": { + "n": "new jkralik device name" + }, + "auditContext": { + "userId": "1e3a67e3-ec52-42e2-8bb0-aae61d4af7c8", + "correlationId": "79c2a88a-1244-4e8a-a526-420e6cd5d34a.1b36275d-4966-4c89-b544-85a67ce38ad5", + "owner": "beb32777-9680-4f42-8761-350eebe76a85" + } + }, + "validUntil": "0" + } + ] + } + } +] \ No newline at end of file diff --git a/http-gateway/web/packages/mock-server/src/data/snippet-service/conditions/detail/00fa41ad-b3bf-4f00-bfe1-c71c439e4cda.json b/http-gateway/web/packages/mock-server/src/data/snippet-service/conditions/detail/00fa41ad-b3bf-4f00-bfe1-c71c439e4cda.json new file mode 100644 index 000000000..543f3560d --- /dev/null +++ b/http-gateway/web/packages/mock-server/src/data/snippet-service/conditions/detail/00fa41ad-b3bf-4f00-bfe1-c71c439e4cda.json @@ -0,0 +1,34 @@ +[ + { + "result": { + "enabled": true, + "jqExpressionFilter": ".n == \"new name value\"", + "timestamp": "1720109672386226348", + "version": "0", + "name": "jkralik-cond-0", + "configurationId": "48998f7d-2a70-46a4-8a68-745b69d55489", + "resourceHrefFilter": [ + "/oic/d" + ], + "apiAccessToken": "aaa", + "owner": "beb32777-9680-4f42-8761-350eebe76a85", + "id": "00fa41ad-b3bf-4f00-bfe1-c71c439e4cda" + } + }, + { + "result": { + "enabled": true, + "configurationId": "48998f7d-2a70-46a4-8a68-745b69d55489", + "resourceHrefFilter": [ + "/oic/d" + ], + "apiAccessToken": "eyJhbGciOiJFUzI1NiIsImtpZCI6IjdlODU5NTExLWIyMDYtNTlmYi05MGZmLTE0NTQzZTBjNWRjZCIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiaHR0cHM6Ly90cnkucGxnZC5jbG91ZCJdCiwiY2xpZW50X2lkIjoiand0LXByaXZhdGUta2V5IiwiaWF0IjoxNzIwMTA5NjgwCiwiaXNzIjoiaHR0cHM6Ly90cnkucGxnZC5jbG91ZCIsIm93bmVyLWlkIjoiYmViMzI3NzctOTY4MC00ZjQyLTg3NjEtMzUwZWViZTc2YTg1Iiwic2NvcGUiOiIiLCJzdWIiOiJiZWIzMjc3Ny05NjgwLTRmNDItODc2MS0zNTBlZWJlNzZhODUifQ.slGHA16fw7xzaNQRaKIp9x0FacxAQOPi8eqfVj5MMsAprvJymPkyJExvN1e6-L6hJeVN1TIR3T4kL7LUhxeARQ", + "owner": "beb32777-9680-4f42-8761-350eebe76a85", + "id": "00fa41ad-b3bf-4f00-bfe1-c71c439e4cda", + "name": "jkralik-cond-0", + "jqExpressionFilter": ".n == \"new name value\"", + "timestamp": "1720109684300119163", + "version": "1" + } +} +] \ No newline at end of file diff --git a/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/detail/1a53e16f-b533-4c26-9150-e2c30065ab27.json b/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/detail/1a53e16f-b533-4c26-9150-e2c30065ab27.json new file mode 100644 index 000000000..5e1880f17 --- /dev/null +++ b/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/detail/1a53e16f-b533-4c26-9150-e2c30065ab27.json @@ -0,0 +1,25 @@ +[ + { + "result": { + "id": "1a53e16f-b533-4c26-9150-e2c30065ab27", + "version": "0", + "name": "my-cfg-2", + "resources": [ + { + "href": "/not/existing", + "content": 123456, + "timeToLive": "0" + }, + { + "href": "/oc/con", + "content": { + "n": "new device name" + }, + "timeToLive": "0" + } + ], + "owner": "beb32777-9680-4f42-8761-350eebe76a85", + "timestamp": "1718961203704580832" + } + } +] \ No newline at end of file diff --git a/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/detail/48998f7d-2a70-46a4-8a68-745b69d55489.json b/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/detail/48998f7d-2a70-46a4-8a68-745b69d55489.json index 26e548bd8..136ca1619 100644 --- a/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/detail/48998f7d-2a70-46a4-8a68-745b69d55489.json +++ b/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/detail/48998f7d-2a70-46a4-8a68-745b69d55489.json @@ -3,7 +3,7 @@ "result": { "id": "48998f7d-2a70-46a4-8a68-745b69d55489", "version": "0", - "name": "my-cfg-1", + "name": "my-cfg-0", "resources": [ { "href": "/not/existing", @@ -26,7 +26,7 @@ "result": { "id": "48998f7d-2a70-46a4-8a68-745b69d55489", "version": "1", - "name": "my-cfg-11", + "name": "my-cfg-1", "resources": [ { "href": "/not/existing", diff --git a/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/list/listAdd.json b/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/list/listAdd.json new file mode 100644 index 000000000..0a1e8e36b --- /dev/null +++ b/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/list/listAdd.json @@ -0,0 +1,48 @@ +[ + { + "result": { + "id": "48998f7d-2a70-46a4-8a68-745b69d55489", + "version": "1", + "name": "my-cfg-1", + "resources": [ + { + "href": "/not/existing", + "content": 123456, + "timeToLive": "0" + }, + { + "href": "/oc/con", + "content": { + "n": "prezentacia dankovi" + }, + "timeToLive": "0" + } + ], + "owner": "beb32777-9680-4f42-8761-350eebe76a85", + "timestamp": "1718961203704580832" + } + }, + { + "result": { + "id": "1a53e16f-b533-4c26-9150-e2c30065ab27", + "version": "0", + "name": "my-cfg-2", + "resources": [ + { + "href": "/not/existing", + "content": 123456, + "timeToLive": "0" + }, + { + "href": "/oc/con", + "content": { + "n": "new device name" + }, + "timeToLive": "0" + } + ], + "owner": "beb32777-9680-4f42-8761-350eebe76a85", + "timestamp": "1718961203704580832" + } + } +] \ No newline at end of file diff --git a/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/list/listEmpty.json b/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/list/listEmpty.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/http-gateway/web/packages/mock-server/src/data/snippet-service/configurations/list/listEmpty.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/http-gateway/web/packages/mock-server/src/index.js b/http-gateway/web/packages/mock-server/src/index.js index 45f303a15..5a44399d6 100644 --- a/http-gateway/web/packages/mock-server/src/index.js +++ b/http-gateway/web/packages/mock-server/src/index.js @@ -2,6 +2,7 @@ const express = require('express') const cors = require('cors') const axios = require('axios') const { checkError, loadResponseStreamFromFile } = require('./utils') +const bodyParser = require('body-parser') const devices = require('./routes/devices') const dps = require('./routes/dps') @@ -9,6 +10,9 @@ const snippetService = require('./routes/snippet-service') const app = express() const port = 8181 +let versionData = null + +require('dotenv').config() app.use( cors({ @@ -17,6 +21,9 @@ app.use( }) ) +app.use(bodyParser.urlencoded({ extended: true })) +// app.use(bodyParser.json()) + // ----- PENDING COMMANDS ----- app.get('/api/v1/pending-commands', function (req, res) { console.log(`${req.method}`, req.url) @@ -48,7 +55,20 @@ app.get('/theme/theme.json', (req, res) => { app.get('/repos/plgd-dev/hub/releases/latest', (req, res) => { try { checkError(req, res) - axios.get('https://api.github.com/repos/plgd-dev/hub/releases/latest').then((r) => res.send(r.data)) + if (!versionData) { + axios + .get('https://api.github.com/repos/plgd-dev/hub/releases/latest', { + headers: { + Authorization: `Bearer ${process.env.REACT_APP_GITHUB_TOKEN}`, + }, + }) + .then((r) => { + versionData = r.data + res.send(r.data) + }) + } else { + res.send(versionData) + } } catch (e) { res.status(500).send(e.toString()) } diff --git a/http-gateway/web/packages/mock-server/src/routes/devices.js b/http-gateway/web/packages/mock-server/src/routes/devices.js index f16a7e2e4..de6c78272 100644 --- a/http-gateway/web/packages/mock-server/src/routes/devices.js +++ b/http-gateway/web/packages/mock-server/src/routes/devices.js @@ -1,8 +1,9 @@ const express = require('express') -const { checkError, loadResponseFromFile } = require('../utils') +const { checkError, loadResponseFromFile, loadResponseStreamFromFile } = require('../utils') const path = require('path') const { check } = require('express-validator') const escapeHtml = require('escape-html') +const get = require('lodash/get') const router = express.Router() @@ -29,9 +30,9 @@ router.get('/api/v1/devices', (req, res) => { checkError(req, res) if (deletedDevice) { - loadResponseFromFile(path.join('devices', 'list', 'list-deleted-state.json'), res) + loadResponseStreamFromFile(path.join('devices', 'list', 'list-deleted-state.json'), res) } else { - loadResponseFromFile(path.join('devices', 'list', 'list.json'), res) + loadResponseStreamFromFile(path.join('devices', 'list', 'list.json'), res) } } catch (e) { res.status(500).send(escapeHtml(e.toString())) @@ -151,28 +152,23 @@ router.put('/api/v1/devices/:deviceId/resources/color', deviceIdCheck, (req, res } }) -router.get('/api/v1/resource-links', deviceIdCheck, (req, res) => { +router.get('/api/v1/resource-links', (req, res) => { try { checkError(req, res) - loadResponseFromFile(path.join('devices', 'detail', `${req.query['device_id_filter']}-resource-links.json`), res) + let filter = get(req.query, 'device_id_filter', null) + + loadResponseFromFile(path.join('devices', 'detail', `${filter}-resource-links.json`), res) } catch (e) { res.status(500).send(e.toString()) } }) -// router.get('/api/v1/provisioning-records', deviceIdCheck, (req, res) => { -// try { -// checkError(req, res) -// loadResponseFromFile(path.join('devices', 'detail', `${req.query['deviceIdFilter']}-provisioning-records.json`), res) -// } catch (e) { -// res.status(500).send(escapeHtml(e.toString())) -// } -// }) - -router.get('/api/v1/signing/records', deviceIdCheck, (req, res) => { +router.get('/api/v1/signing/records', (req, res) => { try { checkError(req, res) - loadResponseFromFile(path.join('devices', 'detail', `${req.query['deviceIdFilter']}-signin-records.json`), res) + let filter = get(req.query, 'deviceIdFilter', null) + + loadResponseFromFile(path.join('devices', 'detail', `${filter}-signin-records.json`), res) } catch (e) { res.status(500).send(escapeHtml(e.toString())) } diff --git a/http-gateway/web/packages/mock-server/src/routes/snippet-service.js b/http-gateway/web/packages/mock-server/src/routes/snippet-service.js index 75386803a..eb2d9ce21 100644 --- a/http-gateway/web/packages/mock-server/src/routes/snippet-service.js +++ b/http-gateway/web/packages/mock-server/src/routes/snippet-service.js @@ -3,13 +3,35 @@ const { loadResponseStreamFromFile, checkError } = require('../utils') const path = require('path') const escapeHtml = require('escape-html') const get = require('lodash/get') +const { check } = require('express-validator') +const { uniq } = require('lodash') const router = express.Router() +let configurationsAdd = false +let configurationsDeleted = false + +const configurationIdCheck = [check('configurationId').notEmpty().withMessage('Configuration ID must be alphanumeric')] + +router.get('/api/v1/configurations/api-reset', (req, res) => { + try { + checkError(req, res) + + configurationsAdd = false + configurationsDeleted = false + + res.send('OK') + } catch (e) { + res.status(500).send(escapeHtml(e.toString())) + } +}) + router.get('/api/v1/configurations/applied', (req, res) => { try { checkError(req, res) - const httpConfigurationIdFilter = get(req.query, 'httpConfigurationIdFilter', null)?.replace('/all', '') + const extractFilter = (query, key) => get(query, key, null)?.replace('/all', '') + const httpConfigurationIdFilter = extractFilter(req.query, 'httpConfigurationIdFilter') + const idFilter = extractFilter(req.query, 'idFilter') // detail configuration page if (httpConfigurationIdFilter) { @@ -17,24 +39,44 @@ router.get('/api/v1/configurations/applied', (req, res) => { path.join('snippet-service', 'applied-configurations', 'list', `httpConfigurationIdFilter-${httpConfigurationIdFilter}.json`), res ) + } else if (idFilter) { + loadResponseStreamFromFile(path.join('snippet-service', 'applied-configurations', 'detail', `idFilter-${idFilter}.json`), res) } else { - // res.send([]) + loadResponseStreamFromFile(path.join('snippet-service', 'applied-configurations', 'list', 'list.json'), res) } } catch (e) { res.status(500).send(escapeHtml(e.toString())) } }) +const parseFilters = (query, key) => { + const filters = get(query, key, null) + + if (Array.isArray(filters)) { + return uniq(filters) + } else { + return filters?.replace('/all', '')?.replace(/\/[0-9]+/g, '') + } +} + router.get('/api/v1/configurations', (req, res) => { try { checkError(req, res) - const filter = get(req.query, 'httpIdFilter', null)?.replace('/all', '') + + const parsedFilter = parseFilters(req.query, 'httpIdFilter') + const filter = Array.isArray(parsedFilter) ? parsedFilter[0] : parsedFilter // detail page if (filter) { loadResponseStreamFromFile(path.join('snippet-service', 'configurations', 'detail', `${filter}.json`), res) + } else if (configurationsAdd) { + // list page after add + loadResponseStreamFromFile(path.join('snippet-service', 'configurations', 'list', `listAdd.json`), res) + } else if (configurationsDeleted) { + // list page after delete + loadResponseStreamFromFile(path.join('snippet-service', 'configurations', 'list', `listEmpty.json`), res) } else { - // list page + // list page default loadResponseStreamFromFile(path.join('snippet-service', 'configurations', 'list', `list.json`), res) } } catch (e) { @@ -42,10 +84,52 @@ router.get('/api/v1/configurations', (req, res) => { } }) +router.delete('/api/v1/configurations', (req, res) => { + try { + checkError(req, res) + configurationsDeleted = true + res.status(200).send('OK') + } catch (e) { + res.status(500).send(escapeHtml(e.toString())) + } +}) + +router.post('/api/v1/configurations', (req, res) => { + try { + checkError(req, res) + + configurationsAdd = true + + res.status(200).send({ id: '1a53e16f-b533-4c26-9150-e2c30065ab27' }) + } catch (e) { + res.status(500).send(escapeHtml(e.toString())) + } +}) + +router.post('/api/v1/configurations/:configurationId', configurationIdCheck, (req, res) => { + try { + checkError(req, res) + res.status(200).send('OK') + } catch (e) { + res.status(500).send(escapeHtml(e.toString())) + } +}) + +router.put('/api/v1/configurations/:configurationId', configurationIdCheck, (req, res) => { + try { + checkError(req, res) + res.status(200).send('OK') + } catch (e) { + res.status(500).send(escapeHtml(e.toString())) + } +}) + router.get('/api/v1/conditions', (req, res) => { try { checkError(req, res) - const filter = get(req.query, 'httpIdFilter', null)?.replace('/all', '') + const filter = get(req.query, 'httpIdFilter', null) + ?.replace('/all', '') + ?.replace(/\/[0-9]+/g, '') // detail page if (filter) { diff --git a/http-gateway/web/packages/shared-ui b/http-gateway/web/packages/shared-ui index 49a3f3fd1..2b72225d9 160000 --- a/http-gateway/web/packages/shared-ui +++ b/http-gateway/web/packages/shared-ui @@ -1 +1 @@ -Subproject commit 49a3f3fd1e3935345bef18df891a2f3d6e251c52 +Subproject commit 2b72225d968c1ecb82e79af045086d61228bba26 diff --git a/http-gateway/web/playwright/global-setup.ts b/http-gateway/web/playwright/global-setup.ts index e6b81b075..945d1066c 100644 --- a/http-gateway/web/playwright/global-setup.ts +++ b/http-gateway/web/playwright/global-setup.ts @@ -1,4 +1,5 @@ import { chromium, expect, FullConfig } from '@playwright/test' +import { login } from './tests/utils' async function globalSetup(config: FullConfig) { const wellKnowConfigurationAddress = process.env.REACT_APP_HTTP_WELL_KNOW_CONFIGURATION_ADDRESS @@ -12,19 +13,31 @@ async function globalSetup(config: FullConfig) { process.env.WELL_KNOWN_CONFIG = JSON.stringify(data) - await page.goto('http://localhost:3000/') + await login(page) - // keycloak login page - await expect(page).toHaveTitle(/Login | plgd.dev/, { timeout: 30000 }) + const r = await page.request.get('https://api.github.com/repos/plgd-dev/hub/releases/latest') + const body = await r.json() - await expect(page).toHaveURL(/auth.plgd.cloud/) + const versionData = { + requestedDatetime: new Date(), + latest: body.tag_name.replace('v', ''), + latest_url: body.html_url, + } - // login data - await page.locator('#email').fill(process.env.REACT_APP_TEST_LOGIN_USERNAME || '') - await page.locator('#password').fill(process.env.REACT_APP_TEST_LOGIN_PASSWORD || '') - await page.getByRole('button', { name: 'Sign In' }).click() + await page.context().storageState({ path: 'storageState.json' }) + + const storage = await page.context().storageState() + + const root = JSON.parse(storage.origins[0].localStorage.find((x) => x.name === 'persist:root')?.value || '{}') + const rootApp = { ...JSON.parse(root['app'] || '{}'), version: versionData } + + const newRoot = JSON.stringify({ ...root, app: JSON.stringify(rootApp) }) + + await page.waitForLoadState('networkidle') + await page.evaluate((newRoot) => localStorage.setItem('persist:root', JSON.stringify(newRoot)), newRoot) await page.context().storageState({ path: 'storageState.json' }) + await browser.close() } diff --git a/http-gateway/web/playwright/package-lock.json b/http-gateway/web/playwright/package-lock.json index 759d51848..76bb0da16 100644 --- a/http-gateway/web/playwright/package-lock.json +++ b/http-gateway/web/playwright/package-lock.json @@ -9,12 +9,101 @@ "version": "1.0.0", "license": "ISC", "dependencies": { + "@octokit/core": "^6.1.2", "axios": "^1.7.2" }, "devDependencies": { "@playwright/test": "^1.44.0" } }, + "node_modules/@octokit/auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", + "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", + "dependencies": { + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "dependencies": { + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==" + }, + "node_modules/@octokit/request": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", + "dependencies": { + "@octokit/endpoint": "^10.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.4.tgz", + "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", + "dependencies": { + "@octokit/types": "^13.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "dependencies": { + "@octokit/openapi-types": "^22.2.0" + } + }, "node_modules/@playwright/test": { "version": "1.44.0", "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.0.tgz", @@ -45,6 +134,11 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -163,9 +257,84 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" } }, "dependencies": { + "@octokit/auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==" + }, + "@octokit/core": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "requires": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + } + }, + "@octokit/endpoint": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", + "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", + "requires": { + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.2" + } + }, + "@octokit/graphql": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "requires": { + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" + } + }, + "@octokit/openapi-types": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==" + }, + "@octokit/request": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", + "requires": { + "@octokit/endpoint": "^10.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^7.0.2" + } + }, + "@octokit/request-error": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.4.tgz", + "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", + "requires": { + "@octokit/types": "^13.0.0" + } + }, + "@octokit/types": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "requires": { + "@octokit/openapi-types": "^22.2.0" + } + }, "@playwright/test": { "version": "1.44.0", "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.0.tgz", @@ -190,6 +359,11 @@ "proxy-from-env": "^1.1.0" } }, + "before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -258,6 +432,11 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" } } } diff --git a/http-gateway/web/playwright/package.json b/http-gateway/web/playwright/package.json index dc563308e..3d5881d94 100644 --- a/http-gateway/web/playwright/package.json +++ b/http-gateway/web/playwright/package.json @@ -8,7 +8,9 @@ "test": "npx playwright test", "test:ui": "npx playwright test --ui", "test:debug": "npx playwright test --debug", - "test:r": "npx playwright test snippet-service/list.spec.ts --debug --update-snapshots" + "test:updateScreenshots": "npx playwright test --update-snapshots", + "test:login": "npx playwright test login.spec.ts --debug", + "test:dev": "npx playwright test snippet-service/configurations/detail.spec.ts --update-snapshots" }, "keywords": [], "author": "", diff --git a/http-gateway/web/playwright/playwright.config.ts b/http-gateway/web/playwright/playwright.config.ts index 6e263908a..da6a95d0b 100644 --- a/http-gateway/web/playwright/playwright.config.ts +++ b/http-gateway/web/playwright/playwright.config.ts @@ -15,11 +15,8 @@ export default defineConfig({ /* Maximum time one test can run for. */ timeout: 2 * 60 * 1000, expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ timeout: 2 * 60 * 1000, + toHaveScreenshot: { maxDiffPixels: 100 }, }, /* Run tests in files in parallel */ fullyParallel: true, @@ -39,6 +36,10 @@ export default defineConfig({ storageState: 'storageState.json', trace: 'on-first-retry', testIdAttribute: 'data-test-id', + viewport: { + width: 1400, + height: 800, + }, }, /* Configure projects for major browsers */ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts b/http-gateway/web/playwright/tests/devices/detail.spec.ts index 3db30c6b4..551ce4b9f 100644 --- a/http-gateway/web/playwright/tests/devices/detail.spec.ts +++ b/http-gateway/web/playwright/tests/devices/detail.spec.ts @@ -2,15 +2,20 @@ import { expect, Page, test } from '@playwright/test' import testId from '../../../src/testId' const openDevice = async (page: Page) => { - await page.goto('/') + await page.goto('') + await page.request.get('http://localhost:8181/api/v1/devices/api-reset') + await page.setViewportSize({ width: 1400, height: 800 }) + await page.getByTestId(testId.menu.devices).click() + + await expect(page.getByTestId('device-row-0')).toBeVisible() await page.getByTestId('device-row-0').click() } test('device-detail-tab-1', async ({ page }) => { await openDevice(page) - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(testId.devices.detail.tabInformation)).toBeVisible() await expect(page.getByTestId(testId.devices.detail.tabResources)).toBeVisible() @@ -23,7 +28,7 @@ test('device-detail-tab-1', async ({ page }) => { test('device-detail-tab-1-toggles', async ({ page }) => { await openDevice(page) - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(`${testId.devices.detail.information.twinToggle}`)).toBeVisible() await expect(page.getByTestId(`${testId.devices.detail.information.notificationsToggle}`)).toBeVisible() @@ -49,7 +54,7 @@ test('device-detail-tab-1-table', async ({ page }) => { await page.getByTestId(`${testId.devices.detail.information.endpoints}-modal-btn`).click() await expect(page.getByTestId(`${testId.devices.detail.information.endpoints}-modal`)).toBeVisible() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await page.getByTestId(`${testId.devices.detail.information.endpoints}-modal-close`).click() await expect(page.getByTestId(`${testId.devices.detail.information.endpoints}-modal`)).not.toBeVisible() @@ -64,7 +69,7 @@ test('devices-detail-edit-name', async ({ page }) => { await expect(page.getByTestId(testId.devices.detail.editNameModal)).toBeVisible() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(`${testId.devices.detail.editNameModal}-input`)).toBeVisible() @@ -90,7 +95,7 @@ test('devices-detail-delete-device-close', async ({ page }) => { await page.getByTestId(testId.devices.detail.deleteDeviceButton).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(testId.devices.detail.deleteDeviceModal)).toBeVisible() @@ -129,7 +134,7 @@ test('device-detail-tab-2', async ({ page }) => { await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-1`)).toBeVisible() await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-4`)).toBeVisible() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(testId.devices.detail.tabResources)).toHaveClass(/active/) }) @@ -144,7 +149,7 @@ test('device-detail-tab-2-table-filter', async ({ page }) => { await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-4`)).toBeVisible() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) }) test('device-detail-tab-2-table-update-modal-open-close', async ({ page }) => { @@ -155,7 +160,7 @@ test('device-detail-tab-2-table-update-modal-open-close', async ({ page }) => { await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-4-href`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-4-href`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-modal`)).toBeVisible() await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-retrieve-button`)).toBeVisible() @@ -180,7 +185,7 @@ test('device-detail-tab-2-table-update-modal-full-view', async ({ page }) => { await page.getByTestId(`${testId.devices.detail.resources.updateModal}-editor-view-button`).click() await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-modal`)).toHaveClass(/fullSize/) - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await page.getByTestId(`${testId.devices.detail.resources.updateModal}-modal-close`).click() await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-modal`)).not.toBeVisible() @@ -214,13 +219,13 @@ test('device-detail-tab-2-table-open-update-modal-update', async ({ page }) => { test('device-detail-tab-2-table-update-modal-open-action-button', async ({ page }) => { await openDevice(page) - page.setViewportSize({ width: 1400, height: 720 }) + await page.setViewportSize({ width: 1400, height: 800 }) await page.getByTestId(testId.devices.detail.tabResources).click() await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-4-action-update`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-4-action-update`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) }) test('device-detail-tab-2-table-update-modal-open-action-button-toggle-open', async ({ page }) => { @@ -228,10 +233,12 @@ test('device-detail-tab-2-table-update-modal-open-action-button-toggle-open', as await page.getByTestId(testId.devices.detail.tabResources).click() + await page.setViewportSize({ width: 1200, height: 800 }) + await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-4-actions-toggle`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-4-actions-toggle`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) }) test('device-detail-tab-2-table-update-modal-open-action-button-toggle', async ({ page }) => { @@ -239,13 +246,15 @@ test('device-detail-tab-2-table-update-modal-open-action-button-toggle', async ( await page.getByTestId(testId.devices.detail.tabResources).click() + await page.setViewportSize({ width: 1200, height: 800 }) + await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-4-actions-toggle`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-4-actions-toggle`).click() await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-4-action-update`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-4-action-update`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) }) const openDeviceWotResource = async (page: Page) => { @@ -259,28 +268,28 @@ const openDeviceWotResource = async (page: Page) => { test('device-detail-tab-2-wot-resource-form', async ({ page }) => { await openDeviceWotResource(page) - page.setViewportSize({ width: 1400, height: 1400 }) - await expect(page.getByTestId(testId.devices.detail.tabCertificates)).toHaveClass(/disabled/) - await expect(page.getByTestId(testId.devices.detail.tabProvisioningRecords)).toHaveClass(/disabled/) + await page.setViewportSize({ width: 1400, height: 1400 }) + await expect(page.getByTestId(testId.devices.detail.tabCertificates)).not.toHaveClass(/disabled/) + await expect(page.getByTestId(testId.devices.detail.tabProvisioningRecords)).not.toHaveClass(/disabled/) await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-1-href`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-1-href`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) }) test('device-detail-tab-2-wot-resource-simple-form-update', async ({ page }) => { await openDeviceWotResource(page) - page.setViewportSize({ width: 1400, height: 1400 }) + await page.setViewportSize({ width: 1400, height: 1400 }) await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-7-href`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-7-href`).click() await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-generated-form-form-/color`)).toBeVisible() - await page.getByTestId(`${testId.devices.detail.resources.updateModal}-generated-form-form-/color`).fill('#00000') + await page.getByTestId(`${testId.devices.detail.resources.updateModal}-generated-form-form-/color`).fill('#000000') - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-confirm-button`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.updateModal}-confirm-button`).click() @@ -290,7 +299,7 @@ test('device-detail-tab-2-wot-resource-simple-form-update', async ({ page }) => await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-7-href`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-7-href`).click() - await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-generated-form-form-/color`)).toHaveValue(/#00000/) + await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-generated-form-form-/color`)).toHaveValue(/#000000/) }) test('device-detail-tab-2-view-switch', async ({ page }) => { @@ -302,7 +311,7 @@ test('device-detail-tab-2-view-switch', async ({ page }) => { await page.getByTestId(`${testId.devices.detail.resources.viewSwitch}-label`).click() await expect(page.getByTestId(`${testId.devices.detail.resources.viewSwitch}`)).toBeChecked() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) }) test('device-detail-tab-2-tree-open-update-modal-href', async ({ page }) => { @@ -317,7 +326,7 @@ test('device-detail-tab-2-tree-open-update-modal-href', async ({ page }) => { await expect(page.getByTestId(`${testId.devices.detail.resources.tree}-row-0-expander-expander`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.tree}-row-0-expander-expander`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(`${testId.devices.detail.resources.tree}-row-/light/1/`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.tree}-row-/light/1/`).click() @@ -330,6 +339,8 @@ test('device-detail-tab-2-tree-open-update-modal-toggle', async ({ page }) => { await page.getByTestId(testId.devices.detail.tabResources).click() + await page.setViewportSize({ width: 1200, height: 800 }) + await expect(page.getByTestId(`${testId.devices.detail.resources.viewSwitch}-label`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.viewSwitch}-label`).click() await expect(page.getByTestId(`${testId.devices.detail.resources.viewSwitch}`)).toBeChecked() @@ -343,7 +354,7 @@ test('device-detail-tab-2-tree-open-update-modal-toggle', async ({ page }) => { await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-0.0-action-update`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-0.0-action-update`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-modal`)).toBeVisible() }) @@ -353,6 +364,8 @@ test('device-detail-tab-2-tree-open-update-modal-toggle-delete', async ({ page } await page.getByTestId(testId.devices.detail.tabResources).click() + await page.setViewportSize({ width: 1200, height: 800 }) + await expect(page.getByTestId(`${testId.devices.detail.resources.viewSwitch}-label`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.viewSwitch}-label`).click() await expect(page.getByTestId(`${testId.devices.detail.resources.viewSwitch}`)).toBeChecked() @@ -366,15 +379,15 @@ test('device-detail-tab-2-tree-open-update-modal-toggle-delete', async ({ page } await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-0.0-action-delete`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-0.0-action-delete`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) - await expect(page.getByTestId(`${testId.devices.detail.resources.deleteModal}-modal`)).toBeVisible() + await expect(page.getByTestId(`${testId.devices.detail.resources.deleteModal}`)).toBeVisible() }) test('device-detail-tab-2-tree-open-update-modal-edit-icon', async ({ page }) => { await openDevice(page) - page.setViewportSize({ width: 1400, height: 1400 }) + await page.setViewportSize({ width: 1400, height: 1400 }) await page.getByTestId(testId.devices.detail.tabResources).click() @@ -388,7 +401,7 @@ test('device-detail-tab-2-tree-open-update-modal-edit-icon', async ({ page }) => await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-0.0-action-update`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-0.0-action-update`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) await expect(page.getByTestId(`${testId.devices.detail.resources.updateModal}-modal`)).toBeVisible() }) @@ -396,7 +409,7 @@ test('device-detail-tab-2-tree-open-update-modal-edit-icon', async ({ page }) => test('device-detail-tab-2-tree-open-update-modal-delete-icon', async ({ page }) => { await openDevice(page) - page.setViewportSize({ width: 1400, height: 1400 }) + await page.setViewportSize({ width: 1400, height: 1400 }) await page.getByTestId(testId.devices.detail.tabResources).click() @@ -410,17 +423,17 @@ test('device-detail-tab-2-tree-open-update-modal-delete-icon', async ({ page }) await expect(page.getByTestId(`${testId.devices.detail.resources.table}-row-1-action-delete`)).toBeVisible() await page.getByTestId(`${testId.devices.detail.resources.table}-row-1-action-delete`).click() - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) - await expect(page.getByTestId(`${testId.devices.detail.resources.deleteModal}-modal`)).toBeVisible() + await expect(page.getByTestId(`${testId.devices.detail.resources.deleteModal}`)).toBeVisible() }) test('device-detail-tab-3', async ({ page }) => { await openDevice(page) - page.setViewportSize({ width: 1400, height: 1400 }) + await page.setViewportSize({ width: 1400, height: 1400 }) - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) }) test('devices-detail-rest', async ({ page, request }) => { diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-1-chromium-darwin.png index af8e1aa67..156779240 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-table-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-table-1-chromium-darwin.png index bf92c1720..e37d01e73 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-table-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-table-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-toggles-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-toggles-1-chromium-darwin.png index e0cb818d7..156779240 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-toggles-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-1-toggles-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-1-chromium-darwin.png new file mode 100644 index 000000000..0aef67b73 Binary files /dev/null and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-filter-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-filter-1-chromium-darwin.png index 43addbcfb..840cde00e 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-filter-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-filter-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-full-view-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-full-view-1-chromium-darwin.png index d70be7067..50bab4b0f 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-full-view-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-full-view-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-1-chromium-darwin.png index 955cb83c8..1fde7f96d 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-toggle-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-toggle-1-chromium-darwin.png index 8906f3c78..9280b6811 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-toggle-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-toggle-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-toggle-open-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-toggle-open-1-chromium-darwin.png new file mode 100644 index 000000000..c333ea0df Binary files /dev/null and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-action-button-toggle-open-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-close-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-close-1-chromium-darwin.png new file mode 100644 index 000000000..1fde7f96d Binary files /dev/null and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-table-update-modal-open-close-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-delete-icon-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-delete-icon-1-chromium-darwin.png new file mode 100644 index 000000000..c0607de86 Binary files /dev/null and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-delete-icon-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-edit-icon-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-edit-icon-1-chromium-darwin.png new file mode 100644 index 000000000..a6c52cef6 Binary files /dev/null and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-edit-icon-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-href-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-href-1-chromium-darwin.png index 442d7af8f..3b6b8fc47 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-href-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-href-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-toggle-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-toggle-1-chromium-darwin.png index 7bd449af3..0b2b2a0c2 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-toggle-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-toggle-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-toggle-delete-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-toggle-delete-1-chromium-darwin.png new file mode 100644 index 000000000..fd9cf83f2 Binary files /dev/null and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-tree-open-update-modal-toggle-delete-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-view-switch-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-view-switch-1-chromium-darwin.png index ba40f61c0..1e124780c 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-view-switch-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-view-switch-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-wot-resource-form-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-wot-resource-form-1-chromium-darwin.png index 380933ee4..265242b23 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-wot-resource-form-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-wot-resource-form-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-wot-resource-simple-form-update-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-wot-resource-simple-form-update-1-chromium-darwin.png index db7deb324..5f2909768 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-wot-resource-simple-form-update-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-2-wot-resource-simple-form-update-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-3-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-3-1-chromium-darwin.png new file mode 100644 index 000000000..e5ab174e2 Binary files /dev/null and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/device-detail-tab-3-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/devices-detail-delete-device-close-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/devices-detail-delete-device-close-1-chromium-darwin.png index 84455e5f4..9ea87adf5 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/devices-detail-delete-device-close-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/devices-detail-delete-device-close-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/devices-detail-edit-name-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/devices-detail-edit-name-1-chromium-darwin.png index 66cc9b3b1..4ce51b1de 100644 Binary files a/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/devices-detail-edit-name-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/detail.spec.ts-snapshots/devices-detail-edit-name-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/devices/list.spec.ts b/http-gateway/web/playwright/tests/devices/list.spec.ts index 823da9531..4f028942c 100644 --- a/http-gateway/web/playwright/tests/devices/list.spec.ts +++ b/http-gateway/web/playwright/tests/devices/list.spec.ts @@ -5,13 +5,15 @@ const urlBase = 'http://localhost:3000' test('devices-list-open', async ({ page }) => { await page.goto(urlBase) + await page.setViewportSize({ width: 1600, height: 800 }) await page.getByTestId(testId.menu.devices).click() await expect(page).toHaveTitle(/Devices | plgd Dashboard/) - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) }) test('devices-list-open-detail', async ({ page }) => { await page.goto(urlBase) + await page.setViewportSize({ width: 1600, height: 800 }) await page.getByTestId(testId.menu.devices).click() await expect(page).toHaveTitle(/Devices | plgd Dashboard/) await expect(page.getByTestId('device-row-0')).toBeVisible() diff --git a/http-gateway/web/playwright/tests/devices/list.spec.ts-snapshots/devices-list-open-1-chromium-darwin.png b/http-gateway/web/playwright/tests/devices/list.spec.ts-snapshots/devices-list-open-1-chromium-darwin.png index 9d37763a2..c904f46e3 100644 Binary files a/http-gateway/web/playwright/tests/devices/list.spec.ts-snapshots/devices-list-open-1-chromium-darwin.png and b/http-gateway/web/playwright/tests/devices/list.spec.ts-snapshots/devices-list-open-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/login.spec.ts b/http-gateway/web/playwright/tests/login.spec.ts deleted file mode 100644 index a7427d162..000000000 --- a/http-gateway/web/playwright/tests/login.spec.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { test, expect } from '@playwright/test' - -test('login action', async ({ page }) => { - await page.goto('http://localhost:3000/') - - // keycloak login page - await expect(page).toHaveTitle(/Login | plgd.dev/) - - // await expect(page).toHaveURL(/auth.plgd.cloud/) - // - // await page.locator('#email').fill(process.env.REACT_APP_TEST_LOGIN_USERNAME || '') - // await page.locator('#password').fill(process.env.REACT_APP_TEST_LOGIN_PASSWORD || '') - // - // await page.getByRole('button', { name: 'Sign In' }).click() -}) diff --git a/http-gateway/web/playwright/tests/logout.spec.ts b/http-gateway/web/playwright/tests/logout.spec.ts deleted file mode 100644 index c1ce05581..000000000 --- a/http-gateway/web/playwright/tests/logout.spec.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { test, expect } from '@playwright/test' -import testId from '../../src/testId' - -test('logout action', async ({ page }) => { - await page.goto('http://localhost:3000/') - - await page.getByTestId(testId.app.logout).click() - - await expect(page).toHaveTitle(/Login | plgd.dev/) -}) diff --git a/http-gateway/web/playwright/tests/snippet-service/configuratiions/deail.spec.ts b/http-gateway/web/playwright/tests/snippet-service/configuratiions/deail.spec.ts deleted file mode 100644 index a9960dacc..000000000 --- a/http-gateway/web/playwright/tests/snippet-service/configuratiions/deail.spec.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { test, expect, Page } from '@playwright/test' -import testId from '../../../../src/testId' - -const urlBase = 'http://localhost:3000' - -const openConfigurationItem = async (page: Page) => { - await page.goto(urlBase) - await page.getByTestId(testId.menu.snippetService.link).click() - await page.getByTestId(testId.menu.snippetService.configurations).click() - await page.getByTestId(`${testId.snippetService.configurations.list.table}-row-0`).click() -} - -test('snippet-service-configurations-detail-version', async ({ page }) => { - await openConfigurationItem(page) - - await expect(page.getByTestId(`${testId.snippetService.configurations.detail.versionSelector}`)).toBeVisible() -}) diff --git a/http-gateway/web/playwright/tests/snippet-service/configuratiions/list.spec.ts b/http-gateway/web/playwright/tests/snippet-service/configuratiions/list.spec.ts deleted file mode 100644 index 3f65b3d24..000000000 --- a/http-gateway/web/playwright/tests/snippet-service/configuratiions/list.spec.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { test, expect } from '@playwright/test' -import testId from '../../../../src/testId' - -const urlBase = 'http://localhost:3000' - -test('snippet-service-configurations-list-open', async ({ page }) => { - await page.goto(urlBase) - await page.getByTestId(testId.menu.snippetService.link).click() - await page.getByTestId(testId.menu.snippetService.configurations).click() - - await expect(page).toHaveTitle(/Configuraions | plgd Dashboard/) - await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true }) -}) diff --git a/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts b/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts new file mode 100644 index 000000000..907b70ddd --- /dev/null +++ b/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts @@ -0,0 +1,163 @@ +import { test, expect, Page } from '@playwright/test' +import testId from '../../../../src/testId' + +const openConfigurationItem = async (page: Page) => { + await page.goto('') + await page.request.get('http://localhost:8181/snippet-service/api/v1/configurations/api-reset') + + await page.getByTestId(testId.menu.snippetService.link).click() + await page.getByTestId(testId.menu.snippetService.configurations).click() + await page.setViewportSize({ width: 1600, height: 800 }) + await page.getByTestId(`${testId.snippetService.configurations.list.table}-row-0-detail`).click() +} + +test('snippet-service-configurations-detail-version', async ({ page }) => { + await openConfigurationItem(page) + + await expect(page).toHaveTitle(/my-cfg-1 | plgd Dashboard/) + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.versionSelector}`)).toBeVisible() + + await page.locator('#version').click() + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.versionSelector}-select-input`)).toBeVisible() + + await page.getByTestId(`${testId.snippetService.configurations.detail.versionSelector}-select-0`).click() + + await expect(page).toHaveTitle(/my-cfg-0 | plgd Dashboard/) +}) + +test('snippet-service-configurations-detail-invoke', async ({ page }) => { + await openConfigurationItem(page) + + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.invokeButton}`)).toBeVisible() + await page.getByTestId(`${testId.snippetService.configurations.detail.invokeButton}`).click() + + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}`)).toBeVisible() + + await page.locator('#deviceId').click() + await page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-select-input`).fill('3aae0672-47f3-4498-78d4-b061e6105ccd') + await page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-select-3aae0672-47f3-4498-78d4-b061e6105ccd`).click() + + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-footer-reset`)).toBeVisible() + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-footer-done`)).toBeVisible() + + await page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-footer-done`).click() + await page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-force-label`).click() + + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-reset`)).toBeVisible() + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-invoke`)).toBeVisible() + + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-reset`)).not.toBeDisabled() + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-invoke`)).not.toBeDisabled() + + await page.getByTestId(`${testId.snippetService.configurations.detail.invokeModal}-invoke`).click() +}) + +test('snippet-service-configurations-detail-delete', async ({ page }) => { + await openConfigurationItem(page) + + await expect(page.getByTestId(testId.snippetService.configurations.detail.deleteButton)).toBeVisible() + await page.getByTestId(testId.snippetService.configurations.detail.deleteButton).click() + + await expect(page.getByTestId(testId.snippetService.configurations.detail.deleteModal)).toBeVisible() + + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) + + await expect(page.getByTestId(testId.snippetService.configurations.detail.deleteButtonCancel)).toBeVisible() + await expect(page.getByTestId(testId.snippetService.configurations.detail.deleteButtonConfirm)).toBeVisible() + + await page.getByTestId(testId.snippetService.configurations.detail.deleteButtonConfirm).click() + + await expect(page.getByTestId(testId.snippetService.configurations.detail.deleteModal)).not.toBeVisible() + + await expect(page).toHaveTitle(/Configurations | plgd Dashboard/) + + await expect(page.getByTestId(`${testId.snippetService.configurations.list.table}-row-0`)).not.toBeVisible() +}) + +test('snippet-service-configurations-detail-update-fields', async ({ page }) => { + await openConfigurationItem(page) + + await expect(page.getByTestId(testId.snippetService.configurations.addPage.form.name)).toBeVisible() + await page.getByTestId(testId.snippetService.configurations.addPage.form.name).fill('my-cfg-2') + + await expect(page.getByTestId(testId.snippetService.configurations.detail.saveButton)).toBeVisible() + await expect(page.getByTestId(testId.snippetService.configurations.detail.resetButton)).toBeVisible() + + await page.getByTestId(testId.snippetService.configurations.detail.resetButton).click() + + await expect(page.getByTestId(testId.snippetService.configurations.addPage.form.name)).toHaveValue('my-cfg-1') + + await expect(page.getByTestId(testId.snippetService.configurations.detail.saveButton)).not.toBeVisible() + await expect(page.getByTestId(testId.snippetService.configurations.detail.resetButton)).not.toBeVisible() + + await page.getByTestId(testId.snippetService.configurations.addPage.form.name).fill('my-cfg-2') + + await page.getByTestId(testId.snippetService.configurations.addPage.form.addResourceButton).click() + await expect(page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-modal`)).toBeVisible() + await page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-input-href`).fill('/oc/con/2') + await page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-editor-input`).fill('123') + + await expect(page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-confirm-button`)).toBeVisible() + await page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-confirm-button`).click() + await expect(page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-modal`)).not.toBeVisible() + + await expect(page.getByTestId(`${testId.snippetService.configurations.addPage.form.resourceTable}-row-2`)).toBeVisible() + + await expect(page.getByTestId(testId.snippetService.configurations.detail.saveButton)).toBeVisible() + await page.getByTestId(testId.snippetService.configurations.detail.saveButton).click() + + await expect(page).toHaveTitle(/Configurations | plgd Dashboard/) +}) + +test('snippet-service-configurations-detail-tab-conditions', async ({ page }) => { + await openConfigurationItem(page) + + await expect(page.getByTestId(testId.snippetService.configurations.detail.tabConditions)).toBeVisible() + await page.getByTestId(testId.snippetService.configurations.detail.tabConditions).click() + await expect(page.getByTestId(testId.snippetService.configurations.detail.conditionsTable)).toBeVisible() + + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) + + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.conditionsTable}-row-0`)).toBeVisible() + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.conditionsTable}-detail`)).toBeVisible() + + await page.getByTestId(`${testId.snippetService.configurations.detail.conditionsTable}-detail`).click() + + await expect(page).toHaveTitle(/jkralik-cond-0 | plgd Dashboard/) +}) + +test('snippet-service-configurations-detail-tab-applied-configurations', async ({ page }) => { + await openConfigurationItem(page) + + await expect(page.getByTestId(testId.snippetService.configurations.detail.tabAppliedConfiguration)).toBeVisible() + await page.getByTestId(testId.snippetService.configurations.detail.tabAppliedConfiguration).click() + + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) + + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.appliedConfigurationsTable}-detail-link-name`)).toBeVisible() + await page.getByTestId(`${testId.snippetService.configurations.detail.appliedConfigurationsTable}-detail-link-name`).click() + + await expect(page).toHaveTitle(/dps-endpoint-is-set | plgd Dashboard/) + await expect(page).toHaveURL(/localhost:3000\/snippet-service\/applied-configurations\/79c2a88a-1244-4e8a-a526-420e6cd5d34a/) + + await openConfigurationItem(page) + await expect(page.getByTestId(testId.snippetService.configurations.detail.tabAppliedConfiguration)).toBeVisible() + await page.getByTestId(testId.snippetService.configurations.detail.tabAppliedConfiguration).click() + + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.appliedConfigurationsTable}-detail`)).toBeVisible() + await page.getByTestId(`${testId.snippetService.configurations.detail.appliedConfigurationsTable}-detail`).click() + + await expect(page).toHaveTitle(/dps-endpoint-is-set | plgd Dashboard/) + await expect(page).toHaveURL(/localhost:3000\/snippet-service\/applied-configurations\/79c2a88a-1244-4e8a-a526-420e6cd5d34a/) + + await openConfigurationItem(page) + + await expect(page.getByTestId(testId.snippetService.configurations.detail.tabAppliedConfiguration)).toBeVisible() + await page.getByTestId(testId.snippetService.configurations.detail.tabAppliedConfiguration).click() + + await expect(page.getByTestId(`${testId.snippetService.configurations.detail.appliedConfigurationsTable}-row-0-condition`)).toBeVisible() + await page.getByTestId(`${testId.snippetService.configurations.detail.appliedConfigurationsTable}-row-0-condition`).click() + + await expect(page).toHaveTitle(/jkralik-cond-0 | plgd Dashboard/) + await expect(page).toHaveURL(/localhost:3000\/snippet-service\/conditions\/00fa41ad-b3bf-4f00-bfe1-c71c439e4cda/) +}) diff --git a/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts-snapshots/snippet-service-configurations-detail-delete-1-chromium-darwin.png b/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts-snapshots/snippet-service-configurations-detail-delete-1-chromium-darwin.png new file mode 100644 index 000000000..f98c8a94b Binary files /dev/null and b/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts-snapshots/snippet-service-configurations-detail-delete-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts-snapshots/snippet-service-configurations-detail-tab-applied-configurations-1-chromium-darwin.png b/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts-snapshots/snippet-service-configurations-detail-tab-applied-configurations-1-chromium-darwin.png new file mode 100644 index 000000000..5abb1be39 Binary files /dev/null and b/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts-snapshots/snippet-service-configurations-detail-tab-applied-configurations-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts-snapshots/snippet-service-configurations-detail-tab-conditions-1-chromium-darwin.png b/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts-snapshots/snippet-service-configurations-detail-tab-conditions-1-chromium-darwin.png new file mode 100644 index 000000000..b8b61ba64 Binary files /dev/null and b/http-gateway/web/playwright/tests/snippet-service/configurations/detail.spec.ts-snapshots/snippet-service-configurations-detail-tab-conditions-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts new file mode 100644 index 000000000..30232f491 --- /dev/null +++ b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts @@ -0,0 +1,108 @@ +import { test, expect, Page } from '@playwright/test' +import testId from '../../../../src/testId' + +test('snippet-service-configurations-list-open', async ({ page }) => { + await page.goto('') + await page.getByTestId(testId.menu.snippetService.link).click() + await page.getByTestId(testId.menu.snippetService.configurations).click() + + await expect(page).toHaveTitle(/Configuraions | plgd Dashboard/) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) +}) + +const fillAddForm = async (page: Page) => { + await page.getByTestId(testId.snippetService.configurations.addPage.form.name).fill('my-cfg-2') + + await page.getByTestId(testId.snippetService.configurations.addPage.form.addResourceButton).click() + await expect(page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-modal`)).toBeVisible() + await page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-input-href`).fill('/oc/con') + await page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-editor-input`).fill('123') + + await expect(page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-confirm-button`)).toBeVisible() + await page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-confirm-button`).click() + await expect(page.getByTestId(`${testId.snippetService.configurations.addPage.form.createResourceModal}-modal`)).not.toBeVisible() +} + +test('add-configuration-reset', async ({ page }) => { + await page.goto('') + await page.getByTestId(testId.menu.snippetService.link).click() + await page.getByTestId(testId.menu.snippetService.configurations).click() + + await page.getByTestId(testId.snippetService.configurations.list.addConfigurationButton).click() + await expect(page).toHaveTitle(/Create new Configuration | plgd Dashboard/) + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) + + fillAddForm(page) + + await expect(page.getByTestId(testId.snippetService.configurations.addPage.form.resourceTable)).toBeVisible() + await expect(page.getByTestId(`${testId.snippetService.configurations.addPage.form.resourceTable}-row-0`)).toBeVisible() + + await page.getByTestId(testId.snippetService.configurations.addPage.form.resetButton).click() + + await expect(page.getByTestId(`${testId.snippetService.configurations.addPage.form.resourceTable}-row-0`)).not.toBeVisible() + await expect(page.getByTestId(testId.snippetService.configurations.addPage.form.name)).toHaveValue('') + + await expect(page.getByTestId(testId.snippetService.configurations.addPage.form.resetButton)).toBeDisabled() + await expect(page.getByTestId(testId.snippetService.configurations.addPage.form.addButton)).toBeDisabled() +}) + +test('add-configuration-save', async ({ page }) => { + await page.goto('') + await page.getByTestId(testId.menu.snippetService.link).click() + await page.getByTestId(testId.menu.snippetService.configurations).click() + await page.getByTestId(testId.snippetService.configurations.list.addConfigurationButton).click() + + fillAddForm(page) + + await expect(page.getByTestId(testId.snippetService.configurations.addPage.form.addButton)).not.toBeDisabled() + await page.getByTestId(testId.snippetService.configurations.addPage.form.addButton).click() + + await expect(page).toHaveTitle(/my-cfg-2 | plgd Dashboard/) +}) + +test('list-invoke-modal', async ({ page }) => { + await page.goto('') + await page.getByTestId(testId.menu.snippetService.link).click() + await page.getByTestId(testId.menu.snippetService.configurations).click() + + page.setViewportSize({ width: 1600, height: 800 }) + + await expect(page.getByTestId(testId.snippetService.configurations.list.table)).toBeVisible() + await expect(page.getByTestId(`${testId.snippetService.configurations.list.table}-row-0`)).toBeVisible() + await expect(page.getByTestId(`${testId.snippetService.configurations.list.table}-row-0-invoke`)).toBeVisible() + + await page.getByTestId(`${testId.snippetService.configurations.list.table}-row-0-invoke`).click() + await expect(page.getByTestId(testId.snippetService.configurations.list.invokeModal)).toBeVisible() + + // close and open + await expect(page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-close`)).toBeVisible() + await page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-close`).click() + await expect(page.getByTestId(testId.snippetService.configurations.list.invokeModal)).not.toBeVisible() + + await page.getByTestId(`${testId.snippetService.configurations.list.table}-row-0-invoke`).click() + await expect(page.getByTestId(testId.snippetService.configurations.list.invokeModal)).toBeVisible() + + await page.locator('#deviceId').focus() + await expect(page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-select-input`)).toBeVisible() + + // select + await page.locator('#deviceId').click() + await page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-select-input`).fill('3aae0672-47f3-4498-78d4-b061e6105ccd') + await page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-select-3aae0672-47f3-4498-78d4-b061e6105ccd`).click() + + await expect(page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-footer-reset`)).toBeVisible() + await expect(page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-footer-done`)).toBeVisible() + + await page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-footer-done`).click() + await page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-force-label`).click() + + await expect(page).toHaveScreenshot({ fullPage: true, omitBackground: true, animations: 'disabled' }) + + await expect(page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-reset`)).toBeVisible() + await expect(page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-invoke`)).toBeVisible() + + await expect(page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-reset`)).not.toBeDisabled() + await expect(page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-invoke`)).not.toBeDisabled() + + await page.getByTestId(`${testId.snippetService.configurations.list.invokeModal}-invoke`).click() +}) diff --git a/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/add-configuration-1-chromium-darwin.png b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/add-configuration-1-chromium-darwin.png new file mode 100644 index 000000000..f3ee72d92 Binary files /dev/null and b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/add-configuration-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/add-configuration-reset-1-chromium-darwin.png b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/add-configuration-reset-1-chromium-darwin.png new file mode 100644 index 000000000..72a0b27c5 Binary files /dev/null and b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/add-configuration-reset-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/list-invoke-modal-1-chromium-darwin.png b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/list-invoke-modal-1-chromium-darwin.png new file mode 100644 index 000000000..3e9f2f41d Binary files /dev/null and b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/list-invoke-modal-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/snippet-service-configurations-list-open-1-chromium-darwin.png b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/snippet-service-configurations-list-open-1-chromium-darwin.png new file mode 100644 index 000000000..58ee0ea92 Binary files /dev/null and b/http-gateway/web/playwright/tests/snippet-service/configurations/list.spec.ts-snapshots/snippet-service-configurations-list-open-1-chromium-darwin.png differ diff --git a/http-gateway/web/playwright/tests/utils.ts b/http-gateway/web/playwright/tests/utils.ts new file mode 100644 index 000000000..f3bd39efb --- /dev/null +++ b/http-gateway/web/playwright/tests/utils.ts @@ -0,0 +1,13 @@ +import { expect, Page } from '@playwright/test' + +export const login = async (page: Page) => { + await page.goto('http://localhost:3000/') + + // keycloak + await expect(page).toHaveTitle(/Login | plgd.dev/, { timeout: 30000 }) + await expect(page).toHaveURL(/auth.plgd.cloud/) + + await page.locator('#username').fill(process.env.REACT_APP_TEST_LOGIN_USERNAME || '') + await page.locator('#password').fill(process.env.REACT_APP_TEST_LOGIN_PASSWORD || '') + await page.getByRole('button', { name: 'Sign In' }).click() +} diff --git a/http-gateway/web/src/containers/Common/DetailHeaderLayout/DetailHeaderLayout.tsx b/http-gateway/web/src/containers/Common/DetailHeaderLayout/DetailHeaderLayout.tsx index f5efa8004..5ff83e92d 100644 --- a/http-gateway/web/src/containers/Common/DetailHeaderLayout/DetailHeaderLayout.tsx +++ b/http-gateway/web/src/containers/Common/DetailHeaderLayout/DetailHeaderLayout.tsx @@ -45,6 +45,7 @@ const DetailHeaderLayout: FC = (props) => { {i18n.delete} = (props) => { ...(isFunction(onInvoke) && i18n.invoke ? [ { - onClick: () => onInvoke(row.original.id), - label: i18n.invoke, + dataTestId: tableDataTestId?.concat(`-row-${row.id}`).concat('-invoke'), icon: , + label: i18n.invoke, + onClick: () => onInvoke(row.original.id), }, ] : []), { - onClick: () => handleOpenDeleteModal(false, [row.original.id]), - label: i18n.delete, + dataTestId: tableDataTestId?.concat(`-row-${row.id}`).concat('-delete'), icon: , + label: i18n.delete, + onClick: () => handleOpenDeleteModal(false, [row.original.id]), }, { - onClick: () => onDetailClick(row.original.id), - label: i18n.view, + dataTestId: tableDataTestId?.concat(`-row-${row.id}`).concat('-detail'), icon: , + label: i18n.view, + onClick: () => onDetailClick(row.original.id), }, ]} /> diff --git a/http-gateway/web/src/containers/Devices/Detail/DevicesDetailsPage/Tabs/Tab2/Tab2.tsx b/http-gateway/web/src/containers/Devices/Detail/DevicesDetailsPage/Tabs/Tab2/Tab2.tsx index 39e832fc3..e7ee53f8d 100644 --- a/http-gateway/web/src/containers/Devices/Detail/DevicesDetailsPage/Tabs/Tab2/Tab2.tsx +++ b/http-gateway/web/src/containers/Devices/Detail/DevicesDetailsPage/Tabs/Tab2/Tab2.tsx @@ -239,6 +239,9 @@ const Tab2: FC = (props) => { const updateResource = async ({ href, currentInterface = '' }: DevicesResourcesModalParamsType, resourceDataUpdate: any) => { setSavingResource(true) + console.log('updateResource') + console.log({ deviceId: id, href, currentInterface, ttl }, resourceDataUpdate) + try { const ret = await updateDevicesResourceApi({ deviceId: id, href, currentInterface, ttl }, resourceDataUpdate) const { auditContext } = ret.data.data diff --git a/http-gateway/web/src/containers/SnippetService/Configurations/AddPage/AddPage.tsx b/http-gateway/web/src/containers/SnippetService/Configurations/AddPage/AddPage.tsx index 9f00d0906..801902185 100644 --- a/http-gateway/web/src/containers/SnippetService/Configurations/AddPage/AddPage.tsx +++ b/http-gateway/web/src/containers/SnippetService/Configurations/AddPage/AddPage.tsx @@ -138,6 +138,7 @@ const AddPage: FC = () => { = () => { } actionSecondary={ - } diff --git a/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/DetailHeader.tsx b/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/DetailHeader.tsx index 4eeacf3a9..c3b7da7f3 100644 --- a/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/DetailHeader.tsx +++ b/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/DetailHeader.tsx @@ -34,7 +34,12 @@ const DetailHeader: FC = (props) => { } onClick={props.setShowInvoke} variant='tertiary'> + ) : undefined @@ -74,6 +79,7 @@ const DetailHeader: FC = (props) => { deleteButton: testId.snippetService.configurations.detail.deleteButton, deleteButtonCancel: testId.snippetService.configurations.detail.deleteButtonCancel, deleteButtonConfirm: testId.snippetService.configurations.detail.deleteButtonConfirm, + deleteModal: testId.snippetService.configurations.detail.deleteModal, }} /> ) diff --git a/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/DetailPage.tsx b/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/DetailPage.tsx index b6024589f..a64715883 100644 --- a/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/DetailPage.tsx +++ b/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/DetailPage.tsx @@ -240,18 +240,35 @@ const DetailPage: FC = () => { /> - setShowInvoke(undefined)} handleInvoke={handleInvoke} show={!!showInvoke} /> + setShowInvoke(undefined)} + handleInvoke={handleInvoke} + show={!!showInvoke} + /> {isMounted && document.querySelector('#modal-root') && ReactDOM.createPortal( + } actionSecondary={ - } diff --git a/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/JsonConfigModal.tsx b/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/JsonConfigModal.tsx index 7237acaae..485b10d02 100644 --- a/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/JsonConfigModal.tsx +++ b/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/JsonConfigModal.tsx @@ -1,4 +1,4 @@ -import React, { FC, useCallback, useEffect, useRef, useState } from 'react' +import React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react' import { useIntl } from 'react-intl' import isFunction from 'lodash/isFunction' @@ -16,6 +16,7 @@ import { messages as g } from '@/containers/Global.i18n' import { messages as confT } from '../../SnippetService.i18n' import { ResourceTypeEnhanced } from './Tabs/Tab1/Tab1.types' import { messages as t } from '@/containers/Devices/Devices.i18n' +import { hasInvalidConfigurationResource } from '@/containers/SnippetService/utils' type Props = { resource?: ResourceTypeEnhanced @@ -51,7 +52,7 @@ const JsonConfigModal: FC = (props) => { const editor = useRef() const handleOnEditorChange = useCallback((json: object) => { - json && setJsonData(json) + setJsonData(json || '') }, []) const handleModalContentViewChange = useCallback(() => { @@ -89,7 +90,15 @@ const JsonConfigModal: FC = (props) => { return (
setHref(e.target.value)} size={inputSizes.SMALL} value={href} />} + component={ + setHref(e.target.value)} + size={inputSizes.SMALL} + value={href} + /> + } label={_(g.href)} /> = (props) => { }) } + const hasInvalidResource = useMemo( + () => jsonData === '' || hasInvalidConfigurationResource([{ href, timeToLive: ttl.toString(), content: jsonData || {} }]), + [href, jsonData, ttl] + ) + const renderFooter = () => ( = (props) => { @@ -166,6 +179,7 @@ const Tab1: FC = (props) => { = (props) => { /> { diff --git a/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/Tabs/Tab2/Tab2.tsx b/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/Tabs/Tab2/Tab2.tsx index 8b6d7ebc0..a0b895681 100644 --- a/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/Tabs/Tab2/Tab2.tsx +++ b/http-gateway/web/src/containers/SnippetService/Configurations/DetailPage/Tabs/Tab2/Tab2.tsx @@ -16,6 +16,7 @@ import { messages as g } from '@/containers/Global.i18n' import { Props } from './Tab2.types' import DateFormat from '@/containers/PendingCommands/DateFormat' import { pages } from '@/routes' +import testId from '@/testId' const Tab2: FC = (props) => { const { data, loading, isActiveTab } = props @@ -62,6 +63,7 @@ const Tab2: FC = (props) => { { onClick: () => navigate(generatePath(pages.SNIPPET_SERVICE.CONDITIONS.DETAIL.LINK, { conditionId: row.original.id, tab: '' })), label: _(g.view), + dataTestId: testId.snippetService.configurations.detail.conditionsTable?.concat('-detail'), icon: , }, ]} @@ -87,6 +89,7 @@ const Tab2: FC = (props) => {
= (props) => { const { data, loading, isActiveTab } = props @@ -44,6 +45,7 @@ const Tab3: FC = (props) => { accessor: 'configurationName', Cell: ({ value, row }: { value: string; row: any }) => ( = (props) => { } else { return ( `${navigate( generatePath(pages.SNIPPET_SERVICE.CONDITIONS.DETAIL.LINK, { conditionId: row.original.conditionId.id, tab: '' }) @@ -116,6 +119,7 @@ const Tab3: FC = (props) => { navigate( generatePath(pages.SNIPPET_SERVICE.APPLIED_CONFIGURATIONS.DETAIL.LINK, { @@ -145,6 +149,7 @@ const Tab3: FC = (props) => {
= (props) => { - const { handleClose, handleInvoke, show } = props + const { dataTestId, handleClose, handleInvoke, show } = props const { formatMessage: _ } = useIntl() const { data: devicesData } = useDevicesList(show) @@ -28,7 +29,10 @@ const InvokeModal: FC = (props) => { const [force, setForce] = useState(false) useEffect(() => { - const o: OptionType[] = devicesData?.map((device: { id: string; name: string }) => ({ value: device.id, label: `${device.name} - ${device.id}` })) + const o: OptionType[] = devicesData?.map((device: { id: string; name: string }) => ({ + value: device.id, + label: `${truncate(device.name, 60)} - ${device.id}`, + })) setDefaultOptions(o) setOptions(o) }, [devicesData]) @@ -41,20 +45,23 @@ const InvokeModal: FC = (props) => { checkboxOptions creatable isMulti + dataTestId={dataTestId?.concat('-select')} footerLinksLeft={[ { - title: _(g.reset), + dataTestId: dataTestId?.concat('-footer-reset'), onClick: () => { setOptions(defaultOptions) setValue([]) }, + title: _(g.reset), }, { - title: _(g.done), - variant: 'primary', + dataTestId: dataTestId?.concat('-footer-done'), onClick: (values: OptionType[]) => { setValue(values) }, + title: _(g.done), + variant: 'primary', }, ]} i18n={{ @@ -98,6 +105,7 @@ const InvokeModal: FC = (props) => { value: ( { setForce(e.target.checked) }} @@ -113,8 +121,10 @@ const InvokeModal: FC = (props) => { { setValue([]) @@ -123,6 +133,7 @@ const InvokeModal: FC = (props) => { variant: 'secondary', }, { + dataTestId: dataTestId?.concat('-invoke'), label: _(g.invoke), disabled: value.length === 0, onClick: () => { diff --git a/http-gateway/web/src/containers/SnippetService/Configurations/InvokeModal/InvokeModal.types.ts b/http-gateway/web/src/containers/SnippetService/Configurations/InvokeModal/InvokeModal.types.ts index 37ab82356..af0ce7769 100644 --- a/http-gateway/web/src/containers/SnippetService/Configurations/InvokeModal/InvokeModal.types.ts +++ b/http-gateway/web/src/containers/SnippetService/Configurations/InvokeModal/InvokeModal.types.ts @@ -1,5 +1,6 @@ export type Props = { - show: boolean + dataTestId?: string handleClose: () => void handleInvoke: (name: string[], force: boolean) => void + show: boolean } diff --git a/http-gateway/web/src/containers/SnippetService/Configurations/ListPage/ListPage.tsx b/http-gateway/web/src/containers/SnippetService/Configurations/ListPage/ListPage.tsx index c0fc3dc9a..4fc4bcd69 100644 --- a/http-gateway/web/src/containers/SnippetService/Configurations/ListPage/ListPage.tsx +++ b/http-gateway/web/src/containers/SnippetService/Configurations/ListPage/ListPage.tsx @@ -122,6 +122,7 @@ const ListPage: FC = () => { breadcrumbs={breadcrumbs} header={