diff --git a/src/box/lua/schema.lua b/src/box/lua/schema.lua index a4a62510d170242e4c0f57d6193ab3e5fff0e978..0a38b7ac3ec4681eb37edb69f53af7f9b742eca7 100644 --- a/src/box/lua/schema.lua +++ b/src/box/lua/schema.lua @@ -708,7 +708,9 @@ box.schema.user.passwd = function(new_password) local _user = box.space[box.schema.USER_ID] auth_mech_list = {} auth_mech_list["chap-sha1"] = box.schema.user.password(new_password) - _user:update({uid}, {"=", 4, auth_mech_list}) + require('session').su('admin') + _user:update({uid}, {{"=", 4, auth_mech_list}}) + require('session').su(uid) end box.schema.user.create = function(name, opts) diff --git a/test/box/access.test.lua b/test/box/access.test.lua index 6c37bcda335ea0cfa613fb8c27636401833dcd10..ab4fb95fae3a634fcb937b6984ffed85d73c0fe4 100644 --- a/test/box/access.test.lua +++ b/test/box/access.test.lua @@ -134,4 +134,13 @@ session.su('guest') box.space._user:select{0} box.space._user:select{1} session.su('admin') +-- ---------------------------------------------------------- +-- A test case for gh-358 Change user does not work from lua +-- Correct the update syntax in schema.lua +-- ---------------------------------------------------------- +box.schema.user.create('user1') +session.su('user1') +box.schema.user.passwd('new_password') +session.su('admin') +box.schema.user.drop('user1') session = nil