)]}'
{"trove/tests/unittests/api/common/test_limits.py":[{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"e6376abab9373f81789e82bf677f7d41e20ac71a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        req.environ \u003d {\"trove.limits\": limits}"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        with patch.object(QUOTAS, \u0027get_all_quotas_by_tenant\u0027,"},{"line_number":128,"context_line":"                          return_value\u003dabs_limits):"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"            view \u003d limit_controller.index(req, tenant_id)"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_866331dd","line":128,"updated":"2015-05-27 18:57:27.000000000","message":"Why is this a context manager? IMO being consistent and using the decorator wherever possible, and using the context manager only for containing the scope as necessary. Unless I am mistaken, this could safely be made a function decorator.","commit_id":"3bf9bad968758882b5b28ac6b75a8b193e91e46a"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"c235d9de1898de5b639aa610e6247cb8fdccf6cd","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        req.environ \u003d {\"trove.limits\": limits}"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        with patch.object(QUOTAS, \u0027get_all_quotas_by_tenant\u0027,"},{"line_number":128,"context_line":"                          return_value\u003dabs_limits):"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"            view \u003d limit_controller.index(req, tenant_id)"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_866d719b","line":128,"in_reply_to":"7a016987_66bef500","updated":"2015-05-27 19:04:25.000000000","message":"I stand corrected.","commit_id":"3bf9bad968758882b5b28ac6b75a8b193e91e46a"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"2149197203d4d7330456f413e38ce924f5847d21","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        req.environ \u003d {\"trove.limits\": limits}"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        with patch.object(QUOTAS, \u0027get_all_quotas_by_tenant\u0027,"},{"line_number":128,"context_line":"                          return_value\u003dabs_limits):"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"            view \u003d limit_controller.index(req, tenant_id)"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_66bef500","line":128,"in_reply_to":"7a016987_866331dd","updated":"2015-05-27 19:02:33.000000000","message":"This one has a non-trivial return value which is defined in the method body. Doing it with a decorator would require storing it as an instance variable, or defining it in the decorator itself. I believe this is the cleanest solution with minimal impact.","commit_id":"3bf9bad968758882b5b28ac6b75a8b193e91e46a"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"cc050c612811631e817eb13602c53308a7dbb985","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        req \u003d MagicMock()"},{"line_number":62,"context_line":"        req.environ \u003d {}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        QUOTAS.get_all_quotas_by_tenant \u003d MagicMock(return_value\u003d{})"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        view \u003d limit_controller.index(req, \"test_tenant_id\")"},{"line_number":67,"context_line":"        expected \u003d {\u0027limits\u0027: [{\u0027verb\u0027: \u0027ABSOLUTE\u0027}]}"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_126d7f04","side":"PARENT","line":64,"updated":"2015-06-02 06:33:23.000000000","message":"I would be interested to find out that why was it tracked by the detector.","commit_id":"f092854b8d3ac841d8ef53792bcbff91a34b64ae"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"2df8e748c87645f7d3e1bee93bb43e0f2b0c2974","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        req \u003d MagicMock()"},{"line_number":62,"context_line":"        req.environ \u003d {}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        QUOTAS.get_all_quotas_by_tenant \u003d MagicMock(return_value\u003d{})"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        view \u003d limit_controller.index(req, \"test_tenant_id\")"},{"line_number":67,"context_line":"        expected \u003d {\u0027limits\u0027: [{\u0027verb\u0027: \u0027ABSOLUTE\u0027}]}"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_b2b9fd30","side":"PARENT","line":64,"in_reply_to":"5afe65bd_126d7f04","updated":"2015-06-02 13:35:35.000000000","message":"QUOTAS is referencing the module, and it was mocking out a function of that module without restoring it.","commit_id":"f092854b8d3ac841d8ef53792bcbff91a34b64ae"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"6277a24979d9873873e3855244067fcafcb06ef5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        req \u003d MagicMock()"},{"line_number":62,"context_line":"        req.environ \u003d {}"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        QUOTAS.get_all_quotas_by_tenant \u003d MagicMock(return_value\u003d{})"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        view \u003d limit_controller.index(req, \"test_tenant_id\")"},{"line_number":67,"context_line":"        expected \u003d {\u0027limits\u0027: [{\u0027verb\u0027: \u0027ABSOLUTE\u0027}]}"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_7231450b","side":"PARENT","line":64,"in_reply_to":"5afe65bd_b2b9fd30","updated":"2015-06-02 13:51:30.000000000","message":"But why did detector not detected this, thats my question :)","commit_id":"f092854b8d3ac841d8ef53792bcbff91a34b64ae"}]}
