mirror of
https://github.com/dolthub/dolt.git
synced 2026-01-14 03:00:17 -06:00
* Fix merge test for __DOLT_1__ * tree.ThreeWayMerge always calls callback when key collision occurs * add keyless support for new format merge and other merge related tables * newline of doom * unskip more bats * empty * skip blame.bats and remotes-aws.bats
114 lines
3.8 KiB
Bash
114 lines
3.8 KiB
Bash
#!/usr/bin/env bats
|
|
load $BATS_TEST_DIRNAME/helper/common.bash
|
|
|
|
setup() {
|
|
setup_common
|
|
}
|
|
|
|
teardown() {
|
|
teardown_common
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup no argument" {
|
|
run dolt sql -q "select dolt_backup()"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup()"
|
|
[ "$status" -ne 0 ]
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup add" {
|
|
run dolt sql -q "select dolt_backup('add', 'hostedapidb-0', 'file:///some_directory')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('add', 'hostedapidb-0', 'file:///some_directory')"
|
|
[ "$status" -ne 0 ]
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup rm" {
|
|
run dolt sql -q "select dolt_backup('rm', 'hostedapidb-0')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('rm', 'hostedapidb-0')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "select dolt_backup('remove', 'hostedapidb-0')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('remove', 'hostedapidb-0')"
|
|
[ "$status" -ne 0 ]
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup restore" {
|
|
run dolt sql -q "select dolt_backup('restore', 'hostedapidb-0', 'file:///some_directory')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('restore', 'hostedapidb-0', 'file:///some_directory')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "select dolt_backup('restore', 'hostedapidb-0', 'file:///some_directory')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('restore', 'hostedapidb-0', 'file:///some_directory')"
|
|
[ "$status" -ne 0 ]
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup unrecognized" {
|
|
run dolt sql -q "select dolt_backup('unregonized', 'hostedapidb-0', 'file:///some_directory')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('unrecognized', 'hostedapidb-0', 'file:///some_directory')"
|
|
[ "$status" -ne 0 ]
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup sync wrong number of args" {
|
|
run dolt sql -q "select dolt_backup('sync')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('sync')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "select dolt_backup('sync', 'hostedapidb-0', 'too many')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('sync', 'hostedapidb-0', 'too many')"
|
|
[ "$status" -ne 0 ]
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup no such backup" {
|
|
run dolt sql -q "select dolt_backup('sync', 'hostedapidb-0')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('sync', 'hostedapidb-0')"
|
|
[ "$status" -ne 0 ]
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup sync to a backup" {
|
|
mkdir the_backup
|
|
dolt backup add hostedapidb-0 file://./the_backup
|
|
dolt backup -v
|
|
dolt sql -q "select dolt_backup('sync', 'hostedapidb-0')"
|
|
# Initial backup works.
|
|
dolt backup restore file://./the_backup the_restore
|
|
(cd the_restore && dolt status)
|
|
# Backup with nothing to push works.
|
|
dolt sql -q "select dolt_backup('sync', 'hostedapidb-0')"
|
|
|
|
rm -rf the_backup the_restore
|
|
|
|
mkdir the_backup
|
|
dolt sql -q "CALL dolt_backup('sync', 'hostedapidb-0')"
|
|
dolt backup restore file://./the_backup the_restore
|
|
(cd the_restore && dolt status)
|
|
dolt sql -q "CALL dolt_backup('sync', 'hostedapidb-0')"
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup sync-url" {
|
|
mkdir the_backup
|
|
dolt sql -q "select dolt_backup('sync-url', 'file://./the_backup')"
|
|
# Initial backup works.
|
|
dolt backup restore file://./the_backup the_restore
|
|
(cd the_restore && dolt status)
|
|
|
|
rm -rf the_backup the_restore
|
|
|
|
mkdir the_backup
|
|
dolt sql -q "CALL dolt_backup('sync-url', 'file://./the_backup')"
|
|
dolt backup restore file://./the_backup the_restore
|
|
(cd the_restore && dolt status)
|
|
}
|
|
|
|
@test "sql-backup: dolt_backup sync-url fails for http remotes" {
|
|
run dolt sql -q "select dolt_backup('sync-url', 'http://dolthub.com/dolthub/backup')"
|
|
[ "$status" -ne 0 ]
|
|
run dolt sql -q "CALL dolt_backup('sync-url', 'https://dolthub.com/dolthub/backup')"
|
|
[ "$status" -ne 0 ]
|
|
}
|