[tarantool-patches] [PATCH 1/3] Do not force login/pass in URI
AKhatskevich
avkhatskevich at tarantool.org
Sat Jun 23 00:43:33 MSK 2018
All access rights would be checked explicitly by Tarantool.
Closes #47
---
test/unit/config.result | 14 ++++++++++++++
test/unit/config.test.lua | 6 ++++++
vshard/cfg.lua | 7 +++----
3 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/test/unit/config.result b/test/unit/config.result
index 6b4f87b..847536c 100644
--- a/test/unit/config.result
+++ b/test/unit/config.result
@@ -506,3 +506,17 @@ _ = lcfg.check(cfg)
replica.name = 'storage'
---
...
+-- gh-47: Check uri
+_, err = pcall(lcfg.check_uri, 'invalid uri')
+---
+...
+err:match('Invalid URI.*')
+---
+- 'Invalid URI: invalid uri'
+...
+lcfg.check_uri('127.0.0.1')
+---
+...
+lcfg.check_uri('user:password at localhost')
+---
+...
diff --git a/test/unit/config.test.lua b/test/unit/config.test.lua
index 0f549d3..af1dd7d 100644
--- a/test/unit/config.test.lua
+++ b/test/unit/config.test.lua
@@ -206,3 +206,9 @@ _ = lcfg.check(cfg)
replica.name = nil
_ = lcfg.check(cfg)
replica.name = 'storage'
+
+-- gh-47: Check uri
+_, err = pcall(lcfg.check_uri, 'invalid uri')
+err:match('Invalid URI.*')
+lcfg.check_uri('127.0.0.1')
+lcfg.check_uri('user:password at localhost')
diff --git a/vshard/cfg.lua b/vshard/cfg.lua
index f5db4c0..5644d2c 100644
--- a/vshard/cfg.lua
+++ b/vshard/cfg.lua
@@ -5,10 +5,8 @@ local luri = require('uri')
local consts = require('vshard.consts')
local function check_uri(uri)
- uri = luri.parse(uri)
- if uri.login == nil or uri.password == nil then
- error('URI must contain login and password')
- end
+ local parsed = luri.parse(uri)
+ assert(parsed, 'Invalid URI: ' .. uri)
end
local function check_master(master, ctx)
@@ -251,5 +249,6 @@ end
return {
check = cfg_check,
+ check_uri = check_uri,
remove_non_box_options = remove_non_box_options,
}
--
2.14.1
More information about the Tarantool-patches
mailing list