)]}'
{"manila_ui/dashboards/project/share_snapshots/tables.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6928ab0802673a71c930cf6ecac836ce9c9759fe","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def allowed(self, request, share\u003dNone):"},{"line_number":59,"context_line":"        usages \u003d manila.tenant_absolute_limits(request)"},{"line_number":60,"context_line":"        available_snapshots \u003d (usages[\u0027maxTotalShareSnapshots\u0027] -"},{"line_number":61,"context_line":"                               usages[\u0027totalShareSnapshotsUsed\u0027])"},{"line_number":62,"context_line":"        if available_snapshots \u003c\u003d 0:"},{"line_number":63,"context_line":"            if \"disabled\" not in self.classes:"},{"line_number":64,"context_line":"                self.classes \u003d [c for c in self.classes] + [\u0027disabled\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_01286482","line":61,"range":{"start_line":60,"start_character":30,"end_line":61,"end_character":65},"updated":"2018-07-31 19:49:08.000000000","message":"and (usages[\u0027maxTotalSnapshotGigabytes\u0027] - usages[\u0027totalSnapshotGigabytesUsed\u0027])","commit_id":"6887aff802b6222f8ba8e47c553fab9d75be6efc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eb903f2aadb4f76c500693c1130c8d90f285244f","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def allowed(self, request, share\u003dNone):"},{"line_number":59,"context_line":"        usages \u003d manila.tenant_absolute_limits(request)"},{"line_number":60,"context_line":"        snapshots_allowed \u003d (usages[\u0027maxTotalShareSnapshots\u0027] -"},{"line_number":61,"context_line":"                             usages[\u0027totalShareSnapshotsUsed\u0027] and"},{"line_number":62,"context_line":"                             usages[\u0027maxTotalSnapshotGigabytes\u0027] -"},{"line_number":63,"context_line":"                             usages[\u0027totalSnapshotGigabytesUsed\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if snapshots_allowed \u003c\u003d 0:"},{"line_number":66,"context_line":"            if \"disabled\" not in self.classes:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_c9d901f2","line":63,"range":{"start_line":60,"start_character":28,"end_line":63,"end_character":66},"updated":"2018-08-02 21:51:41.000000000","message":"this is going to yield the larger of the two differences if one of them is negative\n\n.. that will make your condition on line 65 do the wrong thing, ex:\n\n  \u003e\u003e\u003e usages \u003d {\u0027maxTotalShareSnapshots\u0027: 2,\n  ...   \u0027totalShareSnapshotsUsed\u0027: 3,\n  ...   \u0027maxTotalSnapshotGigabytes\u0027: 1000,\n  ...   \u0027totalSnapshotGigabytesUsed\u0027: 50,\n  ... }\n\n  \u003e\u003e\u003e snapshots_allowed \u003d (usages[\u0027maxTotalShareSnapshots\u0027] -\n  ...   usages[\u0027totalShareSnapshotsUsed\u0027] and\n  ...   usages[\u0027maxTotalSnapshotGigabytes\u0027] -\n  ...   usages[\u0027totalSnapshotGigabytesUsed\u0027])\n  \u003e\u003e\u003e snapshots_allowed\n950\n\n\nmaybe we should do:\n\n snapshots_allowed \u003d (usages[\u0027maxTotalShareSnapshots\u0027] \u003e\n                             usages[\u0027totalShareSnapshotsUsed\u0027] and\n                             usages[\u0027maxTotalSnapshotGigabytes\u0027] \u003e\n                             usages[\u0027totalSnapshotGigabytesUsed\u0027])","commit_id":"a59dd88e9c97c994e648462835582b750ff46989"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9891b5772ab28f2a890ee95ab20f92abb27a0cc7","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def allowed(self, request, share\u003dNone):"},{"line_number":59,"context_line":"        usages \u003d manila.tenant_absolute_limits(request)"},{"line_number":60,"context_line":"        snapshots_allowed \u003d (usages[\u0027maxTotalShareSnapshots\u0027] -"},{"line_number":61,"context_line":"                             usages[\u0027totalShareSnapshotsUsed\u0027] and"},{"line_number":62,"context_line":"                             usages[\u0027maxTotalSnapshotGigabytes\u0027] -"},{"line_number":63,"context_line":"                             usages[\u0027totalSnapshotGigabytesUsed\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if snapshots_allowed \u003c\u003d 0:"},{"line_number":66,"context_line":"            if \"disabled\" not in self.classes:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_d8ebfba2","line":63,"range":{"start_line":60,"start_character":28,"end_line":63,"end_character":66},"in_reply_to":"5f7c97a3_667b2ef3","updated":"2018-08-03 08:54:36.000000000","message":"*and* operator just returns an indeterminstic non-zero value if given two non-zero integers.  I seem to get the last of the two values with my cpython 2.7 and 3.6 interpreters:\n\n\u003e\u003e\u003e -1 and 950\n950\n\u003e\u003e\u003e 950 and -1\n-1\n\u003e\u003e\u003e \n\nbut I think all that is required is that the interpreter return any old true value.\n\n\nSo I agree we should do explicit greater-than comparisons to get a boolean, then we can *and* those.","commit_id":"a59dd88e9c97c994e648462835582b750ff46989"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"1beb938313c5aef7d5fbc433323dc625d1295ec9","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def allowed(self, request, share\u003dNone):"},{"line_number":59,"context_line":"        usages \u003d manila.tenant_absolute_limits(request)"},{"line_number":60,"context_line":"        snapshots_allowed \u003d (usages[\u0027maxTotalShareSnapshots\u0027] -"},{"line_number":61,"context_line":"                             usages[\u0027totalShareSnapshotsUsed\u0027] and"},{"line_number":62,"context_line":"                             usages[\u0027maxTotalSnapshotGigabytes\u0027] -"},{"line_number":63,"context_line":"                             usages[\u0027totalSnapshotGigabytesUsed\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if snapshots_allowed \u003c\u003d 0:"},{"line_number":66,"context_line":"            if \"disabled\" not in self.classes:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_667b2ef3","line":63,"range":{"start_line":60,"start_character":28,"end_line":63,"end_character":66},"in_reply_to":"5f7c97a3_c9d901f2","updated":"2018-08-03 00:46:43.000000000","message":"I was positive I had s/-/\u003e/g, as you said the current control won\u0027t work. Fixing it.","commit_id":"a59dd88e9c97c994e648462835582b750ff46989"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eb903f2aadb4f76c500693c1130c8d90f285244f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                             usages[\u0027maxTotalSnapshotGigabytes\u0027] -"},{"line_number":63,"context_line":"                             usages[\u0027totalSnapshotGigabytesUsed\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if snapshots_allowed \u003c\u003d 0:"},{"line_number":66,"context_line":"            if \"disabled\" not in self.classes:"},{"line_number":67,"context_line":"                self.classes \u003d [c for c in self.classes] + [\u0027disabled\u0027]"},{"line_number":68,"context_line":"                self.verbose_name \u003d string_concat("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_8871ba16","line":65,"range":{"start_line":65,"start_character":8,"end_line":65,"end_character":33},"updated":"2018-08-02 21:51:41.000000000","message":"if snapshots_allowed, if you change to \u003e","commit_id":"a59dd88e9c97c994e648462835582b750ff46989"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2d1699bd2725aff6b5f84b103c0f30a4e597f7a8","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                             usages[\u0027maxTotalSnapshotGigabytes\u0027] \u003e"},{"line_number":63,"context_line":"                             usages[\u0027totalSnapshotGigabytesUsed\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if snapshots_allowed:"},{"line_number":66,"context_line":"            if \"disabled\" not in self.classes:"},{"line_number":67,"context_line":"                self.classes \u003d [c for c in self.classes] + [\u0027disabled\u0027]"},{"line_number":68,"context_line":"                self.verbose_name \u003d string_concat("}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_94b7a43b","line":65,"range":{"start_line":65,"start_character":0,"end_line":65,"end_character":29},"updated":"2018-08-03 16:31:04.000000000","message":"if not snapshots_allowed:","commit_id":"3e69f5b425be5f0b49522bd2467ba58031fc8c40"}],"manila_ui/dashboards/project/shares/tables.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6928ab0802673a71c930cf6ecac836ce9c9759fe","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def allowed(self, request, share\u003dNone):"},{"line_number":89,"context_line":"        usages \u003d manila.tenant_absolute_limits(request)"},{"line_number":90,"context_line":"        available_shares \u003d usages[\u0027maxTotalShares\u0027] - usages[\u0027totalSharesUsed\u0027]"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        if available_shares \u003c\u003d 0:"},{"line_number":93,"context_line":"            if \"disabled\" not in self.classes:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_a11ad067","line":90,"range":{"start_line":90,"start_character":8,"end_line":90,"end_character":24},"updated":"2018-07-31 19:49:08.000000000","message":"shares_allowed","commit_id":"6887aff802b6222f8ba8e47c553fab9d75be6efc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6928ab0802673a71c930cf6ecac836ce9c9759fe","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        usages \u003d manila.tenant_absolute_limits(request)"},{"line_number":90,"context_line":"        available_shares \u003d usages[\u0027maxTotalShares\u0027] - usages[\u0027totalSharesUsed\u0027]"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        if available_shares \u003c\u003d 0:"},{"line_number":93,"context_line":"            if \"disabled\" not in self.classes:"},{"line_number":94,"context_line":"                self.classes \u003d [c for c in self.classes] + [\u0027disabled\u0027]"},{"line_number":95,"context_line":"                self.verbose_name \u003d string_concat(self.verbose_name, \u0027 \u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_212ec08c","line":92,"range":{"start_line":92,"start_character":32,"end_line":92,"end_character":33},"updated":"2018-07-31 19:49:08.000000000","message":"and usages[\u0027maxTotalShareGigabytes\u0027] - usages[\u0027totalShareGigabytesUsed\u0027]","commit_id":"6887aff802b6222f8ba8e47c553fab9d75be6efc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eb903f2aadb4f76c500693c1130c8d90f285244f","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def allowed(self, request, share\u003dNone):"},{"line_number":89,"context_line":"        usages \u003d manila.tenant_absolute_limits(request)"},{"line_number":90,"context_line":"        shares_allowed \u003d (usages[\u0027maxTotalShares\u0027] -"},{"line_number":91,"context_line":"                          usages[\u0027totalSharesUsed\u0027] and"},{"line_number":92,"context_line":"                          usages[\u0027maxTotalShareGigabytes\u0027] -"},{"line_number":93,"context_line":"                          usages[\u0027totalShareGigabytesUsed\u0027])"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        if shares_allowed \u003c\u003d 0:"},{"line_number":96,"context_line":"            if \"disabled\" not in self.classes:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_487ba2f2","line":93,"range":{"start_line":90,"start_character":25,"end_line":93,"end_character":60},"updated":"2018-08-02 21:51:41.000000000","message":"same concern","commit_id":"a59dd88e9c97c994e648462835582b750ff46989"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"0c718b70bef2d5889059fe7f14788465ab68d520","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def allowed(self, request, share\u003dNone):"},{"line_number":89,"context_line":"        usages \u003d manila.tenant_absolute_limits(request)"},{"line_number":90,"context_line":"        shares_allowed \u003d (usages[\u0027maxTotalShares\u0027] \u003e\u003d"},{"line_number":91,"context_line":"                          usages[\u0027totalSharesUsed\u0027] and"},{"line_number":92,"context_line":"                          usages[\u0027maxTotalShareGigabytes\u0027] \u003e\u003d"},{"line_number":93,"context_line":"                          usages[\u0027totalShareGigabytesUsed\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_181ad318","line":90,"range":{"start_line":90,"start_character":50,"end_line":90,"end_character":53},"updated":"2018-08-03 08:41:31.000000000","message":"Don\u0027t we need greater-than rather than greater-than-or-equal-to?  If the maximum and the amount used are equal, then there\u0027s not one still available to use for this creation, right?","commit_id":"40f8ded0c21ce7dda3126877e11dea89395dd6db"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2d1699bd2725aff6b5f84b103c0f30a4e597f7a8","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                          usages[\u0027maxTotalShareGigabytes\u0027] \u003e"},{"line_number":93,"context_line":"                          usages[\u0027totalShareGigabytesUsed\u0027])"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        if shares_allowed:"},{"line_number":96,"context_line":"            if \"disabled\" not in self.classes:"},{"line_number":97,"context_line":"                self.classes \u003d [c for c in self.classes] + [\u0027disabled\u0027]"},{"line_number":98,"context_line":"                self.verbose_name \u003d string_concat(self.verbose_name, \u0027 \u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_549a6cc5","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":26},"updated":"2018-08-03 16:31:04.000000000","message":"oops :)\n\nif not shares_allowed:","commit_id":"3e69f5b425be5f0b49522bd2467ba58031fc8c40"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"57af527034ab491dbe894bd0135aa68eb137138a","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            self.verbose_name \u003d _(\"Create Share\")"},{"line_number":98,"context_line":"            classes \u003d [c for c in self.classes if c !\u003d \"disabled\"]"},{"line_number":99,"context_line":"            self.classes \u003d classes"},{"line_number":100,"context_line":"        return True"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"class EditShare(tables.LinkAction):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_c7b54cf0","side":"PARENT","line":100,"range":{"start_line":100,"start_character":0,"end_line":100,"end_character":19},"updated":"2018-08-06 20:56:18.000000000","message":"This should remain, else the button will not show up.","commit_id":"e89a96d412c6059de397eed3223f19968e45fd4a"}],"manila_ui/tests/dashboards/admin/shares/tests.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7f2af350eec9637ea9525031bafc3ea86d857a80","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self.mock_object("},{"line_number":52,"context_line":"            api_manila, \"share_snapshot_list\", mock.Mock(return_value\u003dsnaps))"},{"line_number":53,"context_line":"        self.mock_object("},{"line_number":54,"context_line":"            api_neutron, \"is_service_enabled\", mock.Mock(return_value\u003d[True]))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        res \u003d self.client.get(INDEX_URL)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_7d2c2b99","line":54,"range":{"start_line":54,"start_character":77,"end_line":54,"end_character":78},"updated":"2018-08-03 19:45:49.000000000","message":"the current call to get limits/usage can be mocked here and tested to be called","commit_id":"52cd07f240e5eba4c77a9811a48436d6053bc894"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"4fefd6045f204bb049f47f0f9b70fd4652080ca4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self.mock_object("},{"line_number":52,"context_line":"            api_manila, \"share_snapshot_list\", mock.Mock(return_value\u003dsnaps))"},{"line_number":53,"context_line":"        self.mock_object("},{"line_number":54,"context_line":"            api_neutron, \"is_service_enabled\", mock.Mock(return_value\u003d[True]))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        res \u003d self.client.get(INDEX_URL)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_4e189780","line":54,"range":{"start_line":54,"start_character":77,"end_line":54,"end_character":78},"in_reply_to":"3f79a3b5_7d2c2b99","updated":"2018-08-04 00:32:34.000000000","message":"Done","commit_id":"52cd07f240e5eba4c77a9811a48436d6053bc894"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"00aa0168d9d7942338eae59dc968f1e37ffa78c6","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.mock_object("},{"line_number":55,"context_line":"            api_neutron, \"is_service_enabled\", mock.Mock(return_value\u003d[True]))"},{"line_number":56,"context_line":"        self.mock_object("},{"line_number":57,"context_line":"            api_manila, \"tenant_absolute_limits\","},{"line_number":58,"context_line":"            mock.Mock(return_value\u003dusage_limit))"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        res \u003d self.client.get(INDEX_URL)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_c1b1bce3","line":57,"range":{"start_line":57,"start_character":25,"end_line":57,"end_character":47},"updated":"2018-08-06 18:57:57.000000000","message":"assert that this was called..","commit_id":"488475cfbb3ef0bf6e36489383cc70694f69beb8"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"79f470077d2ff85a87b12644715b49ebe204d9e7","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.mock_object("},{"line_number":55,"context_line":"            api_neutron, \"is_service_enabled\", mock.Mock(return_value\u003d[True]))"},{"line_number":56,"context_line":"        self.mock_object("},{"line_number":57,"context_line":"            api_manila, \"tenant_absolute_limits\","},{"line_number":58,"context_line":"            mock.Mock(return_value\u003dusage_limit))"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        res \u003d self.client.get(INDEX_URL)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_cc6fb3c3","line":57,"range":{"start_line":57,"start_character":25,"end_line":57,"end_character":47},"in_reply_to":"3f79a3b5_c1b1bce3","updated":"2018-08-06 19:24:26.000000000","message":"Done","commit_id":"488475cfbb3ef0bf6e36489383cc70694f69beb8"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"cad023171c6e2d31b54e9dbe39e0eb2209fe311c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.mock_object("},{"line_number":55,"context_line":"            api_neutron, \"is_service_enabled\", mock.Mock(return_value\u003d[True]))"},{"line_number":56,"context_line":"        self.mock_object("},{"line_number":57,"context_line":"            api_manila, \"tenant_absolute_limits\","},{"line_number":58,"context_line":"            mock.Mock(return_value\u003dusage_limit))"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        res \u003d self.client.get(INDEX_URL)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_8c5f7b40","line":57,"range":{"start_line":57,"start_character":25,"end_line":57,"end_character":47},"in_reply_to":"3f79a3b5_cc6fb3c3","updated":"2018-08-06 20:17:25.000000000","message":"Ok, we should mock tenant_absolute_limits and assert it was called in the tests for the project, not for the admin. Adding it there.","commit_id":"488475cfbb3ef0bf6e36489383cc70694f69beb8"}],"manila_ui/tests/dashboards/project/share_snapshots/test_tables.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7f2af350eec9637ea9525031bafc3ea86d857a80","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @ddt.data(True, False)"},{"line_number":40,"context_line":"    def test_allowed_with_snapshot_support_attr(self, snapshot_support):"},{"line_number":41,"context_line":"        usage_limit \u003d {\u0027totalShareSnapshotsUsed\u0027: 1,"},{"line_number":42,"context_line":"                       \u0027maxTotalShareSnapshots\u0027: 2,"},{"line_number":43,"context_line":"                       \u0027totalSnapshotGigabytesUsed\u0027: 1,"},{"line_number":44,"context_line":"                       \u0027maxTotalSnapshotGigabytes\u0027: 2}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        self.mock_object("},{"line_number":47,"context_line":"            api_manila, \"tenant_absolute_limits\","}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_bd3163ef","line":44,"range":{"start_line":41,"start_character":8,"end_line":44,"end_character":54},"updated":"2018-08-03 19:45:49.000000000","message":"can we add a negative test here? also PS#6 should have failed because with these numbers, allowed becomes False.","commit_id":"52cd07f240e5eba4c77a9811a48436d6053bc894"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"4fefd6045f204bb049f47f0f9b70fd4652080ca4","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @ddt.data(True, False)"},{"line_number":40,"context_line":"    def test_allowed_with_snapshot_support_attr(self, snapshot_support):"},{"line_number":41,"context_line":"        usage_limit \u003d {\u0027totalShareSnapshotsUsed\u0027: 1,"},{"line_number":42,"context_line":"                       \u0027maxTotalShareSnapshots\u0027: 2,"},{"line_number":43,"context_line":"                       \u0027totalSnapshotGigabytesUsed\u0027: 1,"},{"line_number":44,"context_line":"                       \u0027maxTotalSnapshotGigabytes\u0027: 2}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        self.mock_object("},{"line_number":47,"context_line":"            api_manila, \"tenant_absolute_limits\","}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_e9115d55","line":44,"range":{"start_line":41,"start_character":8,"end_line":44,"end_character":54},"in_reply_to":"3f79a3b5_bd3163ef","updated":"2018-08-04 00:32:34.000000000","message":"Sure, let\u0027s add a negative one. No, it\u0027s ok it passed since the control of the snapshot support attr comes after the quota control. So, is snapshot_support \u003d\u003d true, result \u003d\u003d true, if snapshot_support \u003d\u003d false, result \u003d\u003d false.","commit_id":"52cd07f240e5eba4c77a9811a48436d6053bc894"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"00aa0168d9d7942338eae59dc968f1e37ffa78c6","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        self.mock_object("},{"line_number":66,"context_line":"            api_manila, \"tenant_absolute_limits\","},{"line_number":67,"context_line":"            mock.Mock(return_value\u003dtest_data.limits_negative))"},{"line_number":68,"context_line":"        self.mock_object(api_manila, \"share_replica_delete\")"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        share \u003d self._get_fake_share()"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_41c5ac3b","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":60},"updated":"2018-08-06 18:57:57.000000000","message":"not needed?","commit_id":"488475cfbb3ef0bf6e36489383cc70694f69beb8"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"79f470077d2ff85a87b12644715b49ebe204d9e7","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        self.mock_object("},{"line_number":66,"context_line":"            api_manila, \"tenant_absolute_limits\","},{"line_number":67,"context_line":"            mock.Mock(return_value\u003dtest_data.limits_negative))"},{"line_number":68,"context_line":"        self.mock_object(api_manila, \"share_replica_delete\")"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        share \u003d self._get_fake_share()"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_ec5b8f2b","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":60},"in_reply_to":"3f79a3b5_41c5ac3b","updated":"2018-08-06 19:24:26.000000000","message":"Oops, not needed no","commit_id":"488475cfbb3ef0bf6e36489383cc70694f69beb8"}]}
