)]}'
{"tempest/services/identity/v3/json/groups_client.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d274e2e1c2e5fd9f2a54ed4c55cd6a99b94adc5b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        Available params: see http://developer.openstack.org/"},{"line_number":32,"context_line":"                              api-ref-identity-v3.html#createGroup"},{"line_number":33,"context_line":"        \"\"\""},{"line_number":34,"context_line":"        post_body \u003d json.dumps({\u0027group\u0027: kwargs})"},{"line_number":35,"context_line":"        resp, body \u003d self.post(\u0027groups\u0027, post_body)"},{"line_number":36,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":37,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_10364ee7","line":34,"updated":"2015-11-24 01:22:48.000000000","message":"I was wondering about domain_id which was defaulted to \u0027default\u0027 and now it is not.\n\nKeystone might remove the fallback to default one if it is missing in request - https://github.com/openstack/keystone/blob/master/keystone/common/controller.py#L741.\n\nIf so then our tests might fail but i think that is expected and those can be updated if those changes are accepted in keystone.\n\nNow it looks good not to default here and lets tests cases decide what they want to pass.","commit_id":"45025c0da123c2d3a42007d34f42f50998dbc547"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"33a89cac7ead05eb96becd2edaf30e39308d69a9","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        body \u003d json.loads(body)"},{"line_number":52,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def update_group(self, group_id, **kwargs):"},{"line_number":55,"context_line":"        \"\"\"Updates a group."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        Available params: see http://developer.openstack.org/"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_80bf74fb","line":54,"updated":"2015-11-23 13:20:40.000000000","message":"This introduces a change in the logic.\n\nWithout this patch, update_group only overwrites the field that are passed in kwargs.\nWith this patch, every fields that are not passed in kwargs are erased/blanked.\n\nIs that what we want ? (I think it is but I\u0027d like to have it confirmed).","commit_id":"45025c0da123c2d3a42007d34f42f50998dbc547"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"b5cdf7141e9565c598d2ddc4e4686a9240081882","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        body \u003d json.loads(body)"},{"line_number":52,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def update_group(self, group_id, **kwargs):"},{"line_number":55,"context_line":"        \"\"\"Updates a group."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        Available params: see http://developer.openstack.org/"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_ab6db0cd","line":54,"in_reply_to":"ba8a016a_80bf74fb","updated":"2015-11-23 16:04:05.000000000","message":"I thought that if we don\u0027t pass parameters for certain fields in kwargs when updating, they will leave as before. Isn\u0027t it?","commit_id":"45025c0da123c2d3a42007d34f42f50998dbc547"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d274e2e1c2e5fd9f2a54ed4c55cd6a99b94adc5b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        body \u003d json.loads(body)"},{"line_number":52,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def update_group(self, group_id, **kwargs):"},{"line_number":55,"context_line":"        \"\"\"Updates a group."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        Available params: see http://developer.openstack.org/"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_b06c229d","line":54,"in_reply_to":"ba8a016a_ab6db0cd","updated":"2015-11-24 01:22:48.000000000","message":"I also think so and from code too it looks like it does not erase the missing fields.","commit_id":"45025c0da123c2d3a42007d34f42f50998dbc547"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"b26b4d73a0e81f1fdc73ca4aa90e7e0dd93c2e3b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        body \u003d json.loads(body)"},{"line_number":52,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def update_group(self, group_id, **kwargs):"},{"line_number":55,"context_line":"        \"\"\"Updates a group."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        Available params: see http://developer.openstack.org/"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_e8e957e7","line":54,"in_reply_to":"ba8a016a_b06c229d","updated":"2015-11-26 10:36:40.000000000","message":"So I modified the test_group_create_update_get test in the following way:\n\n    @test.idempotent_id(\u00272e80343b-6c81-4ac3-88c7-452f3e9d5129\u0027)\n    def test_group_create_update_get(self):\n        print \"Creating a group:\"\n        name \u003d data_utils.rand_name(\u0027Group\u0027)\n        description \u003d data_utils.rand_name(\u0027Description\u0027)\n        print \"name \u003d \", name\n        print \"description \u003d \", description\n        group \u003d self.groups_client.create_group(\n            name\u003dname, description\u003ddescription)[\u0027group\u0027]\n        print \"The created group: \", group\n        self.addCleanup(self.groups_client.delete_group, group[\u0027id\u0027])\n\n        print \"\\nUpdating the group:\"\n        new_name \u003d data_utils.rand_name(\u0027UpdateGroup\u0027)\n        print \"new name \u003d \", new_name\n        updated_group \u003d self.groups_client.update_group(group[\u0027id\u0027],\n                                                        name\u003dnew_name)[\u0027group\u0027]\n        print \"The updated group: \", updated_group\n\n        self.assertEqual(1, 0)\n\nand I got the following result:\n\n$ tools/pretty_tox.sh tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_group_create_update_get\nrunning testr\nNo handlers could be found for logger \"oslo_config.cfg\"\nNo handlers could be found for logger \"oslo_config.cfg\"\nrunning\u003dOS_STDOUT_CAPTURE\u003d${OS_STDOUT_CAPTURE:-1} \\\nOS_STDERR_CAPTURE\u003d${OS_STDERR_CAPTURE:-1} \\\nOS_TEST_TIMEOUT\u003d${OS_TEST_TIMEOUT:-500} \\\nOS_TEST_LOCK_PATH\u003d${OS_TEST_LOCK_PATH:-${TMPDIR:-\u0027/tmp\u0027}} \\\n${PYTHON:-python} -m subunit.run discover -t ${OS_TOP_LEVEL:-./} ${OS_TEST_PATH:-./tempest/test_discover} --list \nrunning\u003dOS_STDOUT_CAPTURE\u003d${OS_STDOUT_CAPTURE:-1} \\\nOS_STDERR_CAPTURE\u003d${OS_STDERR_CAPTURE:-1} \\\nOS_TEST_TIMEOUT\u003d${OS_TEST_TIMEOUT:-500} \\\nOS_TEST_LOCK_PATH\u003d${OS_TEST_LOCK_PATH:-${TMPDIR:-\u0027/tmp\u0027}} \\\n${PYTHON:-python} -m subunit.run discover -t ${OS_TOP_LEVEL:-./} ${OS_TEST_PATH:-./tempest/test_discover}  --load-list /tmp/tmpEsmX0C\n{0} tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_group_create_update_get [0.611351s] ... FAILED\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nFailed 1 tests - output below:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\ntempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_group_create_update_get[id-2e80343b-6c81-4ac3-88c7-452f3e9d5129]\n--------------------------------------------------------------------------------------------------------------------------------\n\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n      File \"/12.04/home/ylobankov/Tempest/v3_params/tempest/tempest/api/identity/admin/v3/test_groups.py\", line 42, in test_group_create_update_get\n        self.assertEqual(1, 0)\n      File \"/12.04/home/ylobankov/Tempest/groups_client/tempest/.tox/venv/local/lib/python2.7/site-packages/testtools/testcase.py\", line 350, in assertEqual\n        self.assertThat(observed, matcher, message)\n      File \"/12.04/home/ylobankov/Tempest/groups_client/tempest/.tox/venv/local/lib/python2.7/site-packages/testtools/testcase.py\", line 435, in assertThat\n        raise mismatch_error\n    testtools.matchers._impl.MismatchError: 1 !\u003d 0\n    \n\nCaptured stdout:\n~~~~~~~~~~~~~~~~\n    Creating a group:\n    name \u003d  tempest-Group-1317934943\n    description \u003d  tempest-Description-855975098\n    The created group:  {u\u0027id\u0027: u\u00276a18fb1df2e645ee8dd966d1d01e0b85\u0027, u\u0027name\u0027: u\u0027tempest-Group-1317934943\u0027, u\u0027domain_id\u0027: u\u0027default\u0027, u\u0027links\u0027: {u\u0027self\u0027: u\u0027http://172.16.49.231:5000/v3/groups/6a18fb1df2e645ee8dd966d1d01e0b85\u0027}, u\u0027description\u0027: u\u0027tempest-Description-855975098\u0027}\n    \n    Updating the group:\n    new name \u003d  tempest-UpdateGroup-999066036\n    The updated group:  {u\u0027id\u0027: u\u00276a18fb1df2e645ee8dd966d1d01e0b85\u0027, u\u0027name\u0027: u\u0027tempest-UpdateGroup-999066036\u0027, u\u0027domain_id\u0027: u\u0027default\u0027, u\u0027links\u0027: {u\u0027self\u0027: u\u0027http://172.16.49.231:5000/v3/groups/6a18fb1df2e645ee8dd966d1d01e0b85\u0027}, u\u0027description\u0027: u\u0027tempest-Description-855975098\u0027}\n\n\n\u003d\u003d\u003d\u003d\u003d\u003d\nTotals\n\u003d\u003d\u003d\u003d\u003d\u003d\nRan: 1 tests in 18.0000 sec.\n - Passed: 0\n - Skipped: 0\n - Expected Fail: 0\n - Unexpected Success: 0\n - Failed: 1\nSum of execute time for each test: 0.6114 sec.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWorker Balance\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n - Worker 0 (1 tests) \u003d\u003e 0:00:00.611351\n\nSo test was trying to update only the name of a group. The name was updated and the original description left the same.","commit_id":"45025c0da123c2d3a42007d34f42f50998dbc547"}]}
