50 lines
1.4 KiB
Ruby
50 lines
1.4 KiB
Ruby
#!/usr/bin/ruby
|
|
|
|
require 'pg'
|
|
require 'test/unit'
|
|
|
|
extend Test::Unit::Assertions
|
|
|
|
user = ARGV[0]
|
|
port = ARGV[1]
|
|
db = "postgres"
|
|
|
|
queries = [
|
|
"create table test (pk int, value int, d1 decimal(9, 3), f1 float, c1 char(10), t1 text, primary key(pk))",
|
|
"select * from test",
|
|
"insert into test (pk, value, d1, f1, c1, t1) values (0,0,0.0,0.0,'abc','a1')",
|
|
"select * from test",
|
|
"select dolt_add('-A');",
|
|
"select dolt_commit('-m', 'my commit')",
|
|
"select COUNT(*) FROM dolt.log",
|
|
"select dolt_checkout('-b', 'mybranch')",
|
|
"insert into test (pk, value, d1, f1, c1, t1) values (1,1, 123456.789, 420.42,'example','some text')",
|
|
"select dolt_commit('-a', '-m', 'my commit2')",
|
|
"select dolt_checkout('main')",
|
|
"select dolt_merge('mybranch')",
|
|
"select COUNT(*) FROM dolt.log",
|
|
]
|
|
|
|
# Smoke test the queries to make sure nothing blows up
|
|
conn = PG::Connection.new(:host => "localhost", :user => user, :dbname => db, :port => port, :password => "password")
|
|
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["pk"].to_i
|
|
assert_equal 1, row["value"].to_i
|
|
assert_equal 123456.789, row["d1"].to_f
|
|
assert_equal 420.42, row["f1"].to_f
|
|
assert_equal "example ", row["c1"]
|
|
assert_equal "some text", row["t1"]
|
|
end
|
|
assert_equal 1, rowCount
|
|
|
|
conn.close()
|
|
exit(0)
|