)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"543a5c9d323210c26b818bd0e7aa324bdc5a9330","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Manik Bindlish \u003cmanikbindlish19@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-10-25 07:14:11 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handling invalid path of workspace register and move."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This PS will fix the invalid value handling."},{"line_number":10,"context_line":"Error will be raised if no/blank value will be specified for"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_13688db9","line":7,"updated":"2018-10-30 09:08:26.000000000","message":"The trailing period is not necessary for the first line in a commit message.","commit_id":"d34e5077405fa65cfd0ef374326de73d89475ec0"}],"releasenotes/notes/bug-1799883-6ea95fc64f70c9ef.yaml":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8878ae0b9e0a3cf383c74c5aea983d39c09cc0e3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixed bug #1799883. ``tempest workspace register`` and ``tempest workspace move`` CLI will"},{"line_number":5,"context_line":"    set current working directory path if None or empty string is passed in --path arguments."},{"line_number":6,"context_line":"    Earlier both CLI used to accept the None or empty path which was confusing."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f79a3b5_ed32a95d","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":37},"updated":"2018-10-31 20:25:16.000000000","message":"This does not appear to be do what code does? Code just raises error if path is None or empty.\n\nHow about:\n\n    Fixed bug #1799883. ``tempest workspace register`` and ``tempest workspace move`` CLI will now validate the value of the ``--path`` CLI argument and raise\nan exception if it is None or empty string. Earlier both CLI actions accepte None or empty path which was confusing.","commit_id":"7c1f8beb09666f82d11d5c5424764ba9f96f1e9c"}],"tempest/cmd/workspace.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e4c6d148b7448940a03031269eff0a16fe9c7b6d","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    @lockutils.synchronized(\u0027workspaces\u0027, external\u003dTrue)"},{"line_number":95,"context_line":"    def move_workspace(self, name, path):"},{"line_number":96,"context_line":"        self._populate()"},{"line_number":97,"context_line":"        self._invalid_path_check(path)"},{"line_number":98,"context_line":"        path \u003d os.path.abspath(os.path.expanduser(path))"},{"line_number":99,"context_line":"        self._name_exists(name)"},{"line_number":100,"context_line":"        self._validate_path(path)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_882ea7a8","line":97,"updated":"2018-10-30 14:35:28.000000000","message":"It should be possible to combine `_invalid_path_check` with `_validate_path` as Masayuki says:\n\n    def _validate_path(self, path):\n       if not path:\n            print(\"None or empty path is specified for workspace.\"\n                  \"Please specify correct workspace path.\")\n            sys.exit(1)\n        if not os.path.exists(path):\n            print(\"Path does not exist.\")\n            sys.exit(1)\n\n    def move_workspace(self, name, path):\n        self._populate()\n        path \u003d os.path.abspath(os.path.expanduser(path)) if path else path\n        self._name_exists(name)\n        self._validate_path(path)","commit_id":"d34e5077405fa65cfd0ef374326de73d89475ec0"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"543a5c9d323210c26b818bd0e7aa324bdc5a9330","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        self._invalid_path_check(path)"},{"line_number":98,"context_line":"        path \u003d os.path.abspath(os.path.expanduser(path))"},{"line_number":99,"context_line":"        self._name_exists(name)"},{"line_number":100,"context_line":"        self._validate_path(path)"},{"line_number":101,"context_line":"        self.workspaces[name] \u003d path"},{"line_number":102,"context_line":"        self._write_file()"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_336b49b8","line":100,"updated":"2018-10-30 09:08:26.000000000","message":"hm, interesting. An empty string is expanded to a current directory.","commit_id":"d34e5077405fa65cfd0ef374326de73d89475ec0"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"543a5c9d323210c26b818bd0e7aa324bdc5a9330","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    def _validate_path(self, path):"},{"line_number":147,"context_line":"        if not os.path.exists(path):"},{"line_number":148,"context_line":"            print(\"Path does not exist.\")"},{"line_number":149,"context_line":"            sys.exit(1)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    @lockutils.synchronized(\u0027workspaces\u0027, external\u003dTrue)"},{"line_number":152,"context_line":"    def register_new_workspace(self, name, path, init\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_d36535e3","line":149,"updated":"2018-10-30 09:08:26.000000000","message":"These three method(_invalid_*check, _validate_path) are almost the same. So, I feel it might be better to merge. But I also think it\u0027s ok to leave it in this patch because we can revisit about it later.","commit_id":"d34e5077405fa65cfd0ef374326de73d89475ec0"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8878ae0b9e0a3cf383c74c5aea983d39c09cc0e3","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def _validate_path(self, path):"},{"line_number":140,"context_line":"        if not path:"},{"line_number":141,"context_line":"            print(\"None or empty path is specified for workspace.\""},{"line_number":142,"context_line":"                  \"Please specify correct workspace path.\")"},{"line_number":143,"context_line":"            sys.exit(1)"},{"line_number":144,"context_line":"        if not os.path.exists(path):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_2ddbc120","line":141,"range":{"start_line":141,"start_character":65,"end_line":141,"end_character":66},"updated":"2018-10-31 20:25:16.000000000","message":"Missing space","commit_id":"7c1f8beb09666f82d11d5c5424764ba9f96f1e9c"}],"tempest/tests/cmd/test_workspace.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8878ae0b9e0a3cf383c74c5aea983d39c09cc0e3","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def test_workspace_manager_move_no_workspace_path(self):"},{"line_number":144,"context_line":"        new_path \u003d \"\""},{"line_number":145,"context_line":"        self.addCleanup(shutil.rmtree, new_path, ignore_errors\u003dTrue)"},{"line_number":146,"context_line":"        with patch(\u0027sys.stdout\u0027, new_callable\u003dStringIO) as mock_stdout:"},{"line_number":147,"context_line":"            ex \u003d self.assertRaises(SystemExit,"},{"line_number":148,"context_line":"                                   self.workspace_manager.move_workspace,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_adc6f140","line":145,"range":{"start_line":145,"start_character":8,"end_line":145,"end_character":68},"updated":"2018-10-31 20:25:16.000000000","message":"This can be removed as new path is empty string. This might lead to deleting something weird.","commit_id":"7c1f8beb09666f82d11d5c5424764ba9f96f1e9c"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8878ae0b9e0a3cf383c74c5aea983d39c09cc0e3","unresolved":false,"context_lines":[{"line_number":149,"context_line":"                                   self.name, new_path)"},{"line_number":150,"context_line":"        self.assertEqual(1, ex.code)"},{"line_number":151,"context_line":"        self.assertEqual(mock_stdout.getvalue(),"},{"line_number":152,"context_line":"                         \"None or empty path is specified for workspace.\""},{"line_number":153,"context_line":"                         \"Please specify correct workspace path.\\n\")"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def test_workspace_manager_remove_entry(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_edfdc96d","line":152,"range":{"start_line":152,"start_character":72,"end_line":152,"end_character":73},"updated":"2018-10-31 20:25:16.000000000","message":"Missing space","commit_id":"7c1f8beb09666f82d11d5c5424764ba9f96f1e9c"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8878ae0b9e0a3cf383c74c5aea983d39c09cc0e3","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                                   no_path)"},{"line_number":171,"context_line":"        self.assertEqual(1, ex.code)"},{"line_number":172,"context_line":"        self.assertEqual(mock_stdout.getvalue(),"},{"line_number":173,"context_line":"                         \"None or empty path is specified for workspace.\""},{"line_number":174,"context_line":"                         \"Please specify correct workspace path.\\n\")"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def test_path_expansion(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_8df2159c","line":173,"range":{"start_line":173,"start_character":72,"end_line":173,"end_character":73},"updated":"2018-10-31 20:25:16.000000000","message":"Missing space","commit_id":"7c1f8beb09666f82d11d5c5424764ba9f96f1e9c"}]}
