Allure Robot Framework : UnrecognizedPropertyException if the robot test contains documentation on the test case
SQSUP-4331
This only affect the allure report, otherwise the test is correctly parsed.
We have a stacktrace in the orchestrator's logs and the allure report is empty.
Specific to the test case [Documentation], it's fine for keywords and test suites.
Logs :
ERROR in allure-collector: An error occurred when attempting to read the test json report.
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "description" (class org.opentestfactory.plugins.report.collector.allure.model.JsonReportForAllure), not marked as ignorable (10 known properties: "statusDetails", "status", "steps", "fullName", "name", "historyId", "start", "uuid", "labels", "stop"])
at [Source: (File); line: 1, column: 90] (through reference chain: org.opentestfactory.plugins.report.collector.allure.model.JsonReportForAllure["description"])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:855)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1212)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1604)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1582)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:299)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:156)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4524)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3331)
at org.opentestfactory.plugins.report.collector.allure.application.ReportsManager.extractJsonReports(ReportsManager.java:294)
at org.opentestfactory.plugins.report.collector.allure.application.ReportsManager.prepareReportsForAllureGeneration(ReportsManager.java:80)
at org.opentestfactory.plugins.report.collector.allure.application.AllureCollectorOutputBuilder.buildOutput(AllureCollectorOutputBuilder.java:57)
at org.opentestfactory.plugins.report.collector.allure.application.AllureCollectorTask.generateAndPublishAllureReport(AllureCollectorTask.java:73)
at org.opentestfactory.plugins.report.collector.allure.application.AllureCollectorTask.doTask(AllureCollectorTask.java:64)
at org.opentestfactory.services.components.logger.WorkflowTask.run(WorkflowTask.java:38)
at java.base/java.lang.Thread.run(Thread.java:829)
JSON generated in local:
{"name": "Check Default Param", "status": "passed", "statusDetails": {}, "description": "this is a test case doc\nand it is multiline", "steps": [{"name": "param_keywords.Load Squash Default Test Parameter", "status": "passed", "statusDetails": {}, "steps": [{"name": "squash_tf.TFParamService.Get Test Param", "status": "passed", "statusDetails": {}, "attachments": [{"name": "Keyword Log", "source": "728b0d26-b701-4b20-b8f6-5b1d2efb24c5-attachment.html", "type": "text/html"}], "parameters": [{"name": "arg1", "value": "UnavailableVar"}, {"name": "arg2", "value": "DefaultTestParam"}], "start": 1670582194283, "stop": 1670582194284}, {"name": "BuiltIn.Set Test Variable", "status": "passed", "statusDetails": {}, "attachments": [{"name": "Keyword Log", "source": "8aa90e46-c5af-492b-9e12-0e9eb9bae5a1-attachment.html", "type": "text/html"}], "parameters": [{"name": "arg1", "value": "\\${PARAM}"}], "start": 1670582194284, "stop": 1670582194285}], "start": 1670582194282, "stop": 1670582194285}, {"name": "BuiltIn.Should Be Equal", "status": "passed", "statusDetails": {}, "parameters": [{"name": "arg1", "value": "DefaultTestParam"}, {"name": "arg2", "value": "${PARAM}"}], "start": 1670582194286, "stop": 1670582194286}, {"name": "param_keywords.Load Squash Default All Parameter", "status": "passed", "statusDetails": {}, "steps": [{"name": "squash_tf.TFParamService.Get Param", "status": "passed", "statusDetails": {}, "attachments": [{"name": "Keyword Log", "source": "762a6559-3029-46ba-a732-2ba4678271f2-attachment.html", "type": "text/html"}], "parameters": [{"name": "arg1", "value": "UnavailableVar"}, {"name": "arg2", "value": "DefaultAllParam"}], "start": 1670582194287, "stop": 1670582194288}, {"name": "BuiltIn.Set Test Variable", "status": "passed", "statusDetails": {}, "attachments": [{"name": "Keyword Log", "source": "1694ef81-249d-45da-bab2-ddedf6257ebb-attachment.html", "type": "text/html"}], "parameters": [{"name": "arg1", "value": "\\${PARAM}"}], "start": 1670582194288, "stop": 1670582194289}], "start": 1670582194286, "stop": 1670582194289}, {"name": "BuiltIn.Should Be Equal", "status": "passed", "statusDetails": {}, "parameters": [{"name": "arg1", "value": "DefaultAllParam"}, {"name": "arg2", "value": "${PARAM}"}], "start": 1670582194289, "stop": 1670582194290}], "start": 1670582194282, "stop": 1670582194290, "uuid": "6d661fcc-0e6f-4b7d-ab16-4cb8179dde5a", "historyId": "ea6ab4cea3249d0fce05ac9c8f25e1c1", "fullName": "Robot Community.Check Default Param", "labels": [{"name": "suite", "value": "Robot Community"}, {"name": "framework", "value": "robotframework"}, {"name": "language", "value": "cpython3"}, {"name": "host", "value": "hostname"}, {"name": "thread", "value": "default-6dfbcca7-1c79-4aee-8470-f89ff301041d"}]}