37 lines
1.1 KiB
Lua
37 lines
1.1 KiB
Lua
describe("db", function()
|
|
local db
|
|
|
|
before_each(function()
|
|
db = require("db")
|
|
end)
|
|
|
|
describe("config", function()
|
|
it("has required connection fields", function()
|
|
assert.is_table(db.config)
|
|
assert.is_string(db.config.host)
|
|
assert.is_string(db.config.port)
|
|
assert.is_string(db.config.database)
|
|
assert.is_string(db.config.user)
|
|
assert.is_string(db.config.password)
|
|
end)
|
|
end)
|
|
|
|
describe("with_retry", function()
|
|
it("returns result when function succeeds immediately", function()
|
|
local result, err = db.with_retry(function()
|
|
return "ok"
|
|
end)
|
|
assert.are.equal("ok", result)
|
|
assert.is_nil(err)
|
|
end)
|
|
|
|
it("returns nil, err when function fails with non-retryable error", function()
|
|
local result, err = db.with_retry(function()
|
|
return nil, "validation failed"
|
|
end)
|
|
assert.is_nil(result)
|
|
assert.are.equal("validation failed", err)
|
|
end)
|
|
end)
|
|
end)
|