)]}'
{"openstack/compute/v2/flavor.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"0172631a67bad862163bdb8ec3e0b7b0f427827e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    service \u003d compute_service.ComputeService()"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    # capabilities"},{"line_number":24,"context_line":"    allow_create \u003d True"},{"line_number":25,"context_line":"    allow_retrieve \u003d True"},{"line_number":26,"context_line":"    allow_update \u003d True"},{"line_number":27,"context_line":"    allow_delete \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_c1845dd6","side":"PARENT","line":24,"updated":"2015-02-23 10:54:31.000000000","message":"create, update and delete are in the extensions","commit_id":"b820ab1b5fcd8e1af62a351f7773b79b6d8663dd"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"57e0e0eeafd86a77b596dea747050e94b6f4fe58","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    service \u003d compute_service.ComputeService()"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    # capabilities"},{"line_number":24,"context_line":"    allow_create \u003d True"},{"line_number":25,"context_line":"    allow_retrieve \u003d True"},{"line_number":26,"context_line":"    allow_update \u003d True"},{"line_number":27,"context_line":"    allow_delete \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_eb585b58","side":"PARENT","line":24,"in_reply_to":"ba7be1f8_c1845dd6","updated":"2015-02-23 14:26:29.000000000","message":"Adding them back","commit_id":"b820ab1b5fcd8e1af62a351f7773b79b6d8663dd"}],"openstack/tests/compute/v2/test_proxy.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"0172631a67bad862163bdb8ec3e0b7b0f427827e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        result \u003d self.proxy.list_flavors(details\u003ddetails)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        mock_list.assert_called_once_with(self.session, paginate\u003dFalse)"},{"line_number":47,"context_line":"        self.assertEqual(expected_result, result)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @mock.patch(\u0027openstack.compute.v2.flavor.Flavor.list\u0027)"},{"line_number":50,"context_line":"    def test_flavor_list_basic(self, mock_list):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_bc0a2e1f","line":47,"updated":"2015-02-23 10:54:31.000000000","message":"it looks like the _verify method has method_args, if that was exposed in _verify_list we wouldn\u0027t need this special code.","commit_id":"d125c3062e77193591931639c2cd361d9cef5217"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"3538298efec160b9db5974acfe7cd7db65e57025","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        result \u003d self.proxy.list_flavors(details\u003ddetails)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        mock_list.assert_called_once_with(self.session, paginate\u003dFalse)"},{"line_number":47,"context_line":"        self.assertEqual(expected_result, result)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @mock.patch(\u0027openstack.compute.v2.flavor.Flavor.list\u0027)"},{"line_number":50,"context_line":"    def test_flavor_list_basic(self, mock_list):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_712a982d","line":47,"in_reply_to":"ba7be1f8_11387c9f","updated":"2015-02-23 14:29:31.000000000","message":"Eh, that explanation is not correct, but we still have two sets of things to assert between method and expected. details affects what type is returned, but paginate\u003dFalse will always happen with the Flavor/FlavorDetail calls.","commit_id":"d125c3062e77193591931639c2cd361d9cef5217"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"57e0e0eeafd86a77b596dea747050e94b6f4fe58","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        result \u003d self.proxy.list_flavors(details\u003ddetails)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        mock_list.assert_called_once_with(self.session, paginate\u003dFalse)"},{"line_number":47,"context_line":"        self.assertEqual(expected_result, result)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @mock.patch(\u0027openstack.compute.v2.flavor.Flavor.list\u0027)"},{"line_number":50,"context_line":"    def test_flavor_list_basic(self, mock_list):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_11387c9f","line":47,"in_reply_to":"ba7be1f8_bc0a2e1f","updated":"2015-02-23 14:26:29.000000000","message":"I tried this at first but it\u0027ll require a bunch of work to build up that _verify. We need both method_args and method_kwargs since list takes details\u003dbool. We then additionally need expected_args and expected_kwargs, because we turn that into paginate\u003dbool going into the list call, and we\u0027re going to end up having more of those indirections anyway.","commit_id":"d125c3062e77193591931639c2cd361d9cef5217"}]}
