check if env is valid, and add sql shell test for all 3 specified

This commit is contained in:
James Cor
2022-07-11 11:37:23 -07:00
parent bbf744b4ec
commit d26e7b6019
2 changed files with 23 additions and 4 deletions

View File

@@ -233,7 +233,9 @@ func MultiEnvForDirectory(
dirName := getRepoRootDir(path, string(os.PathSeparator))
dbName := dirToDBName(dirName)
newEnv := Load(ctx, GetCurrentUserHomeDir, fs, doltdb.LocalDirDoltDB, version)
mrEnv.AddEnv(dbName, newEnv)
if newEnv.Valid() {
mrEnv.AddEnv(dbName, newEnv)
}
// TODO: need to know if current directory is a database
// If there are other directories in the directory, try to load them as additional databases

View File

@@ -172,23 +172,40 @@ teardown() {
dolt init
cd ..
cd ..
mkdir cfgdir
run dolt sql --data-dir=datadir --doltcfg-dir=cfgdir --privilege-file=privileges.db << "show databases"
run dolt sql --data-dir=datadir --doltcfg-dir=cfgdir --privilege-file=privileges.db <<< "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 << "create user new_user"
run dolt sql --data-dir=datadir --doltcfg-dir=cfgdir --privilege-file=privileges.db <<< "create user new_user"
[ $status -eq 0 ]
run ls
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 <<< "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 <<< "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 <<< "use db3; select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ "new_user" ]] || false
# remove files
rm -rf .doltcfg
rm -rf cfgdir