From fde2c1519c3c1fd6321b7a1bc68c8ade5fa0eba1 Mon Sep 17 00:00:00 2001
From: Konstantin Osipov <kostja@tarantool.org>
Date: Thu, 26 Jun 2014 19:50:07 +0400
Subject: [PATCH] A fix and a test case for gh-358 "change pasword does not
 work from Lua"

---
 src/box/lua/schema.lua   | 4 +++-
 test/box/access.test.lua | 9 +++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/box/lua/schema.lua b/src/box/lua/schema.lua
index a4a62510d1..0a38b7ac3e 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 6c37bcda33..ab4fb95fae 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
-- 
GitLab