)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"7ccd886a6190dc20e6a782dbd6c0f5dbaac35af7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"46cb4738_09a78079","updated":"2022-08-31 21:45:18.000000000","message":"It won\u0027t solve the openstack-dashboard coverage problem, I assume, since you are changing launch-instance-model.service.js as well, but at least we\u0027ll get something to work with.","commit_id":"4ca105049b07f537cd25a41c1bcf959240ca5eb2"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"a8a21cc61c444d8b84e4a5e9551b55676a305f3f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"00b3fe12_158babe9","updated":"2022-08-31 21:43:51.000000000","message":"To fix the coverage, add a test to load-edit.directive.spec.js to \u0027onTextAreaChange listener\u0027 section:\n\n it(\u0027should update text area with default user data\u0027, function () {\n        element.isolateScope().modelDefaultValue \u003d \u0027default user data\u0027;\n        textarea.trigger(\u0027input\u0027);\n        $scope.$apply();\n        \n        expect(element.isolateScope().model).toBe(\u0027default user data\u0027);\n      });\n\n","commit_id":"4ca105049b07f537cd25a41c1bcf959240ca5eb2"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"59cb8dc3534cf728e8c31d1add8a9e701bfdcff7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2a1742af_db94cd8b","updated":"2022-09-01 09:41:30.000000000","message":"Thanks Tatiana! I made tests pass with some modifications for suggested snippet.","commit_id":"9ab0d1d96062918873868f7a762074ea97426ffc"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"884e1c6d48122cd816732c59eb4b94f1c5c8a28f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c964e8c6_168a0b79","updated":"2022-09-01 13:28:42.000000000","message":"recheck","commit_id":"b426b3f1a649d9d83e0b99f982c26a249e8caa6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5de457851c09e9dada6bf5dfed8d484f1390c4d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"cab2d781_85b99406","updated":"2022-09-01 11:27:25.000000000","message":"recheck","commit_id":"b426b3f1a649d9d83e0b99f982c26a249e8caa6d"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"88338355cdcdbb55722cd525af74c0f7774f29e1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"374907c3_be59e2e5","updated":"2022-09-02 15:18:07.000000000","message":"LGTM","commit_id":"3a2e82ab75c605cfd6fd8d26d7dddd3cce1f812d"}],"doc/source/configuration/settings.rst":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"26508e6cfe1e94512cdd203716b9984c3cacfa1c","unresolved":true,"context_lines":[{"line_number":2296,"context_line":"Default: ``\"\"``"},{"line_number":2297,"context_line":""},{"line_number":2298,"context_line":"An administrator can specify a default user data (e.g. comments or instructions"},{"line_number":2299,"context_line":"for cloudinit) via this settings. It can be a string or template string that"},{"line_number":2300,"context_line":"accepts a request object."},{"line_number":2301,"context_line":""},{"line_number":2302,"context_line":"OPENSTACK_ENABLE_PASSWORD_RETRIEVE"}],"source_content_type":"text/x-rst","patch_set":5,"id":"85062264_08636f8c","line":2299,"range":{"start_line":2299,"start_character":56,"end_line":2299,"end_character":73},"updated":"2022-08-24 18:01:06.000000000","message":"Please, add more details what template engine is supported","commit_id":"cb5b36466bca5788de28b0f141a93066156e8625"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5287b9ec95fec0d8be8bb8704cd6b47e532699dc","unresolved":false,"context_lines":[{"line_number":2296,"context_line":"Default: ``\"\"``"},{"line_number":2297,"context_line":""},{"line_number":2298,"context_line":"An administrator can specify a default user data (e.g. comments or instructions"},{"line_number":2299,"context_line":"for cloudinit) via this settings. It can be a string or template string that"},{"line_number":2300,"context_line":"accepts a request object."},{"line_number":2301,"context_line":""},{"line_number":2302,"context_line":"OPENSTACK_ENABLE_PASSWORD_RETRIEVE"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a7bec10e_50a354a3","line":2299,"range":{"start_line":2299,"start_character":56,"end_line":2299,"end_character":73},"in_reply_to":"85062264_08636f8c","updated":"2022-08-31 18:37:27.000000000","message":"Done","commit_id":"cb5b36466bca5788de28b0f141a93066156e8625"}],"horizon/static/framework/widgets/load-edit/load-edit.directive.js":[{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"bf943ba0d1fe97555f9617989914653a1904e0a7","unresolved":true,"context_lines":[{"line_number":144,"context_line":"      }"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"      $scope.$watch(\u0027modelDefaultValue\u0027, function(newValue, oldValue) {"},{"line_number":147,"context_line":"        if (newValue !\u003d\u003d undefined \u0026\u0026 oldValue !\u003d\u003d newValue){"},{"line_number":148,"context_line":"          updateTextArea(newValue);"},{"line_number":149,"context_line":"        }"},{"line_number":150,"context_line":"      });"}],"source_content_type":"text/javascript","patch_set":5,"id":"429e6f12_4540aa58","line":147,"range":{"start_line":147,"start_character":60,"end_line":147,"end_character":61},"updated":"2022-08-30 18:08:33.000000000","message":"Lint tests are not happy with missing space before opening brace, please add it","commit_id":"cb5b36466bca5788de28b0f141a93066156e8625"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"bf943ba0d1fe97555f9617989914653a1904e0a7","unresolved":true,"context_lines":[{"line_number":144,"context_line":"      }"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"      $scope.$watch(\u0027modelDefaultValue\u0027, function(newValue, oldValue) {"},{"line_number":147,"context_line":"        if (newValue !\u003d\u003d undefined \u0026\u0026 oldValue !\u003d\u003d newValue){"},{"line_number":148,"context_line":"          updateTextArea(newValue);"},{"line_number":149,"context_line":"        }"},{"line_number":150,"context_line":"      });"}],"source_content_type":"text/javascript","patch_set":5,"id":"71c5cf02_0ce5109c","line":147,"updated":"2022-08-30 18:08:33.000000000","message":"You are adding \"if\" here, and that creates a new branch, which is non tested. That\u0027s why the coverage for branches has lower percentage now. You need to write a test that will include this branch.","commit_id":"cb5b36466bca5788de28b0f141a93066156e8625"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5287b9ec95fec0d8be8bb8704cd6b47e532699dc","unresolved":false,"context_lines":[{"line_number":144,"context_line":"      }"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"      $scope.$watch(\u0027modelDefaultValue\u0027, function(newValue, oldValue) {"},{"line_number":147,"context_line":"        if (newValue !\u003d\u003d undefined \u0026\u0026 oldValue !\u003d\u003d newValue){"},{"line_number":148,"context_line":"          updateTextArea(newValue);"},{"line_number":149,"context_line":"        }"},{"line_number":150,"context_line":"      });"}],"source_content_type":"text/javascript","patch_set":5,"id":"59b94515_4a7ce605","line":147,"range":{"start_line":147,"start_character":60,"end_line":147,"end_character":61},"in_reply_to":"429e6f12_4540aa58","updated":"2022-08-31 18:37:27.000000000","message":"Done","commit_id":"cb5b36466bca5788de28b0f141a93066156e8625"}],"horizon/static/framework/widgets/load-edit/load-edit.directive.spec.js":[{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"145d1e16a9106b7c38dd04377f6c7500809c6d73","unresolved":true,"context_lines":[{"line_number":39,"context_line":"      $compile \u003d $injector.get(\u0027$compile\u0027);"},{"line_number":40,"context_line":"      key \u003d \u0027elementKey\u0027;"},{"line_number":41,"context_line":"      element \u003d $compile("},{"line_number":42,"context_line":"        \u0027\u003cload-edit title\u003d\"{}\" model\u003d\"{}\" max-bytes\u003d\"{}\" key\u003d\"\u0027 + key + \u0027\" \u0027 +"},{"line_number":43,"context_line":"        \u0027required\u003d\"true\" rows\u003d\"8\" model-default-value\u003d\"{}\"\u003e\u003c/load-edit\u003e\u0027"},{"line_number":44,"context_line":"      )($scope);"},{"line_number":45,"context_line":"      $scope.$apply();"}],"source_content_type":"text/javascript","patch_set":9,"id":"d1ba037f_254c5c8c","line":42,"updated":"2022-09-01 16:07:20.000000000","message":"Please insert model-default-value after model for consistency.","commit_id":"b426b3f1a649d9d83e0b99f982c26a249e8caa6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"9b2357f324aebcdc8c338bcd09ca47cab45f9ac8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"      $compile \u003d $injector.get(\u0027$compile\u0027);"},{"line_number":40,"context_line":"      key \u003d \u0027elementKey\u0027;"},{"line_number":41,"context_line":"      element \u003d $compile("},{"line_number":42,"context_line":"        \u0027\u003cload-edit title\u003d\"{}\" model\u003d\"{}\" max-bytes\u003d\"{}\" key\u003d\"\u0027 + key + \u0027\" \u0027 +"},{"line_number":43,"context_line":"        \u0027required\u003d\"true\" rows\u003d\"8\" model-default-value\u003d\"{}\"\u003e\u003c/load-edit\u003e\u0027"},{"line_number":44,"context_line":"      )($scope);"},{"line_number":45,"context_line":"      $scope.$apply();"}],"source_content_type":"text/javascript","patch_set":9,"id":"bcda7d2c_9d1c7d27","line":42,"in_reply_to":"d1ba037f_254c5c8c","updated":"2022-09-01 16:25:17.000000000","message":"Ack","commit_id":"b426b3f1a649d9d83e0b99f982c26a249e8caa6d"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"145d1e16a9106b7c38dd04377f6c7500809c6d73","unresolved":true,"context_lines":[{"line_number":77,"context_line":"      });"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"      it(\u0027should update text area with default user data\u0027, function () {"},{"line_number":80,"context_line":"        element.isolateScope().modelDefaultValue \u003d \u0027default user data\u0027;"},{"line_number":81,"context_line":"        $scope.$apply();"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        expect(element.isolateScope().modelDefaultValue).toBe(\u0027default user data\u0027);"}],"source_content_type":"text/javascript","patch_set":9,"id":"90fe01e1_92d1a6ff","line":80,"updated":"2022-09-01 16:07:20.000000000","message":"This test does nothing right now, because you\u0027re just checking that this line works.\n\nPlease use this code:\n\nelement.isolateScope().modelDefaultValue \u003d \u0027default user data\u0027;\n$scope.$apply();\ntextarea.trigger(\u0027input\u0027);\n$scope.$apply();\n\nexpect(element.isolateScope().model).toBe(\u0027default user data\u0027);\n\n\nHere we will test that the value of model is changed after triggering input.","commit_id":"b426b3f1a649d9d83e0b99f982c26a249e8caa6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"9b2357f324aebcdc8c338bcd09ca47cab45f9ac8","unresolved":true,"context_lines":[{"line_number":77,"context_line":"      });"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"      it(\u0027should update text area with default user data\u0027, function () {"},{"line_number":80,"context_line":"        element.isolateScope().modelDefaultValue \u003d \u0027default user data\u0027;"},{"line_number":81,"context_line":"        $scope.$apply();"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        expect(element.isolateScope().modelDefaultValue).toBe(\u0027default user data\u0027);"}],"source_content_type":"text/javascript","patch_set":9,"id":"8a342e93_92a3d491","line":80,"in_reply_to":"90fe01e1_92d1a6ff","updated":"2022-09-01 16:25:17.000000000","message":"Thank you! I realized that the current revision checks nothing, but did not find a way to handle this properly.\nI tried setting default value throw root scope, but it did not work and I left just the way that passes ci at least.","commit_id":"b426b3f1a649d9d83e0b99f982c26a249e8caa6d"}],"openstack_dashboard/api/rest/config.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"26508e6cfe1e94512cdd203716b9984c3cacfa1c","unresolved":true,"context_lines":[{"line_number":38,"context_line":"def _render_from_string(template_string, **context_vars):"},{"line_number":39,"context_line":"    chain \u003d []"},{"line_number":40,"context_line":"    tmpl \u003d None"},{"line_number":41,"context_line":"    for engine in django_template.engines.all():"},{"line_number":42,"context_line":"        try:"},{"line_number":43,"context_line":"            tmpl \u003d engine.from_string(template_string)"},{"line_number":44,"context_line":"            break"}],"source_content_type":"text/x-python","patch_set":5,"id":"4fcb4ff6_30090399","line":41,"updated":"2022-08-24 18:01:06.000000000","message":"Please, iterate on settings.TEMPLATES","commit_id":"cb5b36466bca5788de28b0f141a93066156e8625"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5287b9ec95fec0d8be8bb8704cd6b47e532699dc","unresolved":false,"context_lines":[{"line_number":38,"context_line":"def _render_from_string(template_string, **context_vars):"},{"line_number":39,"context_line":"    chain \u003d []"},{"line_number":40,"context_line":"    tmpl \u003d None"},{"line_number":41,"context_line":"    for engine in django_template.engines.all():"},{"line_number":42,"context_line":"        try:"},{"line_number":43,"context_line":"            tmpl \u003d engine.from_string(template_string)"},{"line_number":44,"context_line":"            break"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa65a67b_3336e0ab","line":41,"in_reply_to":"4fcb4ff6_30090399","updated":"2022-08-31 18:37:27.000000000","message":"Done","commit_id":"cb5b36466bca5788de28b0f141a93066156e8625"}],"openstack_dashboard/defaults.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"26508e6cfe1e94512cdd203716b9984c3cacfa1c","unresolved":true,"context_lines":[{"line_number":254,"context_line":"    \u0027default_availability_zone\u0027: \u0027Any\u0027,"},{"line_number":255,"context_line":"}"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"# A string (can be a template that accepts a request) that will be used as a"},{"line_number":258,"context_line":"# default user_data for new VMs"},{"line_number":259,"context_line":"OPENSTACK_SERVER_DEFAULT_USER_DATA \u003d \"\""},{"line_number":260,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7bd34810_7d3bcc72","line":257,"range":{"start_line":257,"start_character":0,"end_line":257,"end_character":55},"updated":"2022-08-24 18:01:06.000000000","message":"A Django template string","commit_id":"cb5b36466bca5788de28b0f141a93066156e8625"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5287b9ec95fec0d8be8bb8704cd6b47e532699dc","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    \u0027default_availability_zone\u0027: \u0027Any\u0027,"},{"line_number":255,"context_line":"}"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"# A string (can be a template that accepts a request) that will be used as a"},{"line_number":258,"context_line":"# default user_data for new VMs"},{"line_number":259,"context_line":"OPENSTACK_SERVER_DEFAULT_USER_DATA \u003d \"\""},{"line_number":260,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"35525a96_fb0dc211","line":257,"range":{"start_line":257,"start_character":0,"end_line":257,"end_character":55},"in_reply_to":"7bd34810_7d3bcc72","updated":"2022-08-31 18:37:27.000000000","message":"Done","commit_id":"cb5b36466bca5788de28b0f141a93066156e8625"}]}
