)]}'
{"kayobe/tests/unit/test_ansible.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9c5fb99c33e0f64633b1ddbbb7d4d760a644fbd0","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @mock.patch.object(ansible, \"_build_merged_vars_arg\")"},{"line_number":42,"context_line":"    @mock.patch.object(ansible, \"_get_vars_files\")"},{"line_number":43,"context_line":"    @mock.patch.object(ansible, \"_validate_args\")"},{"line_number":44,"context_line":"    def test_run_playbooks(self, mock_validate, mock_vars, mock_merged, mock_run):"},{"line_number":45,"context_line":"        mock_vars.return_value \u003d [\"/etc/kayobe/vars-file1.yml\","},{"line_number":46,"context_line":"                                  \"/etc/kayobe/vars-file2.yaml\"]"},{"line_number":47,"context_line":"        mock_merged.return_value \u003d ([\"-e\", \"@/tmp/merged.yml\"],"}],"source_content_type":"text/x-python","patch_set":1,"id":"c9f0e585_acabfed5","line":44,"updated":"2026-06-25 18:21:42.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"c0037653cef7120c934f6b6a48527df1d8392097"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9c5fb99c33e0f64633b1ddbbb7d4d760a644fbd0","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    @mock.patch.object(ansible, \"_build_merged_vars_arg\")"},{"line_number":97,"context_line":"    @mock.patch.object(ansible, \"_get_vars_files\")"},{"line_number":98,"context_line":"    @mock.patch.object(ansible, \"_validate_args\")"},{"line_number":99,"context_line":"    def test_run_playbooks_internal(self, mock_validate, mock_vars, mock_merged,"},{"line_number":100,"context_line":"                                    mock_run):"},{"line_number":101,"context_line":"        mock_vars.return_value \u003d [\"/etc/kayobe/vars-file1.yml\","},{"line_number":102,"context_line":"                                  \"/etc/kayobe/vars-file2.yaml\"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"d76c8205_4f2e2c5f","line":99,"updated":"2026-06-25 18:21:42.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c0037653cef7120c934f6b6a48527df1d8392097"}],"kayobe/tests/unit/test_vars_merge.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9c5fb99c33e0f64633b1ddbbb7d4d760a644fbd0","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def test_inherit_dict_recursive(self):"},{"line_number":149,"context_line":"        base \u003d self._write(\"base.yml\", \"cfg:\\n  nested:\\n    a: 1\\n    b: 2\\n\")"},{"line_number":150,"context_line":"        env \u003d self._write(\"env.yml\", \"cfg: !inherit\\n  nested:\\n    b: 99\\n    c: 3\\n\")"},{"line_number":151,"context_line":"        result \u003d vars_merge.merge_vars_files([base, env])"},{"line_number":152,"context_line":"        self.assertEqual({\"cfg\": {\"nested\": {\"a\": 1, \"b\": 99, \"c\": 3}}}, result)"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"73f64aaf_ee6f11c8","line":150,"updated":"2026-06-25 18:21:42.000000000","message":"pep8: E501 line too long (87 \u003e 79 characters)","commit_id":"c0037653cef7120c934f6b6a48527df1d8392097"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9c5fb99c33e0f64633b1ddbbb7d4d760a644fbd0","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        base \u003d self._write(\"base.yml\", \"cfg:\\n  nested:\\n    a: 1\\n    b: 2\\n\")"},{"line_number":150,"context_line":"        env \u003d self._write(\"env.yml\", \"cfg: !inherit\\n  nested:\\n    b: 99\\n    c: 3\\n\")"},{"line_number":151,"context_line":"        result \u003d vars_merge.merge_vars_files([base, env])"},{"line_number":152,"context_line":"        self.assertEqual({\"cfg\": {\"nested\": {\"a\": 1, \"b\": 99, \"c\": 3}}}, result)"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    def test_inherit_dict_no_parent(self):"},{"line_number":155,"context_line":"        env \u003d self._write(\"env.yml\", \"cfg: !inherit\\n  x: 1\\n\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"ec1828e9_5f7a4821","line":152,"updated":"2026-06-25 18:21:42.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"c0037653cef7120c934f6b6a48527df1d8392097"}],"kayobe/vars_merge.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9c5fb99c33e0f64633b1ddbbb7d4d760a644fbd0","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                existing \u003d accumulated.get(key)"},{"line_number":117,"context_line":"                if existing is None:"},{"line_number":118,"context_line":"                    accumulated[key] \u003d value.value"},{"line_number":119,"context_line":"                elif isinstance(value.value, list) and isinstance(existing, list):"},{"line_number":120,"context_line":"                    accumulated[key] \u003d existing + value.value"},{"line_number":121,"context_line":"                elif isinstance(value.value, dict) and isinstance(existing, dict):"},{"line_number":122,"context_line":"                    accumulated[key] \u003d _deep_merge(existing, value.value)"}],"source_content_type":"text/x-python","patch_set":1,"id":"b2e59011_e0d616d4","line":119,"updated":"2026-06-25 18:21:42.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"c0037653cef7120c934f6b6a48527df1d8392097"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9c5fb99c33e0f64633b1ddbbb7d4d760a644fbd0","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                    accumulated[key] \u003d value.value"},{"line_number":119,"context_line":"                elif isinstance(value.value, list) and isinstance(existing, list):"},{"line_number":120,"context_line":"                    accumulated[key] \u003d existing + value.value"},{"line_number":121,"context_line":"                elif isinstance(value.value, dict) and isinstance(existing, dict):"},{"line_number":122,"context_line":"                    accumulated[key] \u003d _deep_merge(existing, value.value)"},{"line_number":123,"context_line":"                else:"},{"line_number":124,"context_line":"                    raise ValueError("}],"source_content_type":"text/x-python","patch_set":1,"id":"9f0ac2c7_47c1aa11","line":121,"updated":"2026-06-25 18:21:42.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"c0037653cef7120c934f6b6a48527df1d8392097"}]}
