Closed langvtran closed 11 years ago
Hi
Every step that does not have a result section in the json will report - Result was missing for this step - because the plugin requires a result for each step to work out if the step passed or failed. There was a bug in cucumber-jvm from all versions after 1.0.8 that caused the json report to be generated with out the result section. So if you are using cucumber-jvm - you should move to version 1.0.8 for the plugin to work. If you are not using cucumber -jvm then there is also a bug with the json generation in whichever version you are using.
I don't believe this is related to the doc_string in any way.
Let me know if anything I have just said solves your issue :)
--K
On 7 Jan 2013, at 18:24, langvtran notifications@github.com wrote:
My report is generating a lot of "Result was missing for this step". Appears to be from the doc_string field in my generated json report.
cucumber_1.json
[{ "id" : "command-line-interface-for-pas", "description" : "", "name" : "Command Line Interface for PAS", "keyword" : "Feature", "line" : 1, "uri" : "features/command_line_interface.feature" }, { "id" : "adding-invalid-attribute-values", "description" : "", "name" : "Adding invalid attribute values", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "adding-invalid-attribute-values;adding-a-visitor-attribute-value-for-a-non-valid-attribute-should-return-http-400-and-attribute-shouldnt-be-stored", "description" : "", "name" : "Adding a visitor attribute value for a non-valid attribute should return HTTP 400 and attribute shouldnt be stored", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has no attributes", "keyword" : "Given ", "line" : 4 }, { "name" : "the attribute \"invalidAttribute\" has NOT been defined", "keyword" : "And ", "line" : 5 }, { "name" : "I PUT to /visitor/unknownShopperId_1234:", "keyword" : "When ", "line" : 6, "doc_string" : { "value" : "\t{\n\t \"Id\": \"unknownShopperId_1234\",\n\t \"Attributes\": [{\n\t \"Name\": \"invalidAttribute\",\n\t \"Value\": \"not\",\n\t \"StartDate\": \"Yesterday\",\n\t \"EndDate\": \"Tomorrow\"\n\t }]\n\t}", "line" : 7, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 18 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 19, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute invalidAttribute is not defined.\"]\n\t}", "line" : 20, "content_type" : "" } }, { "result" : { "duration" : 42913261, "status" : "passed" }, "name" : "visitor with id unknownShopperId_1234 should have no attributes", "keyword" : "And ", "line" : 25, "match" : { "arguments" : [{ "val" : "unknownShopperId_1234", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;adding-an-attribute-value-with-start-date-greater-than-end-date-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Adding an attribute value with start date greater than end date should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 27, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 28 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 29 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 30, "doc_string" : { "value" : "\t{\n\t \"Id\": \"unknownShopperId_594\",\n\t \"Attributes\": [{\n\t \"Name\": \"ondivp\",\n\t \"Value\": \"B\",\n\t \t\"StartDate\":\"Tomorrow\",\n\t\t\t\"EndDate\":\"Yesterday\"\n\t }]\n\t}", "line" : 31, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 42 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 43, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"End date should be after start date.\"]\n\t}", "line" : 44, "content_type" : "" } }, { "result" : { "duration" : 28017966, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 49, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;adding-an-attribute-value-with-invalid-start-or-end-dates-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Adding an attribute value with invalid start or end dates should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 51, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 52 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 53 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 54, "doc_string" : { "value" : "\t{\n\t \"Id\": \"unknownShopperId_594\",\n\t \"Attributes\": [{\n\t \"Name\": \"ondivp\",\n\t \"Value\": \"C\",\n\t \"StartDate\": \"12/35/2011 12:00\",\n\t \"EndDate\": \"02/15/2012 18:00\"\n\t }]\n\t}", "line" : 55, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 66 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 67, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Invalid date value. 12/35/2011 12:00\"]\n\t}", "line" : 68, "content_type" : "" } }, { "result" : { "duration" : 28418633, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 73, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;attempting-to-add-attribute-values-with-name-missing-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Attempting to add attribute values with name missing should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 75, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 76 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 77 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 78, "doc_string" : { "value" : "\t{\n\t \"Attributes\": [{\n\t \"Value\": \"C\",\n\t \"StartDate\": \"12/15/2011 12:00\",\n\t \"EndDate\": \"02/15/2012 18:00\"\n\t }]\n\t}", "line" : 79, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 88 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 89, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute short name must be specified.\"]\n\t}", "line" : 90, "content_type" : "" } }, { "result" : { "duration" : 27286419, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 95, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;attempting-to-add-attribute-values-with-value-missing-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Attempting to add attribute values with value missing should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 97, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 98 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 99 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 100, "doc_string" : { "value" : "\t{\n\t \"Attributes\": [{\n\t \"Name\": \"ondivp\",\n\t \"StartDate\": \"12/15/2011 12:00\",\n\t \"EndDate\": \"02/15/2012 18:00\"\n\t }]\n\t}", "line" : 101, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 110 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 111, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute value must be specified.\"]\n\t}", "line" : 112, "content_type" : "" } }, { "result" : { "duration" : 29059864, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 117, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" } ], "uri" : "features\adding_invalid_attribute_values.feature" }, { "id" : "adding-valid-attribute-values", "description" : "", "name" : "Adding valid attribute values", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "adding-valid-attribute-values;adding-an-attribute-value-with-valid-start-and-end-dates-should-return-http-204-and-store-the-attribute-value.", "description" : "", "name" : "Adding an attribute value with valid start and end dates should return HTTP 204 and store the attribute value.", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 4 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 5 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 6, "doc_string" : { "value" : "\t{\r\n\t \"Id\": \"unknownShopperId_594\",\r\n\t \"Attributes\": [{\r\n\t \"Name\": \"ondivp\",\r\n\t \"Value\": \"B\",\r\n\t \"StartDate\": \"Yesterday\",\r\n\t \"EndDate\": \"Tomorrow\"\r\n\t }]\r\n\t}", "line" : 7, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 18 }, { "result" : { "duration" : 6666018, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have attributes", "keyword" : "And ", "line" : 19, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 20 }, { "cells" : ["ondivp", "B", "Yesterday", "Tomorrow"], "line" : 21 } ] } ], "type" : "scenario" }, { "id" : "adding-valid-attribute-values;adding-an-attribute-value-without-dates-should-store-it-with-attribute-definitions-dates-and-return-http-204.", "description" : "", "name" : "Adding an attribute value without dates should store it with attribute definitions dates and return HTTP 204.", "keyword" : "Scenario", "line" : 23, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 24 }, { "name" : "the attribute \"ondivp\" has been defined as", "keyword" : "And ", "line" : 25, "rows" : [{ "cells" : ["Description", "Name", "Short Name", "Secure", "StartDate", "EndDate", "Active"], "line" : 26 }, { "cells" : ["Attribute Description", "Attribute Name", "ondivp", "false", "12/15/2012 06:00", "01/01/2014 18:00", "true"], "line" : 27 } ] }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 28, "doc_string" : { "value" : "{\t\"Id\": \"unknownShopperId_594\",\r\n\t\"Attributes\":\r\n\t[{\"Name\":\"ondivp\",\r\n\t\"Value\":\"B\",\r\n\t\"StartDate\":\"\",\r\n\t\"EndDate\":\"\"}]}", "line" : 29, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 37 }, { "result" : { "duration" : 3665530, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have attributes", "keyword" : "And ", "line" : 38, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 39 }, { "cells" : ["ondivp", "B", "12/15/2012 06:00", "01/01/2014 18:00"], "line" : 40 } ] } ], "type" : "scenario" }, { "id" : "adding-valid-attribute-values;fully-qualified-visitor-id-has-not-specific-format-yet", "description" : "", "name" : "Fully qualified visitor id has not specific format yet", "keyword" : "Scenario", "line" : 44, "steps" : [{ "name" : "visitor with Id aVisitorId has no attributes", "keyword" : "Given ", "line" : 45 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 46 }, { "name" : "I PUT to /visitor/aVisitorId:", "keyword" : "When ", "line" : 47, "doc_string" : { "value" : "\t{\r\n\t \"Attributes\": [{\r\n\t \"Name\": \"ondivp\",\r\n\t \"Value\": \"B\",\r\n\t \"StartDate\": \"Yesterday\",\r\n\t \"EndDate\": \"Tomorrow\"\r\n\t }]\r\n\t}", "line" : 48, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 58 }, { "result" : { "duration" : 3238179, "status" : "passed" }, "name" : "visitor with id aVisitorId should have attributes", "keyword" : "And ", "line" : 59, "match" : { "arguments" : [{ "val" : "aVisitorId", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 60 }, { "cells" : ["ondivp", "B", "Yesterday", "Tomorrow"], "line" : 61 } ] } ], "type" : "scenario" }, { "id" : "adding-valid-attribute-values;updating-attribute-values-for-a-specific-user", "description" : "", "name" : "Updating attribute values for a specific user", "keyword" : "Scenario", "line" : 63, "steps" : [{ "name" : "the attribute \"ondivp\" has been defined", "keyword" : "Given ", "line" : 64 }, { "name" : "the attribute \"onjpdivp\" has been defined", "keyword" : "And ", "line" : 65 }, { "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "And ", "line" : 66, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 67 }, { "cells" : ["ondivp", "C", "Yesterday", "Tomorrow"], "line" : 68 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 69 } ] }, { "name" : "I PUT to /visitor/unknownShopperId_1234:", "keyword" : "When ", "line" : 70, "doc_string" : { "value" : "\t{\r\n\t \"Id\": \"unknownShopperId_1234\",\r\n\t \"Attributes\": [{\r\n\t \"Name\": \"ondivp\",\r\n\t \"Value\": \"A\",\r\n\t \"StartDate\": \"12/15/2012 06:00\",\r\n\t \"EndDate\": \"01/01/2014 18:00\"\r\n\t }]\r\n\t}", "line" : 71, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 82 }, { "result" : { "duration" : 7344197, "status" : "passed" }, "name" : "visitor with id unknownShopperId_1234 should have attributes", "keyword" : "And ", "line" : 83, "match" : { "arguments" : [{ "val" : "unknownShopperId_1234", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 84 }, { "cells" : ["ondivp", "A", "12/15/2012 06:00", "01/01/2014 18:00"], "line" : 85 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 86 } ] } ], "type" : "scenario" } ], "uri" : "features\adding_valid_attribute_values.feature" }, { "id" : "defining-invalid-attributes", "description" : "", "name" : "Defining invalid attributes", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "defining-invalid-attributes;defining-an-attribute-with-start-date-after-end-date-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with start date after end date should return 400 with proper error message", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 4, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"description is described\",\n\t \"Name\": \"name is named\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/15/2014 06:00\",\n\t \"EndDate\": \"01/01/2012 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 5, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 15 }, { "result" : { "duration" : 256574, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 16, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"End date must be after start date.\"]\n\t}", "line" : 17, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-an-attribute-with-invalid-start-or-end-date-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with invalid start or end date should return 400 with proper error message", "keyword" : "Scenario", "line" : 22, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 23, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"description is described\",\n\t \"Name\": \"name is named\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/35/2011 06:00\",\n\t \"EndDate\": \"01/01/2012 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 24, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 34 }, { "result" : { "duration" : 234818, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 35, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Invalid date value. 12/35/2011 06:00\"]\n\t}", "line" : 36, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-an-attribute-with-blank-description-field-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with blank description field should return 400 with proper error message", "keyword" : "Scenario", "line" : 42, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 43, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"\",\n\t \"Name\": \"name is named\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/15/2012 06:00\",\n\t \"EndDate\": \"01/01/2014 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 44, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 54 }, { "result" : { "duration" : 482360, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 55, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"Attribute description must be specified.\"]\n\t}", "line" : 56, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-an-attribute-with-blank-name-field-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with blank name field should return 400 with proper error message", "keyword" : "Scenario", "line" : 63, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 64, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"Description is described\",\n\t \"Name\": \"\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/15/2012 06:00\",\n\t \"EndDate\": \"01/01/2014 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 65, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 75 }, { "result" : { "duration" : 240564, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 76, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"Attribute name must be specified.\"]\n\t}", "line" : 77, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-attribute-without-issecure-flag-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining attribute without isSecure flag should return 400 with proper error message", "keyword" : "Scenario", "line" : 84, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 85, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"This is the Old Navy division preference attribute generated by big data used by Ecom with values A, B, C \",\n\t \"Name\": \"Old Navy Division Preference\",\n\t \"StartDate\": \"11/02/2013 06:30\",\n\t \"EndDate\": \"11/05/2013 06:30\",\n\t \"IsActive\": true\n\t}", "line" : 86, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 95 }, { "result" : { "duration" : 508634, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 96, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"Attribute secure flag must be specified.\"]\n\t}", "line" : 97, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-attribute-without-isactive-flag-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining attribute without isActive flag should return 400 with proper error message", "keyword" : "Scenario", "line" : 104, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 105, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"This is the Old Navy division preference attribute generated by big data used by Ecom with values A, B, C \",\n\t \"Name\": \"Old Navy Division Preference\",\n\t \"StartDate\": \"11/03/2013 06:30\",\n\t \"EndDate\": \"11/06/2013 06:30\",\n\t \"IsSecure\": false\n\t}", "line" : 106, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 115 }, { "result" : { "duration" : 267659, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 116, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute active flag must be specified.\"]\n\t}", "line" : 117, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" } ], "uri" : "features\defining_invalid_attributes.feature" }, { "id" : "defining-valid-attributes", "description" : "", "name" : "Defining valid attributes", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "defining-valid-attributes;defining-a-new-attribute-with-all-fields", "description" : "", "name" : "Defining a new attribute with all fields", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 4, "doc_string" : { "value" : "\t{\r\n\t \"Desc\": \"इ लव बà¥à¤²à¥‚बेरी डेनिश\",\r\n\t \"Name\": \"ールドãƒã‚¤ãƒ“ー課ã®\",\r\n\t \"IsSecure\": false,\r\n\t \"StartDate\": \"12/15/2012 06:00\",\r\n\t \"EndDate\": \"01/01/2014 18:00\",\r\n\t \"IsActive\": true\r\n\t}", "line" : 5, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 15 }, { "result" : { "duration" : 4081387, "status" : "passed" }, "name" : "attribute \"ondivp\" should be defined with the following properties:", "keyword" : "And ", "line" : 16, "match" : { "arguments" : [{ "val" : "ondivp", "offset" : 11 } ], "location" : "AttributeDefinitionSteps.attribute_should_be_defined_with_the_following_properties(String,DataTable)" }, "rows" : [{ "cells" : ["Description", "Name", "Short Name", "Secure", "StartDate", "EndDate", "Active"], "line" : 17 }, { "cells" : ["इ लव बà¥à¤²à¥‚बेरी डेनिश", "ールドãƒã‚¤ãƒ“ー課ã®", "ondivp", "false", "12/15/2012 06:00", "01/01/2014 18:00", "true"], "line" : 18 } ] } ], "type" : "scenario" }, { "id" : "defining-valid-attributes;defining-a-new-attribute-without-start-and-end-date-should-use-default-dates", "description" : "", "name" : "Defining a new attribute without start and end date should use default dates", "keyword" : "Scenario", "line" : 20, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 21, "doc_string" : { "value" : "\t{\r\n\t \"Desc\": \"I love blueberry danish\",\r\n\t \"Name\": \"old navy div pref\",\r\n\t \"IsSecure\": false,\r\n\t \"IsActive\": true\r\n\t}", "line" : 22, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 30 }, { "result" : { "duration" : 3864632, "status" : "passed" }, "name" : "attribute \"ondivp\" should be defined with the following properties:", "keyword" : "And ", "line" : 31, "match" : { "arguments" : [{ "val" : "ondivp", "offset" : 11 } ], "location" : "AttributeDefinitionSteps.attribute_should_be_defined_with_the_following_properties(String,DataTable)" }, "rows" : [{ "cells" : ["Description", "Name", "Short name", "Secure", "StartDate", "EndDate", "Active"], "line" : 32 }, { "cells" : ["I love blueberry danish", "old navy div pref", "ondivp", "false", "Today", "01/01/2200 00:00", "true"], "line" : 33 } ] } ], "type" : "scenario" }, { "id" : "defining-valid-attributes;putting-into-an-existing-attribute-should-override-all-fields", "description" : "", "name" : "Putting into an existing attribute should override all fields", "keyword" : "Scenario", "line" : 36, "steps" : [{ "name" : "the attribute \"ondivp\" has been defined as", "keyword" : "Given ", "line" : 37, "rows" : [{ "cells" : ["Description", "Name", "Short name", "Secure", "StartDate", "EndDate", "Active"], "line" : 38 }, { "cells" : ["I love blueberry danish", "old navy div pref", "ondivp", "true", "Today", "01/01/2200 00:00", "false"], "line" : 39 } ] }, { "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 40, "doc_string" : { "value" : "\t{\r\n\t \"Desc\": \"I hate blueberry danish\",\r\n\t \"Name\": \"sad old navy div pref\",\r\n\t \"StartDate\": \"11/03/2014 06:30\",\r\n\t \"EndDate\": \"11/06/2015 06:30\",\r\n\t \"IsSecure\": false,\r\n\t \"IsActive\": true\r\n\t}", "line" : 41, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 51 }, { "result" : { "duration" : 4216037, "status" : "passed" }, "name" : "attribute \"ondivp\" should be defined with the following properties:", "keyword" : "And ", "line" : 52, "match" : { "arguments" : [{ "val" : "ondivp", "offset" : 11 } ], "location" : "AttributeDefinitionSteps.attribute_should_be_defined_with_the_following_properties(String,DataTable)" }, "rows" : [{ "cells" : ["Description", "Name", "Short name", "Secure", "StartDate", "EndDate", "Active"], "line" : 53 }, { "cells" : ["I hate blueberry danish", "sad old navy div pref", "ondivp", "false", "11/03/2014 06:30", "11/06/2015 06:30", "true"], "line" : 54 } ] } ], "type" : "scenario" } ], "uri" : "features\defining_valid_attributes.feature" }, { "id" : "retrieving-attribute-values", "description" : "", "name" : "Retrieving attribute values", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "retrieving-attribute-values;retrieving-visitor-attribute-values-for-multiple-ids", "description" : "", "name" : "Retrieving visitor attribute values for multiple IDs", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 4, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 5 }, { "cells" : ["ondivp", "C", "Yesterday", "Tomorrow"], "line" : 6 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 7 } ] }, { "name" : "visitor with Id cust_3456 has attributes:", "keyword" : "And ", "line" : 8, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 9 }, { "cells" : ["onjpdivp", "F", "Yesterday", "Tomorrow"], "line" : 10 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234,cust_3456", "keyword" : "When ", "line" : 11 }, { "result" : { "duration" : 5787916, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 12, "doc_string" : { "value" : " [{\n \"Id\": \"unknownShopperId_1234\",\n \"Attributes\": [{\n \"Name\": \"ondivp\",\n \"Value\": \"C\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n }, {\n \"Name\": \"onjpdivp\",\n \"Value\": \"D\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n }]\n }, {\n \"Id\": \"cust_3456\",\n \"Attributes\": [{\n \"Name\": \"onjpdivp\",\n \"Value\": \"F\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n }]\n }] ", "line" : 13, "content_type" : "" }, "match" : { "location" : "AttributeValueSteps.I_expect_the_following_json_response(String)" } } ], "type" : "scenario" }, { "id" : "retrieving-attribute-values;retrieving-visitor-attribute-values-for-specified-attribute-short-names", "description" : "", "name" : "Retrieving visitor attribute values for specified attribute short names", "keyword" : "Scenario", "line" : 38, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 39, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 40 }, { "cells" : ["ondivp", "C", "Yesterday", "Tomorrow"], "line" : 41 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 42 }, { "cells" : ["brdivp", "E", "Yesterday", "Tomorrow"], "line" : 43 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234?attr\u003dondivp,brdivp,brjpdivp", "keyword" : "When ", "line" : 44 }, { "result" : { "duration" : 1759077, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 45, "doc_string" : { "value" : "[{\n\"Id\": \"unknownShopperId_1234\",\n\"Attributes\": [{\n \"Name\": \"ondivp\",\n \"Value\": \"C\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n}, {\n \"Name\": \"brdivp\",\n \"Value\": \"E\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n}]\n}] ", "line" : 46, "content_type" : "" }, "match" : { "location" : "AttributeValueSteps.I_expect_the_following_json_response(String)" } } ], "type" : "scenario" }, { "id" : "retrieving-attribute-values;retrieving-active-and-unexpired-visitor-attribute-values-with-preview-date", "description" : "", "name" : "Retrieving active and unexpired visitor attribute values with preview date", "keyword" : "Scenario", "line" : 63, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 64, "rows" : [{ "cells" : ["Name", "Value", "Active", "StartDate", "EndDate"], "line" : 65 }, { "cells" : ["still", "C", "true", "Yesterday", "Yesterday"], "line" : 66 }, { "cells" : ["a-", "C", "true", "Yesterday", "Today"], "line" : 67 }, { "cells" : ["live", "C", "false", "Yesterday", "Tomorrow"], "line" : 68 }, { "cells" : ["extinct", "E", "true", "Today", "Today"], "line" : 69 }, { "cells" : ["dormant", "E", "true", "Today", "Tomorrow"], "line" : 70 }, { "cells" : ["hidden", "E", "true", "Tomorrow", "Tomorrow"], "line" : 71 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234?previewDate\u003dYesterday", "keyword" : "When ", "line" : 72 }, { "result" : { "duration" : 1484849, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 73, "doc_string" : { "value" : " [{\n\t \"Id\": \"unknownShopperId_1234\",\n\t \"Attributes\": [{\n\t \"Name\": \"still\",\n\t \"Value\": \"C\",\n\t \"StartDate\": \"Yesterday\",\n\t \"EndDate\": \"Yesterday\"\n\t }, {\n\t \"Name\": \"a-\",\n\t \"Value\": \"C\",\n\t \"StartDate\": \"Yesterday\",\n\t \"EndDate\": \"Today\"\n\t }]\n\t}]", "line" : 74, "content_type" : "" }, "match" : { "location" : "AttributeValueSteps.I_expect_the_following_json_response(String)" } } ], "type" : "scenario" }, { "id" : "retrieving-attribute-values;retrieving-active-and-unexpired-visitor-attribute-values-without-specifying-preview-date", "description" : "", "name" : "Retrieving active and unexpired visitor attribute values without specifying preview date", "keyword" : "Scenario", "line" : 91, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 92, "rows" : [{ "cells" : ["Name", "Value", "Active", "StartDate", "EndDate"], "line" : 93 }, { "cells" : ["still", "C", "true", "Yesterday", "Today"], "line" : 94 }, { "cells" : ["a-", "C", "true", "Today", "Tomorrow"], "line" : 95 }, { "cells" : ["live", "C", "true", "Today", "Today"], "line" : 96 }, { "cells" : ["extinct", "E", "true", "Yesterday", "Yesterday"], "line" : 97 }, { "cells" : ["dormant", "E", "true", "Tomorrow", "Tomorrow"], "line" : 98 }, { "cells" : ["hidden", "E", "false", "Yesterday", "Tomorrow"], "line" : 99 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234", "keyword" : "When ", "line" : 100 }, { "result" : { "duration" : 1395356, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 101, "doc_string" : { "value" : " [{\n \"Id\": \"unknownShopperId_1234\",\n \"Attributes\": [{\n \"Name\": \"still\",\n \"Value\": \"C\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Today\"\n }, {\n \"Name\": \"a-\",\n \"Value\": \"C\",\n \"StartDate\": \"Today\",\n \"EndDate\": \"Tomorrow\"\n }, {\n \"Name\": \"live\",\n \"Value\": \"C\",\n \"StartDate\": \"Today\",\n \"EndDate\": \"Today\"\n }]\n}]",
Hi Kingsley,
Thanks for the explanation, I did see that previous bug report but didn't realize every step required a result. Looks to be ok with 1.0.8.
Lang
From: Kingsley Hendrickse notifications@github.com To: masterthought/cucumber-reporting cucumber-reporting@noreply.github.com Cc: langvtran langvtran@yahoo.com Sent: Monday, January 7, 2013 12:50 PM Subject: Re: [cucumber-reporting] doc_string fields results in "Result was missing for this step" (#10)
Hi
Every step that does not have a result section in the json will report - Result was missing for this step - because the plugin requires a result for each step to work out if the step passed or failed. There was a bug in cucumber-jvm from all versions after 1.0.8 that caused the json report to be generated with out the result section. So if you are using cucumber-jvm - you should move to version 1.0.8 for the plugin to work. If you are not using cucumber -jvm then there is also a bug with the json generation in whichever version you are using.
I don't believe this is related to the doc_string in any way.
Let me know if anything I have just said solves your issue :)
--K
On 7 Jan 2013, at 18:24, langvtran notifications@github.com wrote:
My report is generating a lot of "Result was missing for this step". Appears to be from the doc_string field in my generated json report.
cucumber_1.json
[{ "id" : "command-line-interface-for-pas", "description" : "", "name" : "Command Line Interface for PAS", "keyword" : "Feature", "line" : 1, "uri" : "features/command_line_interface.feature" }, { "id" : "adding-invalid-attribute-values", "description" : "", "name" : "Adding invalid attribute values", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "adding-invalid-attribute-values;adding-a-visitor-attribute-value-for-a-non-valid-attribute-should-return-http-400-and-attribute-shouldnt-be-stored", "description" : "", "name" : "Adding a visitor attribute value for a non-valid attribute should return HTTP 400 and attribute shouldnt be stored", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has no attributes", "keyword" : "Given ", "line" : 4 }, { "name" : "the attribute \"invalidAttribute\" has NOT been defined", "keyword" : "And ", "line" : 5 }, { "name" : "I PUT to /visitor/unknownShopperId_1234:", "keyword" : "When ", "line" : 6, "doc_string" : { "value" : "\t{\n\t \"Id\": \"unknownShopperId_1234\",\n\t \"Attributes\": [{\n\t \"Name\": \"invalidAttribute\",\n\t \"Value\": \"not\",\n\t \"StartDate\": \"Yesterday\",\n\t \"EndDate\": \"Tomorrow\"\n\t }]\n\t}", "line" : 7, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 18 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 19, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute invalidAttribute is not defined.\"]\n\t}", "line" : 20, "content_type" : "" } }, { "result" : { "duration" : 42913261, "status" : "passed" }, "name" : "visitor with id unknownShopperId_1234 should have no attributes", "keyword" : "And ", "line" : 25, "match" : { "arguments" : [{ "val" : "unknownShopperId_1234", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;adding-an-attribute-value-with-start-date-greater-than-end-date-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Adding an attribute value with start date greater than end date should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 27, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 28 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 29 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 30, "doc_string" : { "value" : "\t{\n\t \"Id\": \"unknownShopperId_594\",\n\t \"Attributes\": [{\n\t \"Name\": \"ondivp\",\n\t \"Value\": \"B\",\n\t \t\"StartDate\":\"Tomorrow\",\n\t\t\t\"EndDate\":\"Yesterday\"\n\t }]\n\t}", "line" : 31, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 42 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 43, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"End date should be after start date.\"]\n\t}", "line" : 44, "content_type" : "" } }, { "result" : { "duration" : 28017966, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 49, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;adding-an-attribute-value-with-invalid-start-or-end-dates-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Adding an attribute value with invalid start or end dates should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 51, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 52 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 53 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 54, "doc_string" : { "value" : "\t{\n\t \"Id\": \"unknownShopperId_594\",\n\t \"Attributes\": [{\n\t \"Name\": \"ondivp\",\n\t \"Value\": \"C\",\n\t \"StartDate\": \"12/35/2011 12:00\",\n\t \"EndDate\": \"02/15/2012 18:00\"\n\t }]\n\t}", "line" : 55, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 66 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 67, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Invalid date value. 12/35/2011 12:00\"]\n\t}", "line" : 68, "content_type" : "" } }, { "result" : { "duration" : 28418633, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 73, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;attempting-to-add-attribute-values-with-name-missing-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Attempting to add attribute values with name missing should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 75, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 76 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 77 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 78, "doc_string" : { "value" : "\t{\n\t \"Attributes\": [{\n\t \"Value\": \"C\",\n\t \"StartDate\": \"12/15/2011 12:00\",\n\t \"EndDate\": \"02/15/2012 18:00\"\n\t }]\n\t}", "line" : 79, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 88 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 89, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute short name must be specified.\"]\n\t}", "line" : 90, "content_type" : "" } }, { "result" : { "duration" : 27286419, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 95, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;attempting-to-add-attribute-values-with-value-missing-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Attempting to add attribute values with value missing should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 97, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 98 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 99 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 100, "doc_string" : { "value" : "\t{\n\t \"Attributes\": [{\n\t \"Name\": \"ondivp\",\n\t \"StartDate\": \"12/15/2011 12:00\",\n\t \"EndDate\": \"02/15/2012 18:00\"\n\t }]\n\t}", "line" : 101, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 110 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 111, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute value must be specified.\"]\n\t}", "line" : 112, "content_type" : "" } }, { "result" : { "duration" : 29059864, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 117, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" } ], "uri" : "features\adding_invalid_attribute_values.feature" }, { "id" : "adding-valid-attribute-values", "description" : "", "name" : "Adding valid attribute values", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "adding-valid-attribute-values;adding-an-attribute-value-with-valid-start-and-end-dates-should-return-http-204-and-store-the-attribute-value.", "description" : "", "name" : "Adding an attribute value with valid start and end dates should return HTTP 204 and store the attribute value.", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 4 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 5 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 6, "doc_string" : { "value" : "\t{\r\n\t \"Id\": \"unknownShopperId_594\",\r\n\t \"Attributes\": [{\r\n\t \"Name\": \"ondivp\",\r\n\t \"Value\": \"B\",\r\n\t \"StartDate\": \"Yesterday\",\r\n\t \"EndDate\": \"Tomorrow\"\r\n\t }]\r\n\t}", "line" : 7, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 18 }, { "result" : { "duration" : 6666018, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have attributes", "keyword" : "And ", "line" : 19, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 20 }, { "cells" : ["ondivp", "B", "Yesterday", "Tomorrow"], "line" : 21 } ] } ], "type" : "scenario" }, { "id" : "adding-valid-attribute-values;adding-an-attribute-value-without-dates-should-store-it-with-attribute-definitions-dates-and-return-http-204.", "description" : "", "name" : "Adding an attribute value without dates should store it with attribute definitions dates and return HTTP 204.", "keyword" : "Scenario", "line" : 23, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 24 }, { "name" : "the attribute \"ondivp\" has been defined as", "keyword" : "And ", "line" : 25, "rows" : [{ "cells" : ["Description", "Name", "Short Name", "Secure", "StartDate", "EndDate", "Active"], "line" : 26 }, { "cells" : ["Attribute Description", "Attribute Name", "ondivp", "false", "12/15/2012 06:00", "01/01/2014 18:00", "true"], "line" : 27 } ] }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 28, "doc_string" : { "value" : "{\t\"Id\": \"unknownShopperId_594\",\r\n\t\"Attributes\":\r\n\t[{\"Name\":\"ondivp\",\r\n\t\"Value\":\"B\",\r\n\t\"StartDate\":\"\",\r\n\t\"EndDate\":\"\"}]}", "line" : 29, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 37 }, { "result" : { "duration" : 3665530, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have attributes", "keyword" : "And ", "line" : 38, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 39 }, { "cells" : ["ondivp", "B", "12/15/2012 06:00", "01/01/2014 18:00"], "line" : 40 } ] } ], "type" : "scenario" }, { "id" : "adding-valid-attribute-values;fully-qualified-visitor-id-has-not-specific-format-yet", "description" : "", "name" : "Fully qualified visitor id has not specific format yet", "keyword" : "Scenario", "line" : 44, "steps" : [{ "name" : "visitor with Id aVisitorId has no attributes", "keyword" : "Given ", "line" : 45 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 46 }, { "name" : "I PUT to /visitor/aVisitorId:", "keyword" : "When ", "line" : 47, "doc_string" : { "value" : "\t{\r\n\t \"Attributes\": [{\r\n\t \"Name\": \"ondivp\",\r\n\t \"Value\": \"B\",\r\n\t \"StartDate\": \"Yesterday\",\r\n\t \"EndDate\": \"Tomorrow\"\r\n\t }]\r\n\t}", "line" : 48, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 58 }, { "result" : { "duration" : 3238179, "status" : "passed" }, "name" : "visitor with id aVisitorId should have attributes", "keyword" : "And ", "line" : 59, "match" : { "arguments" : [{ "val" : "aVisitorId", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 60 }, { "cells" : ["ondivp", "B", "Yesterday", "Tomorrow"], "line" : 61 } ] } ], "type" : "scenario" }, { "id" : "adding-valid-attribute-values;updating-attribute-values-for-a-specific-user", "description" : "", "name" : "Updating attribute values for a specific user", "keyword" : "Scenario", "line" : 63, "steps" : [{ "name" : "the attribute \"ondivp\" has been defined", "keyword" : "Given ", "line" : 64 }, { "name" : "the attribute \"onjpdivp\" has been defined", "keyword" : "And ", "line" : 65 }, { "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "And ", "line" : 66, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 67 }, { "cells" : ["ondivp", "C", "Yesterday", "Tomorrow"], "line" : 68 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 69 } ] }, { "name" : "I PUT to /visitor/unknownShopperId_1234:", "keyword" : "When ", "line" : 70, "doc_string" : { "value" : "\t{\r\n\t \"Id\": \"unknownShopperId_1234\",\r\n\t \"Attributes\": [{\r\n\t \"Name\": \"ondivp\",\r\n\t \"Value\": \"A\",\r\n\t \"StartDate\": \"12/15/2012 06:00\",\r\n\t \"EndDate\": \"01/01/2014 18:00\"\r\n\t }]\r\n\t}", "line" : 71, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 82 }, { "result" : { "duration" : 7344197, "status" : "passed" }, "name" : "visitor with id unknownShopperId_1234 should have attributes", "keyword" : "And ", "line" : 83, "match" : { "arguments" : [{ "val" : "unknownShopperId_1234", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 84 }, { "cells" : ["ondivp", "A", "12/15/2012 06:00", "01/01/2014 18:00"], "line" : 85 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 86 } ] } ], "type" : "scenario" } ], "uri" : "features\adding_valid_attribute_values.feature" }, { "id" : "defining-invalid-attributes", "description" : "", "name" : "Defining invalid attributes", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "defining-invalid-attributes;defining-an-attribute-with-start-date-after-end-date-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with start date after end date should return 400 with proper error message", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 4, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"description is described\",\n\t \"Name\": \"name is named\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/15/2014 06:00\",\n\t \"EndDate\": \"01/01/2012 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 5, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 15 }, { "result" : { "duration" : 256574, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 16, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"End date must be after start date.\"]\n\t}", "line" : 17, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-an-attribute-with-invalid-start-or-end-date-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with invalid start or end date should return 400 with proper error message", "keyword" : "Scenario", "line" : 22, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 23, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"description is described\",\n\t \"Name\": \"name is named\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/35/2011 06:00\",\n\t \"EndDate\": \"01/01/2012 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 24, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 34 }, { "result" : { "duration" : 234818, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 35, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Invalid date value. 12/35/2011 06:00\"]\n\t}", "line" : 36, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-an-attribute-with-blank-description-field-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with blank description field should return 400 with proper error message", "keyword" : "Scenario", "line" : 42, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 43, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"\",\n\t \"Name\": \"name is named\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/15/2012 06:00\",\n\t \"EndDate\": \"01/01/2014 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 44, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 54 }, { "result" : { "duration" : 482360, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 55, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"Attribute description must be specified.\"]\n\t}", "line" : 56, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-an-attribute-with-blank-name-field-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with blank name field should return 400 with proper error message", "keyword" : "Scenario", "line" : 63, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 64, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"Description is described\",\n\t \"Name\": \"\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/15/2012 06:00\",\n\t \"EndDate\": \"01/01/2014 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 65, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 75 }, { "result" : { "duration" : 240564, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 76, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"Attribute name must be specified.\"]\n\t}", "line" : 77, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-attribute-without-issecure-flag-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining attribute without isSecure flag should return 400 with proper error message", "keyword" : "Scenario", "line" : 84, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 85, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"This is the Old Navy division preference attribute generated by big data used by Ecom with values A, B, C \",\n\t \"Name\": \"Old Navy Division Preference\",\n\t \"StartDate\": \"11/02/2013 06:30\",\n\t \"EndDate\": \"11/05/2013 06:30\",\n\t \"IsActive\": true\n\t}", "line" : 86, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 95 }, { "result" : { "duration" : 508634, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 96, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"Attribute secure flag must be specified.\"]\n\t}", "line" : 97, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-attribute-without-isactive-flag-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining attribute without isActive flag should return 400 with proper error message", "keyword" : "Scenario", "line" : 104, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 105, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"This is the Old Navy division preference attribute generated by big data used by Ecom with values A, B, C \",\n\t \"Name\": \"Old Navy Division Preference\",\n\t \"StartDate\": \"11/03/2013 06:30\",\n\t \"EndDate\": \"11/06/2013 06:30\",\n\t \"IsSecure\": false\n\t}", "line" : 106, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 115 }, { "result" : { "duration" : 267659, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 116, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute active flag must be specified.\"]\n\t}", "line" : 117, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" } ], "uri" : "features\defining_invalid_attributes.feature" }, { "id" : "defining-valid-attributes", "description" : "", "name" : "Defining valid attributes", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "defining-valid-attributes;defining-a-new-attribute-with-all-fields", "description" : "", "name" : "Defining a new attribute with all fields", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 4, "doc_string" : { "value" : "\t{\r\n\t \"Desc\": \"इ लव बà¥à¤²à¥‚बेरी डेनिश\",\r\n\t \"Name\": \"ールドãƒã‚¤ãƒ“ー課ã®\",\r\n\t \"IsSecure\": false,\r\n\t \"StartDate\": \"12/15/2012 06:00\",\r\n\t \"EndDate\": \"01/01/2014 18:00\",\r\n\t \"IsActive\": true\r\n\t}", "line" : 5, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 15 }, { "result" : { "duration" : 4081387, "status" : "passed" }, "name" : "attribute \"ondivp\" should be defined with the following properties:", "keyword" : "And ", "line" : 16, "match" : { "arguments" : [{ "val" : "ondivp", "offset" : 11 } ], "location" : "AttributeDefinitionSteps.attribute_should_be_defined_with_the_following_properties(String,DataTable)" }, "rows" : [{ "cells" : ["Description", "Name", "Short Name", "Secure", "StartDate", "EndDate", "Active"], "line" : 17 }, { "cells" : ["इ लव बà¥à¤²à¥‚बेरी डेनिश", "ールドãƒã‚¤ãƒ“ー課ã®", "ondivp", "false", "12/15/2012 06:00", "01/01/2014 18:00", "true"], "line" : 18 } ] } ], "type" : "scenario" }, { "id" : "defining-valid-attributes;defining-a-new-attribute-without-start-and-end-date-should-use-default-dates", "description" : "", "name" : "Defining a new attribute without start and end date should use default dates", "keyword" : "Scenario", "line" : 20, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 21, "doc_string" : { "value" : "\t{\r\n\t \"Desc\": \"I love blueberry danish\",\r\n\t \"Name\": \"old navy div pref\",\r\n\t \"IsSecure\": false,\r\n\t \"IsActive\": true\r\n\t}", "line" : 22, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 30 }, { "result" : { "duration" : 3864632, "status" : "passed" }, "name" : "attribute \"ondivp\" should be defined with the following properties:", "keyword" : "And ", "line" : 31, "match" : { "arguments" : [{ "val" : "ondivp", "offset" : 11 } ], "location" : "AttributeDefinitionSteps.attribute_should_be_defined_with_the_following_properties(String,DataTable)" }, "rows" : [{ "cells" : ["Description", "Name", "Short name", "Secure", "StartDate", "EndDate", "Active"], "line" : 32 }, { "cells" : ["I love blueberry danish", "old navy div pref", "ondivp", "false", "Today", "01/01/2200 00:00", "true"], "line" : 33 } ] } ], "type" : "scenario" }, { "id" : "defining-valid-attributes;putting-into-an-existing-attribute-should-override-all-fields", "description" : "", "name" : "Putting into an existing attribute should override all fields", "keyword" : "Scenario", "line" : 36, "steps" : [{ "name" : "the attribute \"ondivp\" has been defined as", "keyword" : "Given ", "line" : 37, "rows" : [{ "cells" : ["Description", "Name", "Short name", "Secure", "StartDate", "EndDate", "Active"], "line" : 38 }, { "cells" : ["I love blueberry danish", "old navy div pref", "ondivp", "true", "Today", "01/01/2200 00:00", "false"], "line" : 39 } ] }, { "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 40, "doc_string" : { "value" : "\t{\r\n\t \"Desc\": \"I hate blueberry danish\",\r\n\t \"Name\": \"sad old navy div pref\",\r\n\t \"StartDate\": \"11/03/2014 06:30\",\r\n\t \"EndDate\": \"11/06/2015 06:30\",\r\n\t \"IsSecure\": false,\r\n\t \"IsActive\": true\r\n\t}", "line" : 41, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 51 }, { "result" : { "duration" : 4216037, "status" : "passed" }, "name" : "attribute \"ondivp\" should be defined with the following properties:", "keyword" : "And ", "line" : 52, "match" : { "arguments" : [{ "val" : "ondivp", "offset" : 11 } ], "location" : "AttributeDefinitionSteps.attribute_should_be_defined_with_the_following_properties(String,DataTable)" }, "rows" : [{ "cells" : ["Description", "Name", "Short name", "Secure", "StartDate", "EndDate", "Active"], "line" : 53 }, { "cells" : ["I hate blueberry danish", "sad old navy div pref", "ondivp", "false", "11/03/2014 06:30", "11/06/2015 06:30", "true"], "line" : 54 } ] } ], "type" : "scenario" } ], "uri" : "features\defining_valid_attributes.feature" }, { "id" : "retrieving-attribute-values", "description" : "", "name" : "Retrieving attribute values", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "retrieving-attribute-values;retrieving-visitor-attribute-values-for-multiple-ids", "description" : "", "name" : "Retrieving visitor attribute values for multiple IDs", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 4, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 5 }, { "cells" : ["ondivp", "C", "Yesterday", "Tomorrow"], "line" : 6 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 7 } ] }, { "name" : "visitor with Id cust_3456 has attributes:", "keyword" : "And ", "line" : 8, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 9 }, { "cells" : ["onjpdivp", "F", "Yesterday", "Tomorrow"], "line" : 10 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234,cust_3456", "keyword" : "When ", "line" : 11 }, { "result" : { "duration" : 5787916, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 12, "doc_string" : { "value" : " [{\n \"Id\": \"unknownShopperId_1234\",\n \"Attributes\": [{\n \"Name\": \"ondivp\",\n \"Value\": \"C\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n }, {\n \"Name\": \"onjpdivp\",\n \"Value\": \"D\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n }]\n }, {\n \"Id\": \"cust_3456\",\n \"Attributes\": [{\n \"Name\": \"onjpdivp\",\n \"Value\": \"F\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n }]\n }] ", "line" : 13, "content_type" : "" }, "match" : { "location" : "AttributeValueSteps.I_expect_the_following_json_response(String)" } } ], "type" : "scenario" }, { "id" : "retrieving-attribute-values;retrieving-visitor-attribute-values-for-specified-attribute-short-names", "description" : "", "name" : "Retrieving visitor attribute values for specified attribute short names", "keyword" : "Scenario", "line" : 38, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 39, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 40 }, { "cells" : ["ondivp", "C", "Yesterday", "Tomorrow"], "line" : 41 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 42 }, { "cells" : ["brdivp", "E", "Yesterday", "Tomorrow"], "line" : 43 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234?attr\u003dondivp,brdivp,brjpdivp", "keyword" : "When ", "line" : 44 }, { "result" : { "duration" : 1759077, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 45, "doc_string" : { "value" : "[{\n\"Id\": \"unknownShopperId_1234\",\n\"Attributes\": [{\n \"Name\": \"ondivp\",\n \"Value\": \"C\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n}, {\n \"Name\": \"brdivp\",\n \"Value\": \"E\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n}]\n}] ", "line" : 46, "content_type" : "" }, "match" : { "location" : "AttributeValueSteps.I_expect_the_following_json_response(String)" } } ], "type" : "scenario" }, { "id" : "retrieving-attribute-values;retrieving-active-and-unexpired-visitor-attribute-values-with-preview-date", "description" : "", "name" : "Retrieving active and unexpired visitor attribute values with preview date", "keyword" : "Scenario", "line" : 63, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 64, "rows" : [{ "cells" : ["Name", "Value", "Active", "StartDate", "EndDate"], "line" : 65 }, { "cells" : ["still", "C", "true", "Yesterday", "Yesterday"], "line" : 66 }, { "cells" : ["a-", "C", "true", "Yesterday", "Today"], "line" : 67 }, { "cells" : ["live", "C", "false", "Yesterday", "Tomorrow"], "line" : 68 }, { "cells" : ["extinct", "E", "true", "Today", "Today"], "line" : 69 }, { "cells" : ["dormant", "E", "true", "Today", "Tomorrow"], "line" : 70 }, { "cells" : ["hidden", "E", "true", "Tomorrow", "Tomorrow"], "line" : 71 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234?previewDate\u003dYesterday", "keyword" : "When ", "line" : 72 }, { "result" : { "duration" : 1484849, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 73, "doc_string" : { "value" : " [{\n\t \"Id\": \"unknownShopperId_1234\",\n\t \"Attributes\": [{\n\t \"Name\": \"still\",\n\t \"Value\": \"C\",\n\t \"StartDate\": \"Yesterday\",\n\t \"EndDate\": \"Yesterday\"\n\t }, {\n\t \"Name\": \"a-\",\n\t \"Value\": \"C\",\n\t \"StartDate\": \"Yesterday\",\n\t \"EndDate\": \"Today\"\n\t }]\n\t}]", "line" : 74, "content_type" : "" }, "match" : { "location" : "AttributeValueSteps.I_expect_the_following_json_response(String)" } } ], "type" : "scenario" }, { "id" : "retrieving-attribute-values;retrieving-active-and-unexpired-visitor-attribute-values-without-specifying-preview-date", "description" : "", "name" : "Retrieving active and unexpired visitor attribute values without specifying preview date", "keyword" : "Scenario", "line" : 91, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 92, "rows" : [{ "cells" : ["Name", "Value", "Active", "StartDate", "EndDate"], "line" : 93 }, { "cells" : ["still", "C", "true", "Yesterday", "Today"], "line" : 94 }, { "cells" : ["a-", "C", "true", "Today", "Tomorrow"], "line" : 95 }, { "cells" : ["live", "C", "true", "Today", "Today"], "line" : 96 }, { "cells" : ["extinct", "E", "true", "Yes
Awesome :) - glad it worked
Sent from my iPad
On 7 Jan 2013, at 23:15, langvtran notifications@github.com wrote:
Hi Kingsley,
Thanks for the explanation, I did see that previous bug report but didn't realize every step required a result. Looks to be ok with 1.0.8.
Lang
From: Kingsley Hendrickse notifications@github.com To: masterthought/cucumber-reporting cucumber-reporting@noreply.github.com Cc: langvtran langvtran@yahoo.com Sent: Monday, January 7, 2013 12:50 PM Subject: Re: [cucumber-reporting] doc_string fields results in "Result was missing for this step" (#10)
Hi
Every step that does not have a result section in the json will report - Result was missing for this step - because the plugin requires a result for each step to work out if the step passed or failed. There was a bug in cucumber-jvm from all versions after 1.0.8 that caused the json report to be generated with out the result section. So if you are using cucumber-jvm - you should move to version 1.0.8 for the plugin to work. If you are not using cucumber -jvm then there is also a bug with the json generation in whichever version you are using.
I don't believe this is related to the doc_string in any way.
Let me know if anything I have just said solves your issue :)
--K
On 7 Jan 2013, at 18:24, langvtran notifications@github.com wrote:
My report is generating a lot of "Result was missing for this step". Appears to be from the doc_string field in my generated json report.
cucumber_1.json
[{ "id" : "command-line-interface-for-pas", "description" : "", "name" : "Command Line Interface for PAS", "keyword" : "Feature", "line" : 1, "uri" : "features/command_line_interface.feature" }, { "id" : "adding-invalid-attribute-values", "description" : "", "name" : "Adding invalid attribute values", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "adding-invalid-attribute-values;adding-a-visitor-attribute-value-for-a-non-valid-attribute-should-return-http-400-and-attribute-shouldnt-be-stored", "description" : "", "name" : "Adding a visitor attribute value for a non-valid attribute should return HTTP 400 and attribute shouldnt be stored", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has no attributes", "keyword" : "Given ", "line" : 4 }, { "name" : "the attribute \"invalidAttribute\" has NOT been defined", "keyword" : "And ", "line" : 5 }, { "name" : "I PUT to /visitor/unknownShopperId_1234:", "keyword" : "When ", "line" : 6, "doc_string" : { "value" : "\t{\n\t \"Id\": \"unknownShopperId_1234\",\n\t \"Attributes\": [{\n\t \"Name\": \"invalidAttribute\",\n\t \"Value\": \"not\",\n\t \"StartDate\": \"Yesterday\",\n\t \"EndDate\": \"Tomorrow\"\n\t }]\n\t}", "line" : 7, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 18 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 19, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute invalidAttribute is not defined.\"]\n\t}", "line" : 20, "content_type" : "" } }, { "result" : { "duration" : 42913261, "status" : "passed" }, "name" : "visitor with id unknownShopperId_1234 should have no attributes", "keyword" : "And ", "line" : 25, "match" : { "arguments" : [{ "val" : "unknownShopperId_1234", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;adding-an-attribute-value-with-start-date-greater-than-end-date-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Adding an attribute value with start date greater than end date should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 27, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 28 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 29 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 30, "doc_string" : { "value" : "\t{\n\t \"Id\": \"unknownShopperId_594\",\n\t \"Attributes\": [{\n\t \"Name\": \"ondivp\",\n\t \"Value\": \"B\",\n\t \t\"StartDate\":\"Tomorrow\",\n\t\t\t\"EndDate\":\"Yesterday\"\n\t }]\n\t}", "line" : 31, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 42 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 43, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"End date should be after start date.\"]\n\t}", "line" : 44, "content_type" : "" } }, { "result" : { "duration" : 28017966, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 49, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;adding-an-attribute-value-with-invalid-start-or-end-dates-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Adding an attribute value with invalid start or end dates should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 51, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 52 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 53 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 54, "doc_string" : { "value" : "\t{\n\t \"Id\": \"unknownShopperId_594\",\n\t \"Attributes\": [{\n\t \"Name\": \"ondivp\",\n\t \"Value\": \"C\",\n\t \"StartDate\": \"12/35/2011 12:00\",\n\t \"EndDate\": \"02/15/2012 18:00\"\n\t }]\n\t}", "line" : 55, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 66 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 67, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Invalid date value. 12/35/2011 12:00\"]\n\t}", "line" : 68, "content_type" : "" } }, { "result" : { "duration" : 28418633, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 73, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;attempting-to-add-attribute-values-with-name-missing-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Attempting to add attribute values with name missing should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 75, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 76 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 77 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 78, "doc_string" : { "value" : "\t{\n\t \"Attributes\": [{\n\t \"Value\": \"C\",\n\t \"StartDate\": \"12/15/2011 12:00\",\n\t \"EndDate\": \"02/15/2012 18:00\"\n\t }]\n\t}", "line" : 79, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 88 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 89, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute short name must be specified.\"]\n\t}", "line" : 90, "content_type" : "" } }, { "result" : { "duration" : 27286419, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 95, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" }, { "id" : "adding-invalid-attribute-values;attempting-to-add-attribute-values-with-value-missing-should-return-http-400-and-attribute-shouldn\u0027t-be-stored.", "description" : "", "name" : "Attempting to add attribute values with value missing should return HTTP 400 and attribute shouldn\u0027t be stored.", "keyword" : "Scenario", "line" : 97, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 98 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 99 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 100, "doc_string" : { "value" : "\t{\n\t \"Attributes\": [{\n\t \"Name\": \"ondivp\",\n\t \"StartDate\": \"12/15/2011 12:00\",\n\t \"EndDate\": \"02/15/2012 18:00\"\n\t }]\n\t}", "line" : 101, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 110 }, { "name" : "I expect the following error response:", "keyword" : "And ", "line" : 111, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute value must be specified.\"]\n\t}", "line" : 112, "content_type" : "" } }, { "result" : { "duration" : 29059864, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have no attributes", "keyword" : "And ", "line" : 117, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_id_unknownShopperId_has_no_attributes(String)" } } ], "type" : "scenario" } ], "uri" : "features\adding_invalid_attribute_values.feature" }, { "id" : "adding-valid-attribute-values", "description" : "", "name" : "Adding valid attribute values", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "adding-valid-attribute-values;adding-an-attribute-value-with-valid-start-and-end-dates-should-return-http-204-and-store-the-attribute-value.", "description" : "", "name" : "Adding an attribute value with valid start and end dates should return HTTP 204 and store the attribute value.", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 4 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 5 }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 6, "doc_string" : { "value" : "\t{\r\n\t \"Id\": \"unknownShopperId_594\",\r\n\t \"Attributes\": [{\r\n\t \"Name\": \"ondivp\",\r\n\t \"Value\": \"B\",\r\n\t \"StartDate\": \"Yesterday\",\r\n\t \"EndDate\": \"Tomorrow\"\r\n\t }]\r\n\t}", "line" : 7, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 18 }, { "result" : { "duration" : 6666018, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have attributes", "keyword" : "And ", "line" : 19, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 20 }, { "cells" : ["ondivp", "B", "Yesterday", "Tomorrow"], "line" : 21 } ] } ], "type" : "scenario" }, { "id" : "adding-valid-attribute-values;adding-an-attribute-value-without-dates-should-store-it-with-attribute-definitions-dates-and-return-http-204.", "description" : "", "name" : "Adding an attribute value without dates should store it with attribute definitions dates and return HTTP 204.", "keyword" : "Scenario", "line" : 23, "steps" : [{ "name" : "visitor with Id unknownShopperId_594 has no attributes", "keyword" : "Given ", "line" : 24 }, { "name" : "the attribute \"ondivp\" has been defined as", "keyword" : "And ", "line" : 25, "rows" : [{ "cells" : ["Description", "Name", "Short Name", "Secure", "StartDate", "EndDate", "Active"], "line" : 26 }, { "cells" : ["Attribute Description", "Attribute Name", "ondivp", "false", "12/15/2012 06:00", "01/01/2014 18:00", "true"], "line" : 27 } ] }, { "name" : "I PUT to /visitor/unknownShopperId_594:", "keyword" : "When ", "line" : 28, "doc_string" : { "value" : "{\t\"Id\": \"unknownShopperId_594\",\r\n\t\"Attributes\":\r\n\t[{\"Name\":\"ondivp\",\r\n\t\"Value\":\"B\",\r\n\t\"StartDate\":\"\",\r\n\t\"EndDate\":\"\"}]}", "line" : 29, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 37 }, { "result" : { "duration" : 3665530, "status" : "passed" }, "name" : "visitor with id unknownShopperId_594 should have attributes", "keyword" : "And ", "line" : 38, "match" : { "arguments" : [{ "val" : "unknownShopperId_594", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 39 }, { "cells" : ["ondivp", "B", "12/15/2012 06:00", "01/01/2014 18:00"], "line" : 40 } ] } ], "type" : "scenario" }, { "id" : "adding-valid-attribute-values;fully-qualified-visitor-id-has-not-specific-format-yet", "description" : "", "name" : "Fully qualified visitor id has not specific format yet", "keyword" : "Scenario", "line" : 44, "steps" : [{ "name" : "visitor with Id aVisitorId has no attributes", "keyword" : "Given ", "line" : 45 }, { "name" : "the attribute \"ondivp\" has been defined", "keyword" : "And ", "line" : 46 }, { "name" : "I PUT to /visitor/aVisitorId:", "keyword" : "When ", "line" : 47, "doc_string" : { "value" : "\t{\r\n\t \"Attributes\": [{\r\n\t \"Name\": \"ondivp\",\r\n\t \"Value\": \"B\",\r\n\t \"StartDate\": \"Yesterday\",\r\n\t \"EndDate\": \"Tomorrow\"\r\n\t }]\r\n\t}", "line" : 48, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 58 }, { "result" : { "duration" : 3238179, "status" : "passed" }, "name" : "visitor with id aVisitorId should have attributes", "keyword" : "And ", "line" : 59, "match" : { "arguments" : [{ "val" : "aVisitorId", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 60 }, { "cells" : ["ondivp", "B", "Yesterday", "Tomorrow"], "line" : 61 } ] } ], "type" : "scenario" }, { "id" : "adding-valid-attribute-values;updating-attribute-values-for-a-specific-user", "description" : "", "name" : "Updating attribute values for a specific user", "keyword" : "Scenario", "line" : 63, "steps" : [{ "name" : "the attribute \"ondivp\" has been defined", "keyword" : "Given ", "line" : 64 }, { "name" : "the attribute \"onjpdivp\" has been defined", "keyword" : "And ", "line" : 65 }, { "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "And ", "line" : 66, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 67 }, { "cells" : ["ondivp", "C", "Yesterday", "Tomorrow"], "line" : 68 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 69 } ] }, { "name" : "I PUT to /visitor/unknownShopperId_1234:", "keyword" : "When ", "line" : 70, "doc_string" : { "value" : "\t{\r\n\t \"Id\": \"unknownShopperId_1234\",\r\n\t \"Attributes\": [{\r\n\t \"Name\": \"ondivp\",\r\n\t \"Value\": \"A\",\r\n\t \"StartDate\": \"12/15/2012 06:00\",\r\n\t \"EndDate\": \"01/01/2014 18:00\"\r\n\t }]\r\n\t}", "line" : 71, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 82 }, { "result" : { "duration" : 7344197, "status" : "passed" }, "name" : "visitor with id unknownShopperId_1234 should have attributes", "keyword" : "And ", "line" : 83, "match" : { "arguments" : [{ "val" : "unknownShopperId_1234", "offset" : 16 } ], "location" : "AttributeValueSteps.visitor_with_Id_unknown_should_have_attributes(String,DataTable)" }, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 84 }, { "cells" : ["ondivp", "A", "12/15/2012 06:00", "01/01/2014 18:00"], "line" : 85 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 86 } ] } ], "type" : "scenario" } ], "uri" : "features\adding_valid_attribute_values.feature" }, { "id" : "defining-invalid-attributes", "description" : "", "name" : "Defining invalid attributes", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "defining-invalid-attributes;defining-an-attribute-with-start-date-after-end-date-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with start date after end date should return 400 with proper error message", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 4, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"description is described\",\n\t \"Name\": \"name is named\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/15/2014 06:00\",\n\t \"EndDate\": \"01/01/2012 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 5, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 15 }, { "result" : { "duration" : 256574, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 16, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"End date must be after start date.\"]\n\t}", "line" : 17, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-an-attribute-with-invalid-start-or-end-date-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with invalid start or end date should return 400 with proper error message", "keyword" : "Scenario", "line" : 22, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 23, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"description is described\",\n\t \"Name\": \"name is named\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/35/2011 06:00\",\n\t \"EndDate\": \"01/01/2012 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 24, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 34 }, { "result" : { "duration" : 234818, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 35, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Invalid date value. 12/35/2011 06:00\"]\n\t}", "line" : 36, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-an-attribute-with-blank-description-field-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with blank description field should return 400 with proper error message", "keyword" : "Scenario", "line" : 42, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 43, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"\",\n\t \"Name\": \"name is named\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/15/2012 06:00\",\n\t \"EndDate\": \"01/01/2014 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 44, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 54 }, { "result" : { "duration" : 482360, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 55, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"Attribute description must be specified.\"]\n\t}", "line" : 56, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-an-attribute-with-blank-name-field-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining an attribute with blank name field should return 400 with proper error message", "keyword" : "Scenario", "line" : 63, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 64, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"Description is described\",\n\t \"Name\": \"\",\n\t \"IsSecure\": false,\n\t \"StartDate\": \"12/15/2012 06:00\",\n\t \"EndDate\": \"01/01/2014 18:00\",\n\t \"IsActive\": true\n\t}", "line" : 65, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 75 }, { "result" : { "duration" : 240564, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 76, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"Attribute name must be specified.\"]\n\t}", "line" : 77, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-attribute-without-issecure-flag-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining attribute without isSecure flag should return 400 with proper error message", "keyword" : "Scenario", "line" : 84, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 85, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"This is the Old Navy division preference attribute generated by big data used by Ecom with values A, B, C \",\n\t \"Name\": \"Old Navy Division Preference\",\n\t \"StartDate\": \"11/02/2013 06:30\",\n\t \"EndDate\": \"11/05/2013 06:30\",\n\t \"IsActive\": true\n\t}", "line" : 86, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 95 }, { "result" : { "duration" : 508634, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 96, "doc_string" : { "value" : "\t{\n\t\t\"Errors\":[\"Attribute secure flag must be specified.\"]\n\t}", "line" : 97, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" }, { "id" : "defining-invalid-attributes;defining-attribute-without-isactive-flag-should-return-400-with-proper-error-message", "description" : "", "name" : "Defining attribute without isActive flag should return 400 with proper error message", "keyword" : "Scenario", "line" : 104, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 105, "doc_string" : { "value" : "\t{\n\t \"Desc\": \"This is the Old Navy division preference attribute generated by big data used by Ecom with values A, B, C \",\n\t \"Name\": \"Old Navy Division Preference\",\n\t \"StartDate\": \"11/03/2013 06:30\",\n\t \"EndDate\": \"11/06/2013 06:30\",\n\t \"IsSecure\": false\n\t}", "line" : 106, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 400", "keyword" : "Then ", "line" : 115 }, { "result" : { "duration" : 267659, "status" : "passed" }, "name" : "I expect the following error response:", "keyword" : "And ", "line" : 116, "doc_string" : { "value" : "\t{\n\t \"Errors\": [\"Attribute active flag must be specified.\"]\n\t}", "line" : 117, "content_type" : "" }, "match" : { "location" : "HttpSteps.I_expect_the_following_error_response(String)" } } ], "type" : "scenario" } ], "uri" : "features\defining_invalid_attributes.feature" }, { "id" : "defining-valid-attributes", "description" : "", "name" : "Defining valid attributes", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "defining-valid-attributes;defining-a-new-attribute-with-all-fields", "description" : "", "name" : "Defining a new attribute with all fields", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 4, "doc_string" : { "value" : "\t{\r\n\t \"Desc\": \"इ लव बà¥à¤²à¥‚बेरी डेनिश\",\r\n\t \"Name\": \"ールドãƒã‚¤ãƒ“ー課ã®\",\r\n\t \"IsSecure\": false,\r\n\t \"StartDate\": \"12/15/2012 06:00\",\r\n\t \"EndDate\": \"01/01/2014 18:00\",\r\n\t \"IsActive\": true\r\n\t}", "line" : 5, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 15 }, { "result" : { "duration" : 4081387, "status" : "passed" }, "name" : "attribute \"ondivp\" should be defined with the following properties:", "keyword" : "And ", "line" : 16, "match" : { "arguments" : [{ "val" : "ondivp", "offset" : 11 } ], "location" : "AttributeDefinitionSteps.attribute_should_be_defined_with_the_following_properties(String,DataTable)" }, "rows" : [{ "cells" : ["Description", "Name", "Short Name", "Secure", "StartDate", "EndDate", "Active"], "line" : 17 }, { "cells" : ["इ लव बà¥à¤²à¥‚बेरी डेनिश", "ールドãƒã‚¤ãƒ“ー課ã®", "ondivp", "false", "12/15/2012 06:00", "01/01/2014 18:00", "true"], "line" : 18 } ] } ], "type" : "scenario" }, { "id" : "defining-valid-attributes;defining-a-new-attribute-without-start-and-end-date-should-use-default-dates", "description" : "", "name" : "Defining a new attribute without start and end date should use default dates", "keyword" : "Scenario", "line" : 20, "steps" : [{ "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 21, "doc_string" : { "value" : "\t{\r\n\t \"Desc\": \"I love blueberry danish\",\r\n\t \"Name\": \"old navy div pref\",\r\n\t \"IsSecure\": false,\r\n\t \"IsActive\": true\r\n\t}", "line" : 22, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 30 }, { "result" : { "duration" : 3864632, "status" : "passed" }, "name" : "attribute \"ondivp\" should be defined with the following properties:", "keyword" : "And ", "line" : 31, "match" : { "arguments" : [{ "val" : "ondivp", "offset" : 11 } ], "location" : "AttributeDefinitionSteps.attribute_should_be_defined_with_the_following_properties(String,DataTable)" }, "rows" : [{ "cells" : ["Description", "Name", "Short name", "Secure", "StartDate", "EndDate", "Active"], "line" : 32 }, { "cells" : ["I love blueberry danish", "old navy div pref", "ondivp", "false", "Today", "01/01/2200 00:00", "true"], "line" : 33 } ] } ], "type" : "scenario" }, { "id" : "defining-valid-attributes;putting-into-an-existing-attribute-should-override-all-fields", "description" : "", "name" : "Putting into an existing attribute should override all fields", "keyword" : "Scenario", "line" : 36, "steps" : [{ "name" : "the attribute \"ondivp\" has been defined as", "keyword" : "Given ", "line" : 37, "rows" : [{ "cells" : ["Description", "Name", "Short name", "Secure", "StartDate", "EndDate", "Active"], "line" : 38 }, { "cells" : ["I love blueberry danish", "old navy div pref", "ondivp", "true", "Today", "01/01/2200 00:00", "false"], "line" : 39 } ] }, { "name" : "I PUT to /attribute/ondivp:", "keyword" : "When ", "line" : 40, "doc_string" : { "value" : "\t{\r\n\t \"Desc\": \"I hate blueberry danish\",\r\n\t \"Name\": \"sad old navy div pref\",\r\n\t \"StartDate\": \"11/03/2014 06:30\",\r\n\t \"EndDate\": \"11/06/2015 06:30\",\r\n\t \"IsSecure\": false,\r\n\t \"IsActive\": true\r\n\t}", "line" : 41, "content_type" : "" } }, { "name" : "I expect to get an HTTP response code of 204", "keyword" : "Then ", "line" : 51 }, { "result" : { "duration" : 4216037, "status" : "passed" }, "name" : "attribute \"ondivp\" should be defined with the following properties:", "keyword" : "And ", "line" : 52, "match" : { "arguments" : [{ "val" : "ondivp", "offset" : 11 } ], "location" : "AttributeDefinitionSteps.attribute_should_be_defined_with_the_following_properties(String,DataTable)" }, "rows" : [{ "cells" : ["Description", "Name", "Short name", "Secure", "StartDate", "EndDate", "Active"], "line" : 53 }, { "cells" : ["I hate blueberry danish", "sad old navy div pref", "ondivp", "false", "11/03/2014 06:30", "11/06/2015 06:30", "true"], "line" : 54 } ] } ], "type" : "scenario" } ], "uri" : "features\defining_valid_attributes.feature" }, { "id" : "retrieving-attribute-values", "description" : "", "name" : "Retrieving attribute values", "keyword" : "Feature", "line" : 1, "elements" : [{ "id" : "retrieving-attribute-values;retrieving-visitor-attribute-values-for-multiple-ids", "description" : "", "name" : "Retrieving visitor attribute values for multiple IDs", "keyword" : "Scenario", "line" : 3, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 4, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 5 }, { "cells" : ["ondivp", "C", "Yesterday", "Tomorrow"], "line" : 6 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 7 } ] }, { "name" : "visitor with Id cust_3456 has attributes:", "keyword" : "And ", "line" : 8, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 9 }, { "cells" : ["onjpdivp", "F", "Yesterday", "Tomorrow"], "line" : 10 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234,cust_3456", "keyword" : "When ", "line" : 11 }, { "result" : { "duration" : 5787916, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 12, "doc_string" : { "value" : " [{\n \"Id\": \"unknownShopperId_1234\",\n \"Attributes\": [{\n \"Name\": \"ondivp\",\n \"Value\": \"C\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n }, {\n \"Name\": \"onjpdivp\",\n \"Value\": \"D\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n }]\n }, {\n \"Id\": \"cust_3456\",\n \"Attributes\": [{\n \"Name\": \"onjpdivp\",\n \"Value\": \"F\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n }]\n }] ", "line" : 13, "content_type" : "" }, "match" : { "location" : "AttributeValueSteps.I_expect_the_following_json_response(String)" } } ], "type" : "scenario" }, { "id" : "retrieving-attribute-values;retrieving-visitor-attribute-values-for-specified-attribute-short-names", "description" : "", "name" : "Retrieving visitor attribute values for specified attribute short names", "keyword" : "Scenario", "line" : 38, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 39, "rows" : [{ "cells" : ["Name", "Value", "StartDate", "EndDate"], "line" : 40 }, { "cells" : ["ondivp", "C", "Yesterday", "Tomorrow"], "line" : 41 }, { "cells" : ["onjpdivp", "D", "Yesterday", "Tomorrow"], "line" : 42 }, { "cells" : ["brdivp", "E", "Yesterday", "Tomorrow"], "line" : 43 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234?attr\u003dondivp,brdivp,brjpdivp", "keyword" : "When ", "line" : 44 }, { "result" : { "duration" : 1759077, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 45, "doc_string" : { "value" : "[{\n\"Id\": \"unknownShopperId_1234\",\n\"Attributes\": [{\n \"Name\": \"ondivp\",\n \"Value\": \"C\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n}, {\n \"Name\": \"brdivp\",\n \"Value\": \"E\",\n \"StartDate\": \"Yesterday\",\n \"EndDate\": \"Tomorrow\"\n}]\n}] ", "line" : 46, "content_type" : "" }, "match" : { "location" : "AttributeValueSteps.I_expect_the_following_json_response(String)" } } ], "type" : "scenario" }, { "id" : "retrieving-attribute-values;retrieving-active-and-unexpired-visitor-attribute-values-with-preview-date", "description" : "", "name" : "Retrieving active and unexpired visitor attribute values with preview date", "keyword" : "Scenario", "line" : 63, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 64, "rows" : [{ "cells" : ["Name", "Value", "Active", "StartDate", "EndDate"], "line" : 65 }, { "cells" : ["still", "C", "true", "Yesterday", "Yesterday"], "line" : 66 }, { "cells" : ["a-", "C", "true", "Yesterday", "Today"], "line" : 67 }, { "cells" : ["live", "C", "false", "Yesterday", "Tomorrow"], "line" : 68 }, { "cells" : ["extinct", "E", "true", "Today", "Today"], "line" : 69 }, { "cells" : ["dormant", "E", "true", "Today", "Tomorrow"], "line" : 70 }, { "cells" : ["hidden", "E", "true", "Tomorrow", "Tomorrow"], "line" : 71 } ] }, { "name" : "I request GET /visitor/unknownShopperId_1234?previewDate\u003dYesterday", "keyword" : "When ", "line" : 72 }, { "result" : { "duration" : 1484849, "status" : "passed" }, "name" : "I expect the following visitor attribute response:", "keyword" : "Then ", "line" : 73, "doc_string" : { "value" : " [{\n\t \"Id\": \"unknownShopperId_1234\",\n\t \"Attributes\": [{\n\t \"Name\": \"still\",\n\t \"Value\": \"C\",\n\t \"StartDate\": \"Yesterday\",\n\t \"EndDate\": \"Yesterday\"\n\t }, {\n\t \"Name\": \"a-\",\n\t \"Value\": \"C\",\n\t \"StartDate\": \"Yesterday\",\n\t \"EndDate\": \"Today\"\n\t }]\n\t}]", "line" : 74, "content_type" : "" }, "match" : { "location" : "AttributeValueSteps.I_expect_the_following_json_response(String)" } } ], "type" : "scenario" }, { "id" : "retrieving-attribute-values;retrieving-active-and-unexpired-visitor-attribute-values-without-specifying-preview-date", "description" : "", "name" : "Retrieving active and unexpired visitor attribute values without specifying preview date", "keyword" : "Scenario", "line" : 91, "steps" : [{ "name" : "visitor with Id unknownShopperId_1234 has attributes:", "keyword" : "Given ", "line" : 92, "rows" : [{ "cells" : ["Name", "Value", "Active", "StartDate", "EndDate"], "line" : 93 }, { "cells" : ["still", "C", "true", "Yesterday", "Today"], "line" : 94 }, { "cells" : ["a-", "C", "true", "Today", "Tomorrow"], "line" : 95 }, { "cells" : ["live", "C", "true", "Today", "Today"], "line" : 96 }, { "cells" : ["extinct", "E", "true", "Yes — Reply to this email directly or view it on GitHub.
Step missing result is because of cucumber-jvm json report bug. It has been fixed in trunk but not released yet
My report is generating a lot of "Result was missing for this step". Appears to be from the doc_string field in my generated json report.
cucumber_1.json