Skip to content

Commit 41a633a

Browse files
committed
Make comdb2_user() return externalAuthUser too
Signed-off-by: mkhullar <mohit.khullar@gmail.com>
1 parent d0cc93d commit 41a633a

2 files changed

Lines changed: 32 additions & 0 deletions

File tree

db/db_access.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,9 @@ char *get_current_user(struct sqlclntstate *clnt)
195195
clnt->current_user.have_name) {
196196
return clnt->current_user.name;
197197
}
198+
if (clnt && clnt->externalAuthUser) {
199+
return clnt->externalAuthUser;
200+
}
198201
return NULL;
199202
}
200203

tests/simpleauth.test/runit

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,22 @@ run_expect_success() {
3232
fi
3333
}
3434

35+
run_expect_output() {
36+
local principal="$1"
37+
local sql="$2"
38+
local expected="$3"
39+
local desc="$4"
40+
local actual
41+
actual=$($SA "$principal" "$sql" 2>/dev/null)
42+
if [ "$actual" = "$expected" ]; then
43+
echo " PASS: $desc"
44+
passed=$((passed + 1))
45+
else
46+
echo " FAIL: $desc (expected '$expected', got '$actual')"
47+
failed=$((failed + 1))
48+
fi
49+
}
50+
3551
run_expect_failure() {
3652
local principal="$1"
3753
local sql="$2"
@@ -434,6 +450,19 @@ run_expect_success "$OP" "insert into comdb2_simple_auth(cluster, user, bpkg, ve
434450
run_expect_success "$OP" "delete from comdb2_simple_auth where user = 'op' or user = 'mohit'" \
435451
"clean up user-specific rules"
436452

453+
#---------------------------------------------------------------
454+
echo "Test: comdb2_user() returns external auth principal"
455+
#---------------------------------------------------------------
456+
run_expect_output "$MOHIT" "select comdb2_user()" \
457+
"(comdb2_user()='bpi:procauth:cluster:testcluster:user:mohit:bpkg:myapp')" \
458+
"comdb2_user() returns mohit principal"
459+
run_expect_output "$MIKE" "select comdb2_user()" \
460+
"(comdb2_user()='bpi:procauth:cluster:prod:user:mike:bpkg:cdb2sql')" \
461+
"comdb2_user() returns mike principal"
462+
run_expect_output "$MARK" "select comdb2_user()" \
463+
"(comdb2_user()='bpi:procauth:cluster:test:user:mk:bpkg:myapp')" \
464+
"comdb2_user() returns mark principal"
465+
437466
#---------------------------------------------------------------
438467
echo "Test: cleanup"
439468
#---------------------------------------------------------------

0 commit comments

Comments
 (0)