Files
dolt/integration-tests/mysql-client-tests/ruby/ruby-mysql-test.rb

50 lines
1.2 KiB
Ruby

#!/usr/bin/ruby
require 'mysql'
require 'test/unit'
require 'pp'
extend Test::Unit::Assertions
user = ARGV[0]
port = ARGV[1]
db = ARGV[2]
queries = [
"create table test (pk int, `value` int, d1 decimal(9, 3), f1 float, primary key(pk))",
"describe test",
"select * from test",
"insert into test (pk, `value`, d1, f1) values (0,0,0.0,0.0)",
"select * from test",
"call dolt_add('-A');",
"call dolt_commit('-m', 'my commit')",
"select COUNT(*) FROM dolt_log",
"call dolt_checkout('-b', 'mybranch')",
"insert into test (pk, `value`, d1, f1) values (1,1, 123456.789, 420.42)",
"call dolt_commit('-a', '-m', 'my commit2')",
"call dolt_checkout('main')",
"call dolt_merge('mybranch')",
"select COUNT(*) FROM dolt_log",
]
# Smoke test the queries to make sure nothing blows up
conn = Mysql::new("127.0.0.1", user, "", db, port)
queries.each do |query|
res = conn.query(query)
end
# Then make sure we can read some data back
res = conn.query("SELECT * from test where pk = 1;")
rowCount = 0
res.each do |row|
rowCount += 1
assert_equal 1, row[0].to_i
assert_equal 1, row[1].to_i
assert_equal 123456.789, row[2].to_f
assert_equal 420.42, row[3].to_f
end
assert_equal 1, rowCount
conn.close()
exit(0)