)]}'
{"tests/unit/plugins/openstack/scenarios/neutron/test_utils.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"c123ef9419642f56a68968acd3090638dd82e633","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        result_network \u003d scenario._update_network(network, network_update_args)"},{"line_number":99,"context_line":"        self.clients(\"neutron\").update_network.assert_called_once_with("},{"line_number":100,"context_line":"            network[\"network\"][\"id\"], expected_network)"},{"line_number":101,"context_line":"        self.assertEqual(result_network, expected_network)"},{"line_number":102,"context_line":"        self._test_atomic_action_timer(scenario.atomic_actions(),"},{"line_number":103,"context_line":"                                       \"neutron.update_network\")"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_4109c4dc","line":101,"updated":"2015-08-08 08:04:34.000000000","message":"swap please result_network and expected_network parameters","commit_id":"9cf3fe6388c36c09387ea277e57dd716dabfe4fd"},{"author":{"_account_id":14884,"name":"Kiran Ranganath","email":"kiran7193@gmail.com","username":"kiran"},"change_message_id":"4aef554d68ef57ec02839ed388d19b053457aab9","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        result_network \u003d scenario._update_network(network, network_update_args)"},{"line_number":99,"context_line":"        self.clients(\"neutron\").update_network.assert_called_once_with("},{"line_number":100,"context_line":"            network[\"network\"][\"id\"], expected_network)"},{"line_number":101,"context_line":"        self.assertEqual(result_network, expected_network)"},{"line_number":102,"context_line":"        self._test_atomic_action_timer(scenario.atomic_actions(),"},{"line_number":103,"context_line":"                                       \"neutron.update_network\")"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_79f27071","line":101,"in_reply_to":"1a4dcd0f_4109c4dc","updated":"2015-08-08 18:11:19.000000000","message":"Will do it","commit_id":"9cf3fe6388c36c09387ea277e57dd716dabfe4fd"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"724161b3289f4081d97585dd096de9bd8ed19e18","unresolved":false,"context_lines":[{"line_number":366,"context_line":""},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"@ddt.ddt"},{"line_number":369,"context_line":"class NeutronUtilsTestCase(test.ScenarioTestCase):"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def setUp(self):"},{"line_number":372,"context_line":"        super(NeutronUtilsTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_50d07553","line":369,"updated":"2015-08-10 16:13:13.000000000","message":"There is no NeutronUtils class in rally.plugins.openstack.scenarios.neutron.utils, there is NeutronScenario only","commit_id":"99bcef8926b2bc044e7329c968ea999047d13324"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"5631d2238c32a36a6765301f3990d40303c82db8","unresolved":false,"context_lines":[{"line_number":369,"context_line":"class NeutronUtilsTestCase(test.ScenarioTestCase):"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def setUp(self):"},{"line_number":372,"context_line":"        super(NeutronUtilsTestCase, self).setUp()"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    @ddt.data("},{"line_number":375,"context_line":"        {},"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_901a7d16","line":372,"updated":"2015-08-10 16:16:31.000000000","message":"This does nothing, remove this method until it initializes something special","commit_id":"99bcef8926b2bc044e7329c968ea999047d13324"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"4b7232ea1ca6bfe7c079ea94a6fc97c96f19857e","unresolved":false,"context_lines":[{"line_number":369,"context_line":"class NeutronUtilsTestCase(test.ScenarioTestCase):"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def setUp(self):"},{"line_number":372,"context_line":"        super(NeutronUtilsTestCase, self).setUp()"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    @ddt.data("},{"line_number":375,"context_line":"        {},"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_f020a1b2","line":372,"in_reply_to":"1a4dcd0f_901a7d16","updated":"2015-08-10 16:29:05.000000000","message":"Better: keep this method and initialize self.scenario here:\n\n  def setUp(self):\n    super(NeutronUtilsTestCase, self).setUp()\n    self.scenario \u003d utils.NeutronScenario()\n    self.scenario._generate_random_name \u003d mock.Mock()","commit_id":"99bcef8926b2bc044e7329c968ea999047d13324"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"437709fc073c8a1e5132ec2022b9d2873fff0a59","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        super(NeutronUtilsTestCase, self).setUp()"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    @ddt.data("},{"line_number":375,"context_line":"        {},"},{"line_number":376,"context_line":"        {\"network_update_args\": {}},"},{"line_number":377,"context_line":"        {\"network_update_args\": {\"name\": \"name_updated\"}},"},{"line_number":378,"context_line":"        {\"network_update_args\": {\"admin_state_up\": False}},"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_b0ed39b9","line":375,"updated":"2015-08-10 16:21:59.000000000","message":"remove this, since it does not contain \"network_update_args\"","commit_id":"99bcef8926b2bc044e7329c968ea999047d13324"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"437709fc073c8a1e5132ec2022b9d2873fff0a59","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        {\"network_update_args\": {\"admin_state_up\": False}},"},{"line_number":379,"context_line":"    )"},{"line_number":380,"context_line":"    @ddt.unpack"},{"line_number":381,"context_line":"    def test_update_network(self, network_update_args\u003dNone):"},{"line_number":382,"context_line":"        scenario \u003d utils.NeutronScenario()"},{"line_number":383,"context_line":"        scenario._generate_random_name \u003d mock.Mock()"},{"line_number":384,"context_line":"        network_update_args \u003d network_update_args or {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_30ae0999","line":381,"updated":"2015-08-10 16:21:59.000000000","message":"s/network_update_args\u003dNone/network_update_args/  \u003c-- this will work without `\u003dNone\u0027","commit_id":"99bcef8926b2bc044e7329c968ea999047d13324"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"4b7232ea1ca6bfe7c079ea94a6fc97c96f19857e","unresolved":false,"context_lines":[{"line_number":399,"context_line":"                                       \"neutron.update_network\")"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"    @ddt.data("},{"line_number":402,"context_line":"        {},"},{"line_number":403,"context_line":"        {\"subnet_update_args\": {}},"},{"line_number":404,"context_line":"        {\"subnet_update_args\": {\"name\": \"name_updated\"}},"},{"line_number":405,"context_line":"        {\"subnet_update_args\": {\"admin_state_up\": False}},"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_30eb697a","line":402,"updated":"2015-08-10 16:29:05.000000000","message":"ditto","commit_id":"99bcef8926b2bc044e7329c968ea999047d13324"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2e4467e73d3c52248362e0c692aa2a245947dea8","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    @ddt.unpack"},{"line_number":74,"context_line":"    def test_update_network(self, network_update_args):"},{"line_number":75,"context_line":"        scenario \u003d utils.NeutronScenario()"},{"line_number":76,"context_line":"        scenario._generate_random_name \u003d mock.Mock()"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        expected_network \u003d {\"network\": network_update_args}"},{"line_number":79,"context_line":"        if network_update_args.get(\"name\"):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_1e50935d","line":76,"updated":"2015-08-11 12:04:24.000000000","message":"Each test case within this module runs `scenario \u003d utils.NeutronScenario()\u0027 and almost each test case mocks _generate_random_name, so move these two actions to setUp() L32 (initialize `self.scenario\u0027)\n\nAlso add specific return value to _generate_random_name - this will make asserts shorter:\n\n  def setUp(self):\n      super(NeutronScenarioTestCase, self).setUp()\n      self.network \u003d mock.Mock()\n      self.scenario \u003d utils.NeutronScenario()\n      self.scenario._generate_random_name \u003d mock.Mock(return_value\u003d\"random-name\")","commit_id":"64fb8dc7ea91172127d7a4390c6da961ec37f5e8"},{"author":{"_account_id":14884,"name":"Kiran Ranganath","email":"kiran7193@gmail.com","username":"kiran"},"change_message_id":"d93afaa7d3f5ce553e9c2940f5e25c26ac7dfbea","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    @ddt.unpack"},{"line_number":74,"context_line":"    def test_update_network(self, network_update_args):"},{"line_number":75,"context_line":"        scenario \u003d utils.NeutronScenario()"},{"line_number":76,"context_line":"        scenario._generate_random_name \u003d mock.Mock()"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        expected_network \u003d {\"network\": network_update_args}"},{"line_number":79,"context_line":"        if network_update_args.get(\"name\"):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_2e77df03","line":76,"in_reply_to":"1a4dcd0f_1e50935d","updated":"2015-08-17 11:58:52.000000000","message":"random_name mock is not needed by all methods. I feel it is unnecessary to o it.\nAlthough I agree with the scenario initialization.","commit_id":"64fb8dc7ea91172127d7a4390c6da961ec37f5e8"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"69ca383324498b7c8ec0ace9e9c817c9708c07c6","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    @ddt.unpack"},{"line_number":74,"context_line":"    def test_update_network(self, network_update_args):"},{"line_number":75,"context_line":"        scenario \u003d utils.NeutronScenario()"},{"line_number":76,"context_line":"        scenario._generate_random_name \u003d mock.Mock()"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        expected_network \u003d {\"network\": network_update_args}"},{"line_number":79,"context_line":"        if network_update_args.get(\"name\"):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_1bff4d35","line":76,"in_reply_to":"fa1b9901_2e77df03","updated":"2015-08-19 11:51:12.000000000","message":"Okay, sounds good","commit_id":"64fb8dc7ea91172127d7a4390c6da961ec37f5e8"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"e6ff98b30e23b18198aa73a43ab79114d0526857","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def test_update_network(self, network_update_args):"},{"line_number":72,"context_line":"        self.scenario._generate_random_name \u003d mock.Mock()"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        expected_network \u003d {\"network\": network_update_args}"},{"line_number":75,"context_line":"        if network_update_args.get(\"name\"):"},{"line_number":76,"context_line":"            expected_network[\"network\"].update("},{"line_number":77,"context_line":"                {\"name\": self.scenario._generate_random_name.return_value})"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_8db4f881","line":74,"updated":"2015-08-21 15:34:22.000000000","message":"I recommend do not calculate expected value here but specify it exactly in ddt:\n\n @ddt.data({\"update_args\": {...}, \"expected\": {...}},\n           ...(repeated))\n @ddt.unpack\n def test_update_network(self, update_args, expected):\n     ...","commit_id":"3bb1092abd3b46fd7e468011b997797deea405e9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"e6ff98b30e23b18198aa73a43ab79114d0526857","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    @ddt.unpack"},{"line_number":148,"context_line":"    def test_update_subnet(self, subnet_update_args):"},{"line_number":149,"context_line":"        self.scenario._generate_random_name \u003d mock.Mock()"},{"line_number":150,"context_line":"        expected_subnet \u003d {\"subnet\": subnet_update_args}"},{"line_number":151,"context_line":"        if subnet_update_args.get(\"name\"):"},{"line_number":152,"context_line":"            expected_subnet[\"subnet\"].update("},{"line_number":153,"context_line":"                {\"name\": self.scenario._generate_random_name.return_value})"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_282efa8b","line":150,"updated":"2015-08-21 15:34:22.000000000","message":"same here - just put all expected data into ddt","commit_id":"3bb1092abd3b46fd7e468011b997797deea405e9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"e6ff98b30e23b18198aa73a43ab79114d0526857","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        self.scenario._generate_random_name \u003d mock.Mock()"},{"line_number":253,"context_line":"        expected_router \u003d {\"router\": router_update_args}"},{"line_number":254,"context_line":"        if router_update_args.get(\"name\"):"},{"line_number":255,"context_line":"            expected_router[\"router\"].update("},{"line_number":256,"context_line":"                {\"name\": self.scenario._generate_random_name.return_value})"},{"line_number":257,"context_line":"        self.clients(\"neutron\").update_router.return_value \u003d expected_router"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_28b35a4e","line":255,"updated":"2015-08-21 15:34:22.000000000","message":"same here - get expected data from ddt","commit_id":"3bb1092abd3b46fd7e468011b997797deea405e9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"e6ff98b30e23b18198aa73a43ab79114d0526857","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        self.scenario._generate_random_name \u003d mock.Mock()"},{"line_number":343,"context_line":"        expected_port \u003d {\"port\": port_update_args}"},{"line_number":344,"context_line":"        if port_update_args.get(\"name\"):"},{"line_number":345,"context_line":"            expected_port[\"port\"].update("},{"line_number":346,"context_line":"                {\"name\": self.scenario._generate_random_name.return_value})"},{"line_number":347,"context_line":"        self.clients(\"neutron\").update_port.return_value \u003d expected_port"},{"line_number":348,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_a87d2a6e","line":345,"updated":"2015-08-21 15:34:22.000000000","message":"same here, get expected from ddt","commit_id":"3bb1092abd3b46fd7e468011b997797deea405e9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"e6ff98b30e23b18198aa73a43ab79114d0526857","unresolved":false,"context_lines":[{"line_number":434,"context_line":"    @ddt.unpack"},{"line_number":435,"context_line":"    def test_update_pool(self, pool_update_args):"},{"line_number":436,"context_line":"        self.scenario._generate_random_name \u003d mock.Mock()"},{"line_number":437,"context_line":"        expected_pool \u003d {\"pool\": pool_update_args}"},{"line_number":438,"context_line":"        if pool_update_args.get(\"name\"):"},{"line_number":439,"context_line":"            expected_pool[\"pool\"].update("},{"line_number":440,"context_line":"                {\"name\": self.scenario._generate_random_name.return_value})"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_6893925b","line":437,"updated":"2015-08-21 15:34:22.000000000","message":"same, get expected from ddt","commit_id":"3bb1092abd3b46fd7e468011b997797deea405e9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"e6ff98b30e23b18198aa73a43ab79114d0526857","unresolved":false,"context_lines":[{"line_number":461,"context_line":"        pool_create_args \u003d pool_create_args or {}"},{"line_number":462,"context_line":"        pool \u003d {\"pool\": {\"id\": \"pool-id\"}}"},{"line_number":463,"context_line":"        self.scenario._create_lb_pool \u003d mock.Mock(return_value\u003dpool)"},{"line_number":464,"context_line":"        resultant_pools \u003d self.scenario._create_v1_pools("},{"line_number":465,"context_line":"            networks\u003dnetworks, **pool_create_args)"},{"line_number":466,"context_line":"        if networks:"},{"line_number":467,"context_line":"            subnets \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_a89a0a60","line":464,"updated":"2015-08-21 15:34:22.000000000","message":"same here","commit_id":"3bb1092abd3b46fd7e468011b997797deea405e9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"e6ff98b30e23b18198aa73a43ab79114d0526857","unresolved":false,"context_lines":[{"line_number":501,"context_line":"                \"name\": \"random_name\", \"subnet_id\": subnet_id}"},{"line_number":502,"context_line":"        args.update(pool_create_args)"},{"line_number":503,"context_line":"        expected_pool_data \u003d {\"pool\": args}"},{"line_number":504,"context_line":"        resultant_pool \u003d self.scenario._create_lb_pool("},{"line_number":505,"context_line":"            subnet_id\u003dsubnet_id, atomic_action\u003datomic_action,"},{"line_number":506,"context_line":"            **pool_create_args)"},{"line_number":507,"context_line":"        self.assertEqual(resultant_pool, pool)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_68a15293","line":504,"updated":"2015-08-21 15:34:22.000000000","message":"same here","commit_id":"3bb1092abd3b46fd7e468011b997797deea405e9"}]}
