)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2775dfb3e0eee97874974b054f6f381317e805bd","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b0b6121c_219ed4bc","updated":"2025-03-06 11:17:48.000000000","message":"Peter mentioned on the ticket that the version check might be affected as well - did you find that it was not?","commit_id":"2085bf2128a17e7ae9177ebc478c866744359d30"},{"author":{"_account_id":1005389,"name":"Lubo Marinski","email":"lubo.marinski@couchbase.com","username":"lubomarinski","avatars":[{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f9605836538f4aee4f0dfede55714ced1ec91549","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ed5e3590_bdb82e15","in_reply_to":"3f3d3e32_daaee0dd","updated":"2025-03-06 16:48:52.000000000","message":"I was wrong, it does not even print a warning. I saw this warning:\n`WARNING: Could not import cb_version, setting VERSION to 0.0.0-0000-community`\nBut that is caused by something else and should not be a problem at runtime. \nThe failing version check on user-change-password has no impact and will not print anything so it is fine.","commit_id":"2085bf2128a17e7ae9177ebc478c866744359d30"},{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e7fae532b432ce96e77220d1db1bda7f4f28d4c8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3f3d3e32_daaee0dd","in_reply_to":"8d1b35c8_b6879019","updated":"2025-03-06 13:38:32.000000000","message":"What does the warning look like? It might confuse users","commit_id":"2085bf2128a17e7ae9177ebc478c866744359d30"},{"author":{"_account_id":1005389,"name":"Lubo Marinski","email":"lubo.marinski@couchbase.com","username":"lubomarinski","avatars":[{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a07b0ccd7bc821902bd5ab230fb9e0ca13818f61","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8d1b35c8_b6879019","in_reply_to":"b0b6121c_219ed4bc","updated":"2025-03-06 12:30:41.000000000","message":"Yes, it works without the version check. The version check will still fail, but it only prints a warning. It will not prevent the user from setting a new password.","commit_id":"2085bf2128a17e7ae9177ebc478c866744359d30"},{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a84a93e30d97b8f9d787720d7752b33289b0338e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1ea80778_494f4335","in_reply_to":"ed5e3590_bdb82e15","updated":"2025-03-10 10:12:01.000000000","message":"Acknowledged","commit_id":"2085bf2128a17e7ae9177ebc478c866744359d30"}],"cluster_manager.py":[{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2775dfb3e0eee97874974b054f6f381317e805bd","unresolved":true,"context_lines":[{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    def is_cluster_initialized(self):"},{"line_number":255,"context_line":"        data, errors \u003d self.pools()"},{"line_number":256,"context_line":"        if (errors and len(errors) \u003d\u003d 1 and errors[0] in [ERR_AUTH, ERR_PASSWORD_EXPIRED]) or \\"},{"line_number":257,"context_line":"                (data and data[\u0027pools\u0027] and len(data[\u0027pools\u0027]) \u003e 0):"},{"line_number":258,"context_line":"            return True, None"},{"line_number":259,"context_line":"        return False, errors"}],"source_content_type":"text/x-python","patch_set":1,"id":"f39c021c_ae7e199a","line":256,"range":{"start_line":256,"start_character":22,"end_line":256,"end_character":23},"updated":"2025-03-06 11:17:48.000000000","message":"Could we write a test for this please?","commit_id":"2085bf2128a17e7ae9177ebc478c866744359d30"},{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e7fae532b432ce96e77220d1db1bda7f4f28d4c8","unresolved":false,"context_lines":[{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    def is_cluster_initialized(self):"},{"line_number":255,"context_line":"        data, errors \u003d self.pools()"},{"line_number":256,"context_line":"        if (errors and len(errors) \u003d\u003d 1 and errors[0] in [ERR_AUTH, ERR_PASSWORD_EXPIRED]) or \\"},{"line_number":257,"context_line":"                (data and data[\u0027pools\u0027] and len(data[\u0027pools\u0027]) \u003e 0):"},{"line_number":258,"context_line":"            return True, None"},{"line_number":259,"context_line":"        return False, errors"}],"source_content_type":"text/x-python","patch_set":1,"id":"f982eb22_44ac404c","line":256,"range":{"start_line":256,"start_character":22,"end_line":256,"end_character":23},"in_reply_to":"dfd715dc_81383809","updated":"2025-03-06 13:38:32.000000000","message":"Done","commit_id":"2085bf2128a17e7ae9177ebc478c866744359d30"},{"author":{"_account_id":1005389,"name":"Lubo Marinski","email":"lubo.marinski@couchbase.com","username":"lubomarinski","avatars":[{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a07b0ccd7bc821902bd5ab230fb9e0ca13818f61","unresolved":true,"context_lines":[{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    def is_cluster_initialized(self):"},{"line_number":255,"context_line":"        data, errors \u003d self.pools()"},{"line_number":256,"context_line":"        if (errors and len(errors) \u003d\u003d 1 and errors[0] in [ERR_AUTH, ERR_PASSWORD_EXPIRED]) or \\"},{"line_number":257,"context_line":"                (data and data[\u0027pools\u0027] and len(data[\u0027pools\u0027]) \u003e 0):"},{"line_number":258,"context_line":"            return True, None"},{"line_number":259,"context_line":"        return False, errors"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfd715dc_81383809","line":256,"range":{"start_line":256,"start_character":22,"end_line":256,"end_character":23},"in_reply_to":"f39c021c_ae7e199a","updated":"2025-03-06 12:30:41.000000000","message":"Done","commit_id":"2085bf2128a17e7ae9177ebc478c866744359d30"},{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a84a93e30d97b8f9d787720d7752b33289b0338e","unresolved":true,"context_lines":[{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    def is_cluster_initialized(self):"},{"line_number":259,"context_line":"        data, errors \u003d self.pools()"},{"line_number":260,"context_line":"        print(data, errors)"},{"line_number":261,"context_line":"        if (errors and len(errors) \u003d\u003d 1 and errors[0] in [ERR_AUTH, ERR_PASSWORD_EXPIRED]) or \\"},{"line_number":262,"context_line":"                (data and data[\u0027pools\u0027] and len(data[\u0027pools\u0027]) \u003e 0):"},{"line_number":263,"context_line":"            return True, None"}],"source_content_type":"text/x-python","patch_set":3,"id":"fb684ee9_c8d1fe9b","line":260,"updated":"2025-03-10 10:12:01.000000000","message":"I don\u0027t think we need this line","commit_id":"9ee38f1fbfd35176acf9d7ba1c3515f04e36390b"},{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d3baf7941882947f0fc6c7c5f19e532c98a8bcad","unresolved":false,"context_lines":[{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    def is_cluster_initialized(self):"},{"line_number":259,"context_line":"        data, errors \u003d self.pools()"},{"line_number":260,"context_line":"        print(data, errors)"},{"line_number":261,"context_line":"        if (errors and len(errors) \u003d\u003d 1 and errors[0] in [ERR_AUTH, ERR_PASSWORD_EXPIRED]) or \\"},{"line_number":262,"context_line":"                (data and data[\u0027pools\u0027] and len(data[\u0027pools\u0027]) \u003e 0):"},{"line_number":263,"context_line":"            return True, None"}],"source_content_type":"text/x-python","patch_set":3,"id":"582282d4_b255c531","line":260,"in_reply_to":"d218dbda_9307be47","updated":"2025-03-10 14:56:18.000000000","message":"Done","commit_id":"9ee38f1fbfd35176acf9d7ba1c3515f04e36390b"},{"author":{"_account_id":1005389,"name":"Lubo Marinski","email":"lubo.marinski@couchbase.com","username":"lubomarinski","avatars":[{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"33f16670ab051d2a68fea230988da4056df2bff8","unresolved":true,"context_lines":[{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    def is_cluster_initialized(self):"},{"line_number":259,"context_line":"        data, errors \u003d self.pools()"},{"line_number":260,"context_line":"        print(data, errors)"},{"line_number":261,"context_line":"        if (errors and len(errors) \u003d\u003d 1 and errors[0] in [ERR_AUTH, ERR_PASSWORD_EXPIRED]) or \\"},{"line_number":262,"context_line":"                (data and data[\u0027pools\u0027] and len(data[\u0027pools\u0027]) \u003e 0):"},{"line_number":263,"context_line":"            return True, None"}],"source_content_type":"text/x-python","patch_set":3,"id":"d218dbda_9307be47","line":260,"in_reply_to":"fb684ee9_c8d1fe9b","updated":"2025-03-10 10:52:16.000000000","message":"Removed","commit_id":"9ee38f1fbfd35176acf9d7ba1c3515f04e36390b"},{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a84a93e30d97b8f9d787720d7752b33289b0338e","unresolved":true,"context_lines":[{"line_number":2999,"context_line":"                    return None, [errors[\u0027runtime_info\u0027][\u0027info\u0027]]"},{"line_number":3000,"context_line":"                elif \u0027passwordExpired\u0027 in errors and errors[\u0027passwordExpired\u0027]:"},{"line_number":3001,"context_line":"                    return None, [ERR_PASSWORD_EXPIRED]"},{"line_number":3002,"context_line":"            return None, [unexpected_403_err(response.text)]"},{"line_number":3003,"context_line":"        # Error codes from Eventing service"},{"line_number":3004,"context_line":"        elif response.status_code in [406, 422, 423]:"},{"line_number":3005,"context_line":"            errors \u003d response.json()"}],"source_content_type":"text/x-python","patch_set":3,"id":"b9d42e3d_6b864970","line":3002,"updated":"2025-03-10 10:12:01.000000000","message":"I don\u0027t think we need a function here","commit_id":"9ee38f1fbfd35176acf9d7ba1c3515f04e36390b"},{"author":{"_account_id":1005389,"name":"Lubo Marinski","email":"lubo.marinski@couchbase.com","username":"lubomarinski","avatars":[{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"79ace693cd40983875eba591d16f8b756513e7a8","unresolved":true,"context_lines":[{"line_number":2999,"context_line":"                    return None, [errors[\u0027runtime_info\u0027][\u0027info\u0027]]"},{"line_number":3000,"context_line":"                elif \u0027passwordExpired\u0027 in errors and errors[\u0027passwordExpired\u0027]:"},{"line_number":3001,"context_line":"                    return None, [ERR_PASSWORD_EXPIRED]"},{"line_number":3002,"context_line":"            return None, [unexpected_403_err(response.text)]"},{"line_number":3003,"context_line":"        # Error codes from Eventing service"},{"line_number":3004,"context_line":"        elif response.status_code in [406, 422, 423]:"},{"line_number":3005,"context_line":"            errors \u003d response.json()"}],"source_content_type":"text/x-python","patch_set":3,"id":"d5fa37b5_ca313827","line":3002,"in_reply_to":"6643209f_e4d8c59e","updated":"2025-03-10 16:34:31.000000000","message":"Yes, we use this function in `test/test_cluster_manager.py` on line 235. It is needed so the test won\u0027t depend on an arbitrary string.","commit_id":"9ee38f1fbfd35176acf9d7ba1c3515f04e36390b"},{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d3baf7941882947f0fc6c7c5f19e532c98a8bcad","unresolved":true,"context_lines":[{"line_number":2999,"context_line":"                    return None, [errors[\u0027runtime_info\u0027][\u0027info\u0027]]"},{"line_number":3000,"context_line":"                elif \u0027passwordExpired\u0027 in errors and errors[\u0027passwordExpired\u0027]:"},{"line_number":3001,"context_line":"                    return None, [ERR_PASSWORD_EXPIRED]"},{"line_number":3002,"context_line":"            return None, [unexpected_403_err(response.text)]"},{"line_number":3003,"context_line":"        # Error codes from Eventing service"},{"line_number":3004,"context_line":"        elif response.status_code in [406, 422, 423]:"},{"line_number":3005,"context_line":"            errors \u003d response.json()"}],"source_content_type":"text/x-python","patch_set":3,"id":"6643209f_e4d8c59e","line":3002,"in_reply_to":"a75e5be2_ca3180c7","updated":"2025-03-10 14:56:18.000000000","message":"Does this mean we use use `unexpected_403_error` somewhere else? If so I can\u0027t see it. If not I don\u0027t think there is a reason to have a function here rather than the string inline","commit_id":"9ee38f1fbfd35176acf9d7ba1c3515f04e36390b"},{"author":{"_account_id":1005389,"name":"Lubo Marinski","email":"lubo.marinski@couchbase.com","username":"lubomarinski","avatars":[{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"33f16670ab051d2a68fea230988da4056df2bff8","unresolved":true,"context_lines":[{"line_number":2999,"context_line":"                    return None, [errors[\u0027runtime_info\u0027][\u0027info\u0027]]"},{"line_number":3000,"context_line":"                elif \u0027passwordExpired\u0027 in errors and errors[\u0027passwordExpired\u0027]:"},{"line_number":3001,"context_line":"                    return None, [ERR_PASSWORD_EXPIRED]"},{"line_number":3002,"context_line":"            return None, [unexpected_403_err(response.text)]"},{"line_number":3003,"context_line":"        # Error codes from Eventing service"},{"line_number":3004,"context_line":"        elif response.status_code in [406, 422, 423]:"},{"line_number":3005,"context_line":"            errors \u003d response.json()"}],"source_content_type":"text/x-python","patch_set":3,"id":"a75e5be2_ca3180c7","line":3002,"in_reply_to":"b9d42e3d_6b864970","updated":"2025-03-10 10:52:16.000000000","message":"The purpose of this function is to prevent the test from failing if the error message changes. The `ERR_AUTH`, `ERR_INTERNAL` and `ERR_PASSWORD_EXPIRED` variables above also serve the same purpose - to reference the same error message in multiple places without having to copy-paste long arbitrary strings.","commit_id":"9ee38f1fbfd35176acf9d7ba1c3515f04e36390b"},{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0a7dbd0cbb0b1095215347854450a4ec83ab7c94","unresolved":false,"context_lines":[{"line_number":2999,"context_line":"                    return None, [errors[\u0027runtime_info\u0027][\u0027info\u0027]]"},{"line_number":3000,"context_line":"                elif \u0027passwordExpired\u0027 in errors and errors[\u0027passwordExpired\u0027]:"},{"line_number":3001,"context_line":"                    return None, [ERR_PASSWORD_EXPIRED]"},{"line_number":3002,"context_line":"            return None, [unexpected_403_err(response.text)]"},{"line_number":3003,"context_line":"        # Error codes from Eventing service"},{"line_number":3004,"context_line":"        elif response.status_code in [406, 422, 423]:"},{"line_number":3005,"context_line":"            errors \u003d response.json()"}],"source_content_type":"text/x-python","patch_set":3,"id":"05103d2a_2545fd5e","line":3002,"in_reply_to":"d5fa37b5_ca313827","updated":"2025-03-11 10:12:18.000000000","message":"Acknowledged","commit_id":"9ee38f1fbfd35176acf9d7ba1c3515f04e36390b"}],"test/test_cluster_manager.py":[{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e7fae532b432ce96e77220d1db1bda7f4f28d4c8","unresolved":true,"context_lines":[{"line_number":229,"context_line":"        for name, test in tests.items():"},{"line_number":230,"context_line":"            with self.subTest(name\u003dname):"},{"line_number":231,"context_line":"                cluster_manager \u003d ClusterManager(\"hostname\", \"username\", \"password\")"},{"line_number":232,"context_line":"                cluster_manager.pools \u003d unittest.mock.MagicMock(return_value\u003dtest[\"pools_res\"])"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"                res \u003d cluster_manager.is_cluster_initialized()"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"171d9324_1e96d066","line":232,"updated":"2025-03-06 13:38:32.000000000","message":"Could you use the server in `mock_server.py`? I am not sure why we wrote our own mock manually tbh but we should follow the convention here.","commit_id":"c502f3292830726122e8bca5c0d52ec6de26febc"},{"author":{"_account_id":1005389,"name":"Lubo Marinski","email":"lubo.marinski@couchbase.com","username":"lubomarinski","avatars":[{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60f9d0c92536ec050b83034161160480.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f9605836538f4aee4f0dfede55714ced1ec91549","unresolved":true,"context_lines":[{"line_number":229,"context_line":"        for name, test in tests.items():"},{"line_number":230,"context_line":"            with self.subTest(name\u003dname):"},{"line_number":231,"context_line":"                cluster_manager \u003d ClusterManager(\"hostname\", \"username\", \"password\")"},{"line_number":232,"context_line":"                cluster_manager.pools \u003d unittest.mock.MagicMock(return_value\u003dtest[\"pools_res\"])"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"                res \u003d cluster_manager.is_cluster_initialized()"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"197eab9a_ac111b93","line":232,"in_reply_to":"171d9324_1e96d066","updated":"2025-03-06 16:48:52.000000000","message":"Done","commit_id":"c502f3292830726122e8bca5c0d52ec6de26febc"},{"author":{"_account_id":1004879,"name":"Matt Hall","email":"matthew@quickbeam.me.uk","username":"mattyhall","avatars":[{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/53d1d84f1bfdafc6399d56cba3efbe08.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"d3baf7941882947f0fc6c7c5f19e532c98a8bcad","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        for name, test in tests.items():"},{"line_number":230,"context_line":"            with self.subTest(name\u003dname):"},{"line_number":231,"context_line":"                cluster_manager \u003d ClusterManager(\"hostname\", \"username\", \"password\")"},{"line_number":232,"context_line":"                cluster_manager.pools \u003d unittest.mock.MagicMock(return_value\u003dtest[\"pools_res\"])"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"                res \u003d cluster_manager.is_cluster_initialized()"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da9cb738_462c22da","line":232,"in_reply_to":"197eab9a_ac111b93","updated":"2025-03-10 14:56:18.000000000","message":"Done","commit_id":"c502f3292830726122e8bca5c0d52ec6de26febc"}]}
