Adding BATS fixes for GMS JSON change.

This commit is contained in:
Pavel Safronov
2023-03-31 16:11:34 -07:00
parent 4f8f002681
commit db6587fd29
2 changed files with 35 additions and 32 deletions

View File

@@ -33,23 +33,23 @@ SQL
SQL
run dolt sql -q "SELECT * FROM js;" -r csv
[ "$status" -eq 0 ]
[ "${lines[1]}" = '1,"{""a"":1}"' ]
[ "${lines[2]}" = '2,"{""b"":2}"' ]
[ "${lines[1]}" = '1,"{""a"": 1}"' ]
[ "${lines[2]}" = '2,"{""b"": 2}"' ]
dolt sql <<SQL
UPDATE js SET js = '{"c":3}' WHERE pk = 2;
SQL
run dolt sql -q "SELECT * FROM js;" -r csv
[ "$status" -eq 0 ]
[ "${lines[1]}" = '1,"{""a"":1}"' ]
[ "${lines[2]}" = '2,"{""c"":3}"' ]
[ "${lines[1]}" = '1,"{""a"": 1}"' ]
[ "${lines[2]}" = '2,"{""c"": 3}"' ]
dolt sql <<SQL
DELETE FROM js WHERE pk = 2;
SQL
run dolt sql -q "SELECT * FROM js;" -r csv
[ "$status" -eq 0 ]
[ "${lines[1]}" = '1,"{""a"":1}"' ]
[ "${lines[1]}" = '1,"{""a"": 1}"' ]
}
@test "json-new-fmt: JSON value printing" {
@@ -63,18 +63,18 @@ SQL
run dolt sql -q "SELECT * FROM js;"
[ "$status" -eq 0 ]
[ "${lines[0]}" = '+----+---------+' ]
[ "${lines[1]}" = '| pk | js |' ]
[ "${lines[2]}" = '+----+---------+' ]
[ "${lines[3]}" = '| 1 | {"a":1} |' ]
[ "${lines[4]}" = '| 2 | {"b":2} |' ]
[ "${lines[5]}" = '+----+---------+' ]
[ "${lines[0]}" = '+----+----------+' ]
[ "${lines[1]}" = '| pk | js |' ]
[ "${lines[2]}" = '+----+----------+' ]
[ "${lines[3]}" = '| 1 | {"a": 1} |' ]
[ "${lines[4]}" = '| 2 | {"b": 2} |' ]
[ "${lines[5]}" = '+----+----------+' ]
run dolt sql -q "SELECT * FROM js;" -r csv
[ "$status" -eq 0 ]
[ "${lines[0]}" = 'pk,js' ]
[ "${lines[1]}" = '1,"{""a"":1}"' ]
[ "${lines[2]}" = '2,"{""b"":2}"' ]
[ "${lines[1]}" = '1,"{""a"": 1}"' ]
[ "${lines[2]}" = '2,"{""b"": 2}"' ]
dolt sql -q "SELECT * FROM js;" -r json
run dolt sql -q "SELECT * FROM js;" -r json
@@ -111,16 +111,17 @@ SQL
dolt diff
run dolt diff
echo "output: $output"
[ "$status" -eq 0 ]
[ "${lines[0]}" = 'diff --dolt a/js b/js' ]
[ "${lines[3]}" = '+---+----+----------+' ]
[ "${lines[4]}" = '| | pk | js |' ]
[ "${lines[5]}" = '+---+----+----------+' ]
[ "${lines[6]}" = '| < | 1 | {"a":1} |' ]
[ "${lines[7]}" = '| > | 1 | {"a":11} |' ]
[ "${lines[8]}" = '| - | 2 | {"b":2} |' ]
[ "${lines[9]}" = '| + | 3 | {"c":3} |' ]
[ "${lines[10]}" = '+---+----+----------+' ]
[ "${lines[3]}" = '+---+----+-----------+' ]
[ "${lines[4]}" = '| | pk | js |' ]
[ "${lines[5]}" = '+---+----+-----------+' ]
[ "${lines[6]}" = '| < | 1 | {"a": 1} |' ]
[ "${lines[7]}" = '| > | 1 | {"a": 11} |' ]
[ "${lines[8]}" = '| - | 2 | {"b": 2} |' ]
[ "${lines[9]}" = '| + | 3 | {"c": 3} |' ]
[ "${lines[10]}" = '+---+----+-----------+' ]
}
@test "json-new-fmt: merge JSON values" {
@@ -151,8 +152,8 @@ SQL
dolt merge other --no-commit
run dolt sql -q "SELECT * FROM js;" -r csv
[ "$status" -eq 0 ]
[ "${lines[1]}" = '1,"{""a"":11}"' ]
[ "${lines[2]}" = '2,"{""b"":22}"' ]
[ "${lines[1]}" = '1,"{""a"": 11}"' ]
[ "${lines[2]}" = '2,"{""b"": 22}"' ]
dolt commit -am "merged other into main"
# test merge conflicts
@@ -169,8 +170,8 @@ SQL
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM js;" -r csv
[ "$status" -eq 0 ]
[ "${lines[1]}" = '1,"{""a"":1}"' ]
[ "${lines[2]}" = '2,"{""b"":99}"' ]
[ "${lines[1]}" = '1,"{""a"": 1}"' ]
[ "${lines[2]}" = '2,"{""b"": 99}"' ]
}
@test "json-new-fmt: merge JSON values with stored procedure" {
@@ -201,8 +202,8 @@ SQL
dolt merge other --no-commit
run dolt sql -q "SELECT * FROM js;" -r csv
[ "$status" -eq 0 ]
[ "${lines[1]}" = '1,"{""a"":11}"' ]
[ "${lines[2]}" = '2,"{""b"":22}"' ]
[ "${lines[1]}" = '1,"{""a"": 11}"' ]
[ "${lines[2]}" = '2,"{""b"": 22}"' ]
dolt commit -am "merged other into main"
# test merge conflicts
@@ -219,8 +220,8 @@ SQL
[ "$status" -eq 0 ]
run dolt sql -q "SELECT * FROM js;" -r csv
[ "$status" -eq 0 ]
[ "${lines[1]}" = '1,"{""a"":1}"' ]
[ "${lines[2]}" = '2,"{""b"":99}"' ]
[ "${lines[1]}" = '1,"{""a"": 1}"' ]
[ "${lines[2]}" = '2,"{""b"": 99}"' ]
}
@test "json-new-fmt: insert value with special characters" {
@@ -232,8 +233,9 @@ SQL
INSERT INTO js VALUES (1, '{"a":"<>&"}');
SQL
run dolt sql -q "SELECT * FROM js;" -r csv
echo "output: $output"
[ "$status" -eq 0 ]
[ "${lines[1]}" = '1,"{""a"":""<>&""}"' ]
[ "${lines[1]}" = '1,"{""a"": ""<>&""}"' ]
}
@@ -246,8 +248,9 @@ SQL
INSERT INTO js VALUES (1, '[{"a":"<>&"}]');
SQL
run dolt sql -q "SELECT * FROM js;" -r csv
echo "output: $output"
[ "$status" -eq 0 ]
[ "${lines[1]}" = '1,"[{""a"":""<>&""}]"' ]
[ "${lines[1]}" = '1,"[{""a"": ""<>&""}]"' ]
}
@test "json-new-fmt: json casting behavior" {

View File

@@ -42,7 +42,7 @@ expect {
}
expect {
"*JSON_OBJECT('id', 87, 'name', 'carrot'): {\"id\":87,\"name\":\"carrot\"}*" { exit 0 ; }
"*JSON_OBJECT('id', 87, 'name', 'carrot'): {\"id\": 87, \"name\": \"carrot\"}*" { exit 0 ; }
timeout { puts "$TEST_FAILURE" }
failed { puts "$TEST_FAILURE" }
}