)]}'
{"nova/tests/unit/test_utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7acfb04f81c9aed7c9f1432e318ea59bd2558590","unresolved":false,"context_lines":[{"line_number":1329,"context_line":"        self.mock_conf \u003d self.useFixture(fixtures.MockPatch("},{"line_number":1330,"context_line":"            \u0027nova.utils.CONF\u0027)).mock"},{"line_number":1331,"context_line":""},{"line_number":1332,"context_line":"    def test_get_sdk_adapter(self):"},{"line_number":1333,"context_line":"        actual \u003d utils.get_sdk_adapter(self.service_type)"},{"line_number":1334,"context_line":""},{"line_number":1335,"context_line":"        self.assertEqual(actual, mock.sentinel.proxy)"},{"line_number":1336,"context_line":"        self.mock_get_confgrp.assert_called_once_with(self.service_type)"},{"line_number":1337,"context_line":"        self.mock_get_auth_sess.assert_called_once_with("},{"line_number":1338,"context_line":"            self.mock_get_confgrp.return_value)"},{"line_number":1339,"context_line":"        self.mock_connection.assert_called_once_with("},{"line_number":1340,"context_line":"            session\u003dmock.sentinel.session, oslo_conf\u003dself.mock_conf,"},{"line_number":1341,"context_line":"            service_types\u003d{\u0027test_service\u0027}, strict_proxies\u003dFalse)"},{"line_number":1342,"context_line":""},{"line_number":1343,"context_line":"    def test_get_sdk_adapter_strict(self):"},{"line_number":1344,"context_line":"        actual \u003d utils.get_sdk_adapter(self.service_type, check_service\u003dTrue)"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"        self.assertEqual(actual, mock.sentinel.proxy)"},{"line_number":1347,"context_line":"        self.mock_get_confgrp.assert_called_once_with(self.service_type)"},{"line_number":1348,"context_line":"        self.mock_get_auth_sess.assert_called_once_with("},{"line_number":1349,"context_line":"            self.mock_get_confgrp.return_value)"},{"line_number":1350,"context_line":"        self.mock_connection.assert_called_once_with("},{"line_number":1351,"context_line":"            session\u003dmock.sentinel.session, oslo_conf\u003dself.mock_conf,"},{"line_number":1352,"context_line":"            service_types\u003d{\u0027test_service\u0027}, strict_proxies\u003dTrue)"},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"    def test_get_sdk_adapter_conf_group_fail(self):"},{"line_number":1355,"context_line":"        self.mock_get_confgrp.side_effect \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_da35c346","line":1352,"range":{"start_line":1332,"start_character":0,"end_line":1352,"end_character":64},"updated":"2019-08-29 12:27:08.000000000","message":"nit: The two of these could be combined, right?\n\n  def _test_get_sdk_adapter(self, strict):\n      utils.get_sdk_adapter(self.service_type, check_service\u003dstrict)\n\n      ...\n      self.mock_connection.assert_called_once_with(\n          session\u003dmock.sentinel.session, oslo_conf\u003dself.mock_conf,\n          service_types\u003d{\u0027test_service\u0027}, strict_proxies\u003dstrict)\n\n  def test_get_sdk_adapter(self):\n      self._test_get_sdk_adapter(strict\u003dFalse)\n\n  def test_get_sdk_adapter_strict(self):\n      self._test_get_sdk_adapter(strict\u003dTrue)","commit_id":"5519a069b0b8300c7ccba437d64123d8f380857c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"516f77d63fe9f29006d0bf9bdd27815ef7c2cf70","unresolved":false,"context_lines":[{"line_number":1329,"context_line":"        self.mock_conf \u003d self.useFixture(fixtures.MockPatch("},{"line_number":1330,"context_line":"            \u0027nova.utils.CONF\u0027)).mock"},{"line_number":1331,"context_line":""},{"line_number":1332,"context_line":"    def test_get_sdk_adapter(self):"},{"line_number":1333,"context_line":"        actual \u003d utils.get_sdk_adapter(self.service_type)"},{"line_number":1334,"context_line":""},{"line_number":1335,"context_line":"        self.assertEqual(actual, mock.sentinel.proxy)"},{"line_number":1336,"context_line":"        self.mock_get_confgrp.assert_called_once_with(self.service_type)"},{"line_number":1337,"context_line":"        self.mock_get_auth_sess.assert_called_once_with("},{"line_number":1338,"context_line":"            self.mock_get_confgrp.return_value)"},{"line_number":1339,"context_line":"        self.mock_connection.assert_called_once_with("},{"line_number":1340,"context_line":"            session\u003dmock.sentinel.session, oslo_conf\u003dself.mock_conf,"},{"line_number":1341,"context_line":"            service_types\u003d{\u0027test_service\u0027}, strict_proxies\u003dFalse)"},{"line_number":1342,"context_line":""},{"line_number":1343,"context_line":"    def test_get_sdk_adapter_strict(self):"},{"line_number":1344,"context_line":"        actual \u003d utils.get_sdk_adapter(self.service_type, check_service\u003dTrue)"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"        self.assertEqual(actual, mock.sentinel.proxy)"},{"line_number":1347,"context_line":"        self.mock_get_confgrp.assert_called_once_with(self.service_type)"},{"line_number":1348,"context_line":"        self.mock_get_auth_sess.assert_called_once_with("},{"line_number":1349,"context_line":"            self.mock_get_confgrp.return_value)"},{"line_number":1350,"context_line":"        self.mock_connection.assert_called_once_with("},{"line_number":1351,"context_line":"            session\u003dmock.sentinel.session, oslo_conf\u003dself.mock_conf,"},{"line_number":1352,"context_line":"            service_types\u003d{\u0027test_service\u0027}, strict_proxies\u003dTrue)"},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"    def test_get_sdk_adapter_conf_group_fail(self):"},{"line_number":1355,"context_line":"        self.mock_get_confgrp.side_effect \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_dd929afc","line":1352,"range":{"start_line":1332,"start_character":0,"end_line":1352,"end_character":64},"in_reply_to":"7faddb67_7d760642","updated":"2019-08-29 15:13:14.000000000","message":"Done in https://review.opendev.org/679288","commit_id":"5519a069b0b8300c7ccba437d64123d8f380857c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"6cf6001d3e2429029ec0d9c79b01d7d53ae12642","unresolved":false,"context_lines":[{"line_number":1329,"context_line":"        self.mock_conf \u003d self.useFixture(fixtures.MockPatch("},{"line_number":1330,"context_line":"            \u0027nova.utils.CONF\u0027)).mock"},{"line_number":1331,"context_line":""},{"line_number":1332,"context_line":"    def test_get_sdk_adapter(self):"},{"line_number":1333,"context_line":"        actual \u003d utils.get_sdk_adapter(self.service_type)"},{"line_number":1334,"context_line":""},{"line_number":1335,"context_line":"        self.assertEqual(actual, mock.sentinel.proxy)"},{"line_number":1336,"context_line":"        self.mock_get_confgrp.assert_called_once_with(self.service_type)"},{"line_number":1337,"context_line":"        self.mock_get_auth_sess.assert_called_once_with("},{"line_number":1338,"context_line":"            self.mock_get_confgrp.return_value)"},{"line_number":1339,"context_line":"        self.mock_connection.assert_called_once_with("},{"line_number":1340,"context_line":"            session\u003dmock.sentinel.session, oslo_conf\u003dself.mock_conf,"},{"line_number":1341,"context_line":"            service_types\u003d{\u0027test_service\u0027}, strict_proxies\u003dFalse)"},{"line_number":1342,"context_line":""},{"line_number":1343,"context_line":"    def test_get_sdk_adapter_strict(self):"},{"line_number":1344,"context_line":"        actual \u003d utils.get_sdk_adapter(self.service_type, check_service\u003dTrue)"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"        self.assertEqual(actual, mock.sentinel.proxy)"},{"line_number":1347,"context_line":"        self.mock_get_confgrp.assert_called_once_with(self.service_type)"},{"line_number":1348,"context_line":"        self.mock_get_auth_sess.assert_called_once_with("},{"line_number":1349,"context_line":"            self.mock_get_confgrp.return_value)"},{"line_number":1350,"context_line":"        self.mock_connection.assert_called_once_with("},{"line_number":1351,"context_line":"            session\u003dmock.sentinel.session, oslo_conf\u003dself.mock_conf,"},{"line_number":1352,"context_line":"            service_types\u003d{\u0027test_service\u0027}, strict_proxies\u003dTrue)"},{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"    def test_get_sdk_adapter_conf_group_fail(self):"},{"line_number":1355,"context_line":"        self.mock_get_confgrp.side_effect \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_7d760642","line":1352,"range":{"start_line":1332,"start_character":0,"end_line":1352,"end_character":64},"in_reply_to":"7faddb67_da35c346","updated":"2019-08-29 15:05:08.000000000","message":"Yup, will fup","commit_id":"5519a069b0b8300c7ccba437d64123d8f380857c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"516f77d63fe9f29006d0bf9bdd27815ef7c2cf70","unresolved":false,"context_lines":[{"line_number":1361,"context_line":"        self.mock_connection.assert_not_called()"},{"line_number":1362,"context_line":"        self.mock_get_auth_sess.assert_not_called()"},{"line_number":1363,"context_line":""},{"line_number":1364,"context_line":"    def test_get_sdk_adapter_strict_fail(self):"},{"line_number":1365,"context_line":"        self.mock_connection.side_effect \u003d sdk_exc.ServiceDiscoveryException()"},{"line_number":1366,"context_line":""},{"line_number":1367,"context_line":"        self.assertRaises("},{"line_number":1368,"context_line":"            exception.ServiceUnavailable,"},{"line_number":1369,"context_line":"            utils.get_sdk_adapter, self.service_type, check_service\u003dTrue)"},{"line_number":1370,"context_line":"        self.mock_get_confgrp.assert_called_once_with(self.service_type)"},{"line_number":1371,"context_line":"        self.mock_get_auth_sess.assert_called_once_with("},{"line_number":1372,"context_line":"            self.mock_get_confgrp.return_value)"},{"line_number":1373,"context_line":"        self.mock_connection.assert_called_once_with("},{"line_number":1374,"context_line":"            session\u003dmock.sentinel.session, oslo_conf\u003dself.mock_conf,"},{"line_number":1375,"context_line":"            service_types\u003d{\u0027test_service\u0027}, strict_proxies\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_fd9516e4","line":1375,"range":{"start_line":1364,"start_character":0,"end_line":1375,"end_character":64},"updated":"2019-08-29 15:13:14.000000000","message":"this one too","commit_id":"5519a069b0b8300c7ccba437d64123d8f380857c"}],"nova/utils.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b4cdf6965d32a47a741ada619c8c63a2344035e8","unresolved":false,"context_lines":[{"line_number":1034,"context_line":"            strict_proxies\u003dcheck_service)"},{"line_number":1035,"context_line":"    except sdk_exc.ServiceDiscoveryException as e:"},{"line_number":1036,"context_line":"        raise exception.ServiceUnavailable("},{"line_number":1037,"context_line":"            _(\"The %(service_type)s service is unavailable: %(error)s\") %"},{"line_number":1038,"context_line":"            {\u0027service_type\u0027: service_type, \u0027error\u0027: six.text_type(e)})"},{"line_number":1039,"context_line":"    return getattr(conn, service_type)"},{"line_number":1040,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_76ddea11","line":1037,"range":{"start_line":1037,"start_character":12,"end_line":1037,"end_character":14},"updated":"2019-08-27 20:32:10.000000000","message":"Why don\u0027t we use _LE for this error message instead of _?","commit_id":"5519a069b0b8300c7ccba437d64123d8f380857c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e1333e743b23f9fec2c8d52219cbd4810074c38b","unresolved":false,"context_lines":[{"line_number":1034,"context_line":"            strict_proxies\u003dcheck_service)"},{"line_number":1035,"context_line":"    except sdk_exc.ServiceDiscoveryException as e:"},{"line_number":1036,"context_line":"        raise exception.ServiceUnavailable("},{"line_number":1037,"context_line":"            _(\"The %(service_type)s service is unavailable: %(error)s\") %"},{"line_number":1038,"context_line":"            {\u0027service_type\u0027: service_type, \u0027error\u0027: six.text_type(e)})"},{"line_number":1039,"context_line":"    return getattr(conn, service_type)"},{"line_number":1040,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_3c298288","line":1037,"range":{"start_line":1037,"start_character":12,"end_line":1037,"end_character":14},"in_reply_to":"7faddb67_711414a0","updated":"2019-08-28 17:43:54.000000000","message":"Ah, that is right.\nhttps://github.com/openstack/nova/blob/master/doc/source/reference/i18n.rst#internationalization says we should not use _LE and should use _ for translating.","commit_id":"5519a069b0b8300c7ccba437d64123d8f380857c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"043c80c1794f7f8ef1f0c7cc615f40f6c1e86782","unresolved":false,"context_lines":[{"line_number":1034,"context_line":"            strict_proxies\u003dcheck_service)"},{"line_number":1035,"context_line":"    except sdk_exc.ServiceDiscoveryException as e:"},{"line_number":1036,"context_line":"        raise exception.ServiceUnavailable("},{"line_number":1037,"context_line":"            _(\"The %(service_type)s service is unavailable: %(error)s\") %"},{"line_number":1038,"context_line":"            {\u0027service_type\u0027: service_type, \u0027error\u0027: six.text_type(e)})"},{"line_number":1039,"context_line":"    return getattr(conn, service_type)"},{"line_number":1040,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_711414a0","line":1037,"range":{"start_line":1037,"start_character":12,"end_line":1037,"end_character":14},"in_reply_to":"7faddb67_76ddea11","updated":"2019-08-27 21:15:14.000000000","message":"_LE is for LOG.error. (Or rather, it was -- we don\u0027t translate log messages anymore.)","commit_id":"5519a069b0b8300c7ccba437d64123d8f380857c"}]}
