Seperating usecase test suite dependencies
[integration/csit.git] / tests / usecases-5G-bulkpm / 5G-bulkpm / assets / metadata.schema.json
diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/assets/metadata.schema.json b/tests/usecases-5G-bulkpm/5G-bulkpm/assets/metadata.schema.json
new file mode 100644 (file)
index 0000000..a41b354
--- /dev/null
@@ -0,0 +1,74 @@
+{
+    "$schema":  "http://json-schema.org/draft-07/schema",
+    "$id": "metadata.schema.json",
+    "title": "DataRouter PM File Metadata",
+    "description": "Metadata for 3GPP PM files that are placed on the DMaaP Data Router by the Data File Collector (VES 7.1)",
+    "type": "object",
+
+    "properties": {
+        "productName": {
+            "description": "from the FileReady event eventName",
+            "type": "string"
+        },
+
+        "vendorName": {
+            "description": "from the FileReady event eventName",
+            "type": "string"
+        },
+
+        "lastEpochMicrosec": {
+            "description": "the latest unix epoch time associated with the FileReady event",
+            "type": "string"
+        },
+
+        "sourceName": {
+            "description": "the name of the entity experiencing the event",
+            "type": "string"
+        },
+
+        "startEpochMicrosec": {
+            "description": "the earliest unix epoch time associated with the FileReady event",
+            "type": "string"
+        },
+
+        "timeZoneOffset": {
+            "description": "the timezone offset from UTC",
+            "type": "string",
+            "pattern": "^(?:(?:[a-zA-Z]{3})[+-](?:[01][0-9]|2[0-3]).[0-5][0-9])$"
+        },
+
+        "location": {
+            "description": "follows the format <protocol>://<ip address>:<port>/<path>/<filename>, the IP address is the node ip address, the port of the protocol server",
+            "type": "string"
+        },
+
+        "compression": {
+            "description": "specifies if the file is compressed",
+            "type": "string",
+            "enum": [ "gzip" ]
+        },
+
+        "fileFormatType": {
+            "description": "the file format",
+            "type": "string"
+        },
+
+        "fileFormatVersion": {
+            "description": "the version of the file format",
+            "type": "string"
+        }
+    },
+
+    "required": [
+        "productName",
+        "vendorName",
+        "lastEpochMicrosec",
+        "sourceName",
+        "startEpochMicrosec",
+        "timeZoneOffset",
+        "location",
+        "compression",
+        "fileFormatType",
+        "fileFormatVersion"
+    ]
+}