mirror of
https://github.com/dolthub/dolt.git
synced 2026-05-20 11:29:13 -05:00
all tests for sql -q
This commit is contained in:
+483
-98
@@ -39,7 +39,7 @@ teardown() {
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q default doltcfg directory" {
|
||||
@test "sql: dolt sql -q" {
|
||||
# remove any previous config directories
|
||||
rm -rf .doltcfg
|
||||
|
||||
@@ -79,81 +79,528 @@ teardown() {
|
||||
rm -rf .doltcfg
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q specify doltcfg dir" {
|
||||
# remove any previous config directories
|
||||
@test "sql: dolt sql -q --data-dir" {
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -rf thisisthedoltdir
|
||||
rm -rf db_dir
|
||||
|
||||
# create data dir
|
||||
mkdir db_dir
|
||||
cd db_dir
|
||||
|
||||
# create databases
|
||||
mkdir db1
|
||||
cd db1
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db2
|
||||
cd db2
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db3
|
||||
cd db3
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
# show databases, expect all
|
||||
run dolt sql --data-dir=db_dir -q "show databases;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "db1" ]] || false
|
||||
[[ "$output" =~ "db2" ]] || false
|
||||
[[ "$output" =~ "db3" ]] || false
|
||||
|
||||
# show users, expect just root user
|
||||
run dolt sql --doltcfg-dir=thisisthedoltdir -q "select user from mysql.user;"
|
||||
run dolt sql --data-dir=db_dir -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# check that only custom doltcfg directory exists
|
||||
# expect no .doltcfg in current directory
|
||||
run ls -a
|
||||
! [[ "$output" =~ ".doltcfg" ]] || false
|
||||
[[ "$output" =~ "thisisthedoltdir" ]] || false
|
||||
|
||||
# check for no privileges.db file
|
||||
run ls thisisthedoltdir
|
||||
! [[ "$output" =~ "privileges.db" ]] || false
|
||||
# expect .doltcfg in $datadir
|
||||
run ls -a db_dir
|
||||
[[ "$output" =~ ".doltcfg" ]] || false
|
||||
|
||||
# create new_user
|
||||
dolt sql --doltcfg-dir=thisisthedoltdir -q "create user new_user"
|
||||
# create new user
|
||||
run dolt sql --data-dir=db_dir -q "create user new_user"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
# show users, expect root user and new_user
|
||||
run dolt sql --doltcfg-dir=thisisthedoltdir -q "select user from mysql.user;"
|
||||
run dolt sql --data-dir=db_dir -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# check for config directory
|
||||
# expect no privileges.db in current directory
|
||||
run ls
|
||||
! [[ "$output" =~ "privileges.db" ]] || false
|
||||
|
||||
# expect no privileges.db in $datadir directory
|
||||
run ls db_dir
|
||||
! [[ "$output" =~ "privileges.db" ]] || false
|
||||
|
||||
# expect privileges.db in $datadir/.doltcfg
|
||||
run ls db_dir/.doltcfg
|
||||
[[ "$output" =~ "privileges.db" ]] || false
|
||||
|
||||
|
||||
# test relative to $datadir
|
||||
cd db_dir
|
||||
|
||||
# show databases, expect all
|
||||
run dolt sql -q "show databases;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "db1" ]] || false
|
||||
[[ "$output" =~ "db2" ]] || false
|
||||
[[ "$output" =~ "db3" ]] || false
|
||||
|
||||
# expect to find same users when in $datadir
|
||||
run dolt sql -q "select user from mysql.user"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
cd ..
|
||||
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -rf db_dir
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q --doltcfg-dir" {
|
||||
# remove any previous config directories
|
||||
rm -rf .doltcfg
|
||||
rm -rf doltcfgdir
|
||||
|
||||
# show users, expect just root user
|
||||
run dolt sql --doltcfg-dir=doltcfgdir -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# expect only custom doltcfgdir
|
||||
run ls -a
|
||||
! [[ "$output" =~ ".doltcfg" ]] || false
|
||||
[[ "$output" =~ "thisisthedoltdir" ]] || false
|
||||
[[ "$output" =~ "doltcfgdir" ]] || false
|
||||
|
||||
# check for no privileges.db file
|
||||
run ls thisisthedoltdir
|
||||
# create new_user
|
||||
run dolt sql --doltcfg-dir=doltcfgdir -q "create user new_user"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
# show users, expect root user and new_user
|
||||
run dolt sql --doltcfg-dir=doltcfgdir -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# expect privileges files in doltcfgdir
|
||||
run ls doltcfgdir
|
||||
[[ "$output" =~ "privileges.db" ]] || false
|
||||
|
||||
# remove config directory just in case
|
||||
rm -rf .doltcfg
|
||||
rm -rf thisisthedoltdir
|
||||
rm -rf doltcfgdir
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q with privilege file persists" {
|
||||
# mysql database exists and has privilege tables
|
||||
run dolt sql --privilege-file=privs.db -q "show tables from mysql;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "user" ]] || false
|
||||
[[ "$output" =~ "role_edges" ]] || false
|
||||
@test "sql: dolt sql -q --privilege-file" {
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -f privs.db
|
||||
|
||||
# show users, expect just root user
|
||||
run dolt sql --privilege-file=privs.db -q "select user from mysql.user;"
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# create a new user, fails
|
||||
run dolt sql --privilege-file=privs.db -q "create user new_user;"
|
||||
# expect default doltcfg directory
|
||||
run ls -a
|
||||
[[ "$output" =~ ".doltcfg" ]] || false
|
||||
|
||||
# create new_user
|
||||
run dolt sql --privilege-file=privs.db -q "create user new_user"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
# show users, expect just root user
|
||||
# show users, expect root user and new_user
|
||||
run dolt sql --privilege-file=privs.db -q "select user from mysql.user;"
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# there should now be a mysql.db file
|
||||
# expect custom privilege file current directory
|
||||
run ls
|
||||
[[ "$output" =~ "privs.db" ]] || false
|
||||
|
||||
# show users, expect root and new_user
|
||||
run dolt sql --privilege-file=privs.db -q "select user from mysql.user;"
|
||||
# expect to not see new_user when privs.db not specified
|
||||
run dolt sql -q "select user from mysql.user"
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -f privs.db
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q --data-dir --doltcfg-dir" {
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -rf db_dir
|
||||
rm -rf doltcfgdir
|
||||
|
||||
# create data dir
|
||||
mkdir db_dir
|
||||
cd db_dir
|
||||
|
||||
# create databases
|
||||
mkdir db1
|
||||
cd db1
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db2
|
||||
cd db2
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db3
|
||||
cd db3
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
# show databases, expect all
|
||||
run dolt sql --data-dir=db_dir --doltcfg-dir=doltcfgdir -q "show databases;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "db1" ]] || false
|
||||
[[ "$output" =~ "db2" ]] || false
|
||||
[[ "$output" =~ "db3" ]] || false
|
||||
|
||||
# show users, expect just root user
|
||||
run dolt sql --data-dir=db_dir --doltcfg-dir=doltcfgdir -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# expect custom doltcfg in current directory
|
||||
run ls -a
|
||||
! [[ "$output" =~ ".doltcfg" ]] || false
|
||||
[[ "$output" =~ "doltcfgdir" ]] || false
|
||||
|
||||
# expect no .doltcfg in $datadir
|
||||
run ls -a db_dir
|
||||
! [[ "$output" =~ ".doltcfg" ]] || false
|
||||
|
||||
# create new user
|
||||
run dolt sql --data-dir=db_dir --doltcfg-dir=doltcfgdir -q "create user new_user"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
# show users, expect root user and new_user
|
||||
run dolt sql --data-dir=db_dir --doltcfg-dir=doltcfgdir -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# remove mysql.db
|
||||
rm -f privs.db
|
||||
# expect no privileges.db in current directory
|
||||
run ls
|
||||
! [[ "$output" =~ "privileges.db" ]] || false
|
||||
|
||||
# expect no privileges.db in $datadir directory
|
||||
run ls db_dir
|
||||
! [[ "$output" =~ "privileges.db" ]] || false
|
||||
|
||||
# expect privileges.db in $doltcfg directory
|
||||
run ls doltcfgdir
|
||||
[[ "$output" =~ "privileges.db" ]] || false
|
||||
|
||||
# test relative to $datadir
|
||||
cd db_dir
|
||||
|
||||
# show databases, expect all
|
||||
run dolt sql -q "show databases;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "db1" ]] || false
|
||||
[[ "$output" =~ "db2" ]] || false
|
||||
[[ "$output" =~ "db3" ]] || false
|
||||
|
||||
# show users, expect root
|
||||
run dolt sql -q "select user from mysql.user"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# show users, expect root and new_user
|
||||
run dolt sql --doltcfg-dir=../doltcfgdir -q "select user from mysql.user"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
cd ..
|
||||
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -rf db_dir
|
||||
rm -rf doltcfgdir
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q --data-dir --privilege-file" {
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -rf db_dir
|
||||
rm -rf privs.db
|
||||
|
||||
# create data dir
|
||||
mkdir db_dir
|
||||
cd db_dir
|
||||
|
||||
# create databases
|
||||
mkdir db1
|
||||
cd db1
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db2
|
||||
cd db2
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db3
|
||||
cd db3
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
# show databases, expect all
|
||||
run dolt sql --data-dir=db_dir --privilege-file=privs.db -q "show databases;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "db1" ]] || false
|
||||
[[ "$output" =~ "db2" ]] || false
|
||||
[[ "$output" =~ "db3" ]] || false
|
||||
|
||||
# show users, expect just root user
|
||||
run dolt sql --data-dir=db_dir --privilege-file=privs.db -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# expect no .doltcfg in current directory
|
||||
run ls -a
|
||||
! [[ "$output" =~ ".doltcfg" ]] || false
|
||||
|
||||
# expect .doltcfg in $datadir
|
||||
run ls -a db_dir
|
||||
[[ "$output" =~ ".doltcfg" ]] || false
|
||||
|
||||
# create new user
|
||||
run dolt sql --data-dir=db_dir --privilege-file=privs.db -q "create user new_user"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
# show users, expect root user and new_user
|
||||
run dolt sql --data-dir=db_dir --privilege-file=privs.db -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# expect privs.db in current directory
|
||||
run ls
|
||||
[[ "$output" =~ "privs.db" ]] || false
|
||||
|
||||
# expect no privileges.db in $datadir directory
|
||||
run ls db_dir
|
||||
! [[ "$output" =~ "privs.db" ]] || false
|
||||
|
||||
# expect no privs.db in $doltcfg directory
|
||||
run ls db_dir/.doltcfg
|
||||
! [[ "$output" =~ "privs.db" ]] || false
|
||||
|
||||
# test relative to $datadir
|
||||
cd db_dir
|
||||
|
||||
# show databases, expect all
|
||||
run dolt sql -q "show databases;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "db1" ]] || false
|
||||
[[ "$output" =~ "db2" ]] || false
|
||||
[[ "$output" =~ "db3" ]] || false
|
||||
|
||||
# show users, expect root
|
||||
run dolt sql -q "select user from mysql.user"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# show users, expect root and new_user
|
||||
run dolt sql --privilege-file=../privs.db -q "select user from mysql.user"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
cd ..
|
||||
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -rf db_dir
|
||||
rm -rf privs.db
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q --doltcfg-dir --privilege-file" {
|
||||
# remove any previous config directories
|
||||
rm -rf .doltcfg
|
||||
rm -rf doltcfgdir
|
||||
rm -rf privs.db
|
||||
|
||||
# show users, expect just root user
|
||||
run dolt sql --doltcfg-dir=doltcfgdir --privilege-file=privs.db -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# expect custom doltcfgdir
|
||||
run ls -a
|
||||
! [[ "$output" =~ ".doltcfg" ]] || false
|
||||
[[ "$output" =~ "doltcfgdir" ]] || false
|
||||
|
||||
# create new_user
|
||||
run dolt sql --doltcfg-dir=doltcfgdir --privilege-file=privs.db -q "create user new_user"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
# show users, expect root user and new_user
|
||||
run dolt sql --doltcfg-dir=doltcfgdir --privilege-file=privs.db -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# expect privileges file
|
||||
run ls
|
||||
[[ "$output" =~ "privs.db" ]] || false
|
||||
|
||||
# expect no privileges file in doltcfgdir
|
||||
run ls doltcfgdir
|
||||
! [[ "$output" =~ "privileges.db" ]] || false
|
||||
! [[ "$output" =~ "privs.db" ]] || false
|
||||
|
||||
# remove config directory just in case
|
||||
rm -rf .doltcfg
|
||||
rm -rf doltcfgdir
|
||||
rm -rf privs.db
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q --data-dir --doltcfg-dir --privileges-file" {
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -rf db_dir
|
||||
rm -rf doltcfgdir
|
||||
rm -rf privs.db
|
||||
|
||||
# create data dir
|
||||
mkdir db_dir
|
||||
cd db_dir
|
||||
|
||||
# create databases
|
||||
mkdir db1
|
||||
cd db1
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db2
|
||||
cd db2
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db3
|
||||
cd db3
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
# show databases, expect all
|
||||
run dolt sql --data-dir=db_dir --doltcfg-dir=doltcfgdir --privilege-file=privs.db -q "show databases;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "db1" ]] || false
|
||||
[[ "$output" =~ "db2" ]] || false
|
||||
[[ "$output" =~ "db3" ]] || false
|
||||
|
||||
# show users, expect just root user
|
||||
run dolt sql --data-dir=db_dir --doltcfg-dir=doltcfgdir --privilege-file=privs.db -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# expect custom doltcfg in current directory
|
||||
run ls -a
|
||||
! [[ "$output" =~ ".doltcfg" ]] || false
|
||||
[[ "$output" =~ "doltcfgdir" ]] || false
|
||||
|
||||
# expect no .doltcfg in $datadir
|
||||
run ls -a db_dir
|
||||
! [[ "$output" =~ ".doltcfg" ]] || false
|
||||
|
||||
# create new user
|
||||
run dolt sql --data-dir=db_dir --doltcfg-dir=doltcfgdir --privilege-file=privs.db -q "create user new_user"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
# show users, expect root user and new_user
|
||||
run dolt sql --data-dir=db_dir --doltcfg-dir=doltcfgdir --privilege-file=privs.db -q "select user from mysql.user;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# expect privs.db in current directory
|
||||
run ls
|
||||
! [[ "$output" =~ "privileges.db" ]] || false
|
||||
[[ "$output" =~ "privs.db" ]] || false
|
||||
|
||||
# expect no privileges.db in $datadir directory
|
||||
run ls db_dir
|
||||
! [[ "$output" =~ "privileges.db" ]] || false
|
||||
! [[ "$output" =~ "privs.db" ]] || false
|
||||
|
||||
# expect no privileges.db in $doltcfg directory
|
||||
run ls doltcfgdir
|
||||
! [[ "$output" =~ "privileges.db" ]] || false
|
||||
! [[ "$output" =~ "privs.db" ]] || false
|
||||
|
||||
# test relative to $datadir
|
||||
cd db_dir
|
||||
|
||||
# show databases, expect all
|
||||
run dolt sql -q "show databases;"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "db1" ]] || false
|
||||
[[ "$output" =~ "db2" ]] || false
|
||||
[[ "$output" =~ "db3" ]] || false
|
||||
|
||||
# show users, expect root
|
||||
run dolt sql -q "select user from mysql.user"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# show users, expect root and new_user
|
||||
run dolt sql --doltcfg-dir=../doltcfgdir -q "select user from mysql.user"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
! [[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
# show users, expect root and new_user
|
||||
run dolt sql --privilege-file=../privs.db -q "select user from mysql.user"
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "root" ]] || false
|
||||
[[ "$output" =~ "new_user" ]] || false
|
||||
|
||||
cd ..
|
||||
|
||||
# remove config files
|
||||
rm -rf .doltcfg
|
||||
rm -rf db_dir
|
||||
rm -rf doltcfgdir
|
||||
rm -rf privs.db
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q create database and specify privilege file" {
|
||||
@@ -202,6 +649,10 @@ teardown() {
|
||||
[ "$status" -eq 1 ]
|
||||
[[ "$output" =~ "multiple .doltcfg directories detected" ]] || false
|
||||
|
||||
# specifying datadir, resolves issue
|
||||
run dolt sql --data-dir=. -q "show databases;"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
# remove existing directories
|
||||
rm -rf .doltcfg
|
||||
rm -rf inner_db
|
||||
@@ -281,72 +732,6 @@ teardown() {
|
||||
rm -rf datadir
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q specify data directory, cfg directory, and privilege file" {
|
||||
# remove files
|
||||
rm -rf .doltcfg
|
||||
rm -rf cfgdir
|
||||
rm -rf datadir
|
||||
rm -f privileges.db
|
||||
|
||||
mkdir datadir
|
||||
cd datadir
|
||||
|
||||
mkdir db1
|
||||
cd db1
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db2
|
||||
cd db2
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
mkdir db3
|
||||
cd db3
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
mkdir cfgdir
|
||||
|
||||
run dolt sql --data-dir=datadir --doltcfg-dir=cfgdir --privilege-file=privileges.db -q "show databases"
|
||||
[ $status -eq 0 ]
|
||||
[[ $output =~ "db1" ]] || false
|
||||
[[ $output =~ "db2" ]] || false
|
||||
[[ $output =~ "db3" ]] || false
|
||||
|
||||
run dolt sql --data-dir=datadir --doltcfg-dir=cfgdir --privilege-file=privileges.db -q "create user new_user"
|
||||
[ $status -eq 0 ]
|
||||
|
||||
run ls -a
|
||||
[[ $output =~ "datadir" ]] || false
|
||||
[[ $output =~ "cfgdir" ]] || false
|
||||
[[ $output =~ "privileges.db" ]] || false
|
||||
! [[ $output =~ ".doltcfg" ]] || false
|
||||
|
||||
run ls cfgdir
|
||||
! [[ $output =~ "privileges.db" ]] || false
|
||||
|
||||
run dolt sql --data-dir=datadir --doltcfg-dir=cfgdir --privilege-file=privileges.db -q "use db1; select user from mysql.user"
|
||||
[ $status -eq 0 ]
|
||||
[[ $output =~ "new_user" ]] || false
|
||||
|
||||
run dolt sql --data-dir=datadir --doltcfg-dir=cfgdir --privilege-file=privileges.db -q "use db2; select user from mysql.user"
|
||||
[ $status -eq 0 ]
|
||||
[[ $output =~ "new_user" ]] || false
|
||||
|
||||
run dolt sql --data-dir=datadir --doltcfg-dir=cfgdir --privilege-file=privileges.db -q "use db3; select user from mysql.user"
|
||||
[ $status -eq 0 ]
|
||||
[[ $output =~ "new_user" ]] || false
|
||||
|
||||
# remove files
|
||||
rm -rf .doltcfg
|
||||
rm -rf cfgdir
|
||||
rm -rf datadir
|
||||
rm -f privileges.db
|
||||
}
|
||||
|
||||
@test "sql: errors do not write incomplete rows" {
|
||||
dolt sql <<"SQL"
|
||||
CREATE TABLE test (
|
||||
|
||||
Reference in New Issue
Block a user