feat(model): Cleanup and introduce telemetry
[csit.git] / docs / model / current / schema / test_case.info.schema.json
index 358a3e7..6aed4d2 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "$id": "https://fd.io/FIXME/CSIT/UTI/test_case/info/0.2.0",
+  "$id": "https://fd.io/FIXME/CSIT/UTI/test_case/info/1.1.0",
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "description": "Schema for info output of test case.",
   "allOf": [
         },
         "dut_type": {
           "description": "DUT type used, e.g. VPP or DPDK.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
         "dut_version": {
           "description": "Version string appropriate to DUT type used.",
-          "type": "string"
+          "type": "string",
+          "minLength": 1
         },
         "end_time": {
           "description": "UTC date and time in RFC 3339 format, specifying calendar time just before test case ended (at the end of test case teardown).",
             "type": "string"
           }
         },
-        "log": {
-          "description": "No log items are implemented in the current version, but the (empty) list is present to simplify logic in multi-version importers.",
-          "$ref": "#/$defs/types/empty_array"
+        "telemetry": {
+          "description": "Array of telemetry entries. Each entry represent one captured metric.",
+          "type": "array",
+          "minItems": 0,
+          "items": {
+            "description": "Telemetry entry.",
+            "type": "string"
+          }
         },
         "message": {
           "description": "If passed is true, this value is empty. Otherwise, value taken directly from TEST_MESSAGE Robot variable, read at the end of test case (in test teardown, before export and validation). It contains information from the exception that caused the failure, probably with additional exceptions from teardown keywords.",
             "vsap"
           ]
         },
+        "tg_type": {
+          "description": "TG type used, e.g. TREX.",
+          "type": "string",
+          "minLength": 1
+        },
+        "tg_version": {
+          "description": "Version string appropriate to TG type used.",
+          "type": "string",
+          "minLength": 1
+        },
         "version": {
           "description": "CSIT model version (semver format) the exporting code adhered to.",
           "type": "string",
-          "const": "1.0.0"
+          "const": "1.1.0"
         }
       },
       "required": [
         "dut_version",
         "end_time",
         "hosts",
-        "log",
+        "telemetry",
         "message",
         "passed",
         "result",
         "test_name_long",
         "test_name_short",
         "test_type",
+        "tg_type",
+        "tg_version",
         "version"
       ]
     },
           }
         }
       ]
-    },
-    {
-      "description": "Subschema validating relation between dut_type and dut_version.",
-      "oneOf": [
-        {
-          "description": "Subschema for tests with no DUT, e.g. TRex self-test.",
-          "type": "object",
-          "properties": {
-            "dut_type": {
-              "const": "none"
-            },
-            "dut_version": {
-              "const": ""
-            }
-          }
-        },
-        {
-          "description": "Subschema for DUT type VPP.",
-          "type": "object",
-          "properties": {
-            "dut_type": {
-              "const": "VPP"
-            },
-            "dut_version": {
-              "minLength": 1
-            }
-          }
-        },
-        {
-          "description": "Subschema for DUT type DPDK.",
-          "type": "object",
-          "properties": {
-            "dut_type": {
-              "const": "DPDK"
-            },
-            "dut_version": {
-              "minLength": 1
-            }
-          }
-        }
-      ]
     }
   ],
   "$defs": {