mirror of
https://github.com/dolthub/dolt.git
synced 2026-02-04 10:25:17 -06:00
Add bats tests for dolt diff -R
This commit is contained in:
@@ -192,6 +192,79 @@ SQL
|
||||
[[ "$output" =~ "| > | modify2 | CREATE PROCEDURE modify2() SELECT 43 |" ]] || false
|
||||
}
|
||||
|
||||
@test "diff: reverse diff" {
|
||||
# We're not using the test table, so we might as well delete it
|
||||
dolt sql <<SQL
|
||||
DROP TABLE test;
|
||||
CREATE TABLE tbl (PK BIGINT PRIMARY KEY);
|
||||
INSERT INTO tbl VALUES (1), (2), (3);
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE modify1() BEGIN
|
||||
DECLARE a INT DEFAULT 1;
|
||||
SELECT a
|
||||
AS RESULT;
|
||||
END//
|
||||
CREATE PROCEDURE modify2() SELECT 42;//
|
||||
CREATE PROCEDURE remove() BEGIN
|
||||
SELECT 8;
|
||||
END//
|
||||
SQL
|
||||
dolt add -A
|
||||
dolt commit -m "First commit"
|
||||
dolt branch original
|
||||
|
||||
dolt sql <<SQL
|
||||
DELETE FROM tbl WHERE pk = 2;
|
||||
INSERT INTO tbl VALUES (4);
|
||||
DROP PROCEDURE modify1;
|
||||
DROP PROCEDURE modify2;
|
||||
DROP PROCEDURE remove;
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE modify1() BEGIN
|
||||
SELECT 2
|
||||
AS RESULTING
|
||||
FROM DUAL;
|
||||
END//
|
||||
CREATE PROCEDURE modify2() SELECT 43;//
|
||||
CREATE PROCEDURE adding() BEGIN
|
||||
SELECT 9;
|
||||
END//
|
||||
SQL
|
||||
dolt add -A
|
||||
dolt commit -m "Second commit"
|
||||
|
||||
# Look at the context diff
|
||||
run dolt diff original -R
|
||||
[ "$status" -eq 0 ]
|
||||
echo "$output"
|
||||
# Verify that standard diffs are still working
|
||||
[[ "$output" =~ "| | PK |" ]] || false
|
||||
[[ "$output" =~ "+---+----+" ]] || false
|
||||
[[ "$output" =~ "| - | 4 |" ]] || false
|
||||
[[ "$output" =~ "| + | 2 |" ]] || false
|
||||
# Check the overall stored procedure diff (excluding dates since they're variable)
|
||||
[[ "$output" =~ "+---+---------+--------------------------------------+" ]] || false
|
||||
[[ "$output" =~ "| | name | create_stmt |" ]] || false
|
||||
[[ "$output" =~ "+---+---------+--------------------------------------+" ]] || false
|
||||
[[ "$output" =~ "| - | adding | CREATE PROCEDURE adding() BEGIN |" ]] || false
|
||||
[[ "$output" =~ "| | | SELECT 9; |" ]] || false
|
||||
[[ "$output" =~ "| | | END |" ]] || false
|
||||
[[ "$output" =~ "| * | modify1 | CREATE PROCEDURE modify1() BEGIN |" ]] || false
|
||||
[[ "$output" =~ "| | | -SELECT 2 |" ]] || false
|
||||
[[ "$output" =~ "| | | - AS RESULTING |" ]] || false
|
||||
[[ "$output" =~ "| | | - FROM DUAL; |" ]] || false
|
||||
[[ "$output" =~ "| | | +DECLARE a INT DEFAULT 1; |" ]] || false
|
||||
[[ "$output" =~ "| | | +SELECT a |" ]] || false
|
||||
[[ "$output" =~ "| | | + AS RESULT; |" ]] || false
|
||||
[[ "$output" =~ "| | | END |" ]] || false
|
||||
[[ "$output" =~ "| < | modify2 | CREATE PROCEDURE modify2() SELECT 43 |" ]] || false
|
||||
[[ "$output" =~ "| > | modify2 | CREATE PROCEDURE modify2() SELECT 42 |" ]] || false
|
||||
[[ "$output" =~ "| + | remove | CREATE PROCEDURE remove() BEGIN |" ]] || false
|
||||
[[ "$output" =~ "| | | SELECT 8; |" ]] || false
|
||||
[[ "$output" =~ "| | | END |" ]] || false
|
||||
[[ "$output" =~ "+---+---------+--------------------------------------+" ]] || false
|
||||
}
|
||||
|
||||
@test "diff: clean working set" {
|
||||
dolt add .
|
||||
dolt commit -m table
|
||||
|
||||
@@ -278,7 +278,7 @@ SQL
|
||||
|
||||
}
|
||||
|
||||
@test "ignore: don't display add ignored tables in dolt diff" {
|
||||
@test "ignore: don't display new but ignored tables in dolt diff" {
|
||||
skip_nbf_ld_1
|
||||
|
||||
dolt sql <<SQL
|
||||
@@ -294,6 +294,22 @@ SQL
|
||||
! [["$output" =~ "ignoreme"]] || false
|
||||
}
|
||||
|
||||
@test "ignore: don't display new but ignored tables in reverse diff" {
|
||||
skip_nbf_ld_1
|
||||
|
||||
dolt sql <<SQL
|
||||
CREATE TABLE ignoreme (pk int);
|
||||
CREATE TABLE nomatch (pk int);
|
||||
SQL
|
||||
|
||||
run dolt diff -R
|
||||
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
[[ "$output" =~ "nomatch" ]] || false
|
||||
! [["$output" =~ "ignoreme"]] || false
|
||||
}
|
||||
|
||||
@test "ignore: DO display modified ignored tables in dolt diff after staging" {
|
||||
skip_nbf_ld_1
|
||||
|
||||
@@ -316,6 +332,28 @@ SQL
|
||||
[[ "$output" =~ "ignoreme" ]] || false
|
||||
}
|
||||
|
||||
@test "ignore: DO display modified ignored tables in reverse diff after staging" {
|
||||
skip_nbf_ld_1
|
||||
|
||||
dolt sql <<SQL
|
||||
CREATE TABLE ignoreme (pk int);
|
||||
SQL
|
||||
|
||||
dolt add --force ignoreme
|
||||
|
||||
dolt sql <<SQL
|
||||
INSERT INTO ignoreme VALUES (1);
|
||||
SQL
|
||||
|
||||
run dolt diff -R
|
||||
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
echo "$output"
|
||||
|
||||
[[ "$output" =~ "ignoreme" ]] || false
|
||||
}
|
||||
|
||||
@test "ignore: DO display modified ignored tables in dolt diff after committing" {
|
||||
skip_nbf_ld_1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user