)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1054,"name":"Darragh Bailey","email":"daragh.bailey@gmail.com","username":"dbailey-k"},"change_message_id":"a088da96d366097dd04307e5b2f2d7ae0e2eac45","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Clean up job/folder path handling"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Repeatedly serializing the path into a /job/-separated string and then"},{"line_number":10,"context_line":"immediately parsing it seems like unnecessary complication, and it\u0027s"},{"line_number":11,"context_line":"actually buggy if there\u0027s a folder called \"job\". This bug can be fixed"},{"line_number":12,"context_line":"by using root.split(\u0027/job/\u0027) instead but I still think having the path"},{"line_number":13,"context_line":"as a list data structure is cleaner and easier to reason about."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I074ad74ad935c50716141a79822ca84999734c3f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3f79a3b5_208d7cd2","line":13,"range":{"start_line":9,"start_character":0,"end_line":13,"end_character":63},"updated":"2018-08-13 14:57:13.000000000","message":"I think reformat this into something like the follo9wing.\n\n Avoid repeatedly serializing and splitting the root path component of\n jobs being added to the list to be processed and returned.\n\n Consequences of attempting to split a string path using \u0027job\u0027 introduces\n a bug if a job every happens to also use the name \u0027job\u0027 as part of\n it\u0027s name.\n\n Maintain the root path to the folder in the hierarchy as a list of path\n components, add to it when descending and store the result of joining\n it with \u0027/job/\u0027 as a separate variable to avoid needing to re-parse.\n\nSimpler to follow if it just explains what the patch is about rather than following a more conversational style.","commit_id":"774cbdc7828ce0ec5a97ba13f1477903e7a20b5f"}],"tests/jobs/base.py":[{"author":{"_account_id":1054,"name":"Darragh Bailey","email":"daragh.bailey@gmail.com","username":"dbailey-k"},"change_message_id":"a088da96d366097dd04307e5b2f2d7ae0e2eac45","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"    )"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    jobs_in_folder_named_job \u003d ["},{"line_number":53,"context_line":"        [{\u0027name\u0027: \u0027job\u0027, \u0027jobs\u0027: None}],  # actually a folder :-)"},{"line_number":54,"context_line":"        [{\u0027name\u0027: \u0027my_job\u0027}]  # \"job\" folder jobs"},{"line_number":55,"context_line":"    ]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def build_jobs_list_responses(jobs_list, server_url):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_406e782f","line":55,"range":{"start_line":52,"start_character":4,"end_line":55,"end_character":5},"updated":"2018-08-13 14:57:13.000000000","message":"if you plan to only use this on one of the test classes, it\u0027s perfectly ok to only set it on that one class","commit_id":"774cbdc7828ce0ec5a97ba13f1477903e7a20b5f"},{"author":{"_account_id":27651,"name":"Tomas Janousek","email":"tomi@nomi.cz","username":"tomas.janousek"},"change_message_id":"77ec47942f2968ceb696c33403a8347059899bf7","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        ]"},{"line_number":50,"context_line":"    )"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    jobs_in_folder_named_job \u003d ["},{"line_number":53,"context_line":"        [{\u0027name\u0027: \u0027job\u0027, \u0027jobs\u0027: None}],  # actually a folder :-)"},{"line_number":54,"context_line":"        [{\u0027name\u0027: \u0027my_job\u0027}]  # \"job\" folder jobs"},{"line_number":55,"context_line":"    ]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def build_jobs_list_responses(jobs_list, server_url):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_c98ab368","line":55,"range":{"start_line":52,"start_character":4,"end_line":55,"end_character":5},"in_reply_to":"3f79a3b5_406e782f","updated":"2018-08-13 16:19:16.000000000","message":"\u003e if you plan to only use this on one of the test classes, it\u0027s\n \u003e perfectly ok to only set it on that one class\n\nIt never occurred to me that the sharing between test_getall and test_get is intentional -- it looked rather accidental, so I naturally added test data where I thought test data belongs: next to other test data. So... is it really intentional? Does testing the same things again in test_get bring any value?\n\nAnyway, I later merge this into jobs_in_folder as I don\u0027t think repeating the boilerplate in test_folder_named_job is worth it: https://review.openstack.org/#/c/591370/2\nCan you pls look at that patch first before I attempt to amend this one?","commit_id":"774cbdc7828ce0ec5a97ba13f1477903e7a20b5f"}]}
