ADD UT
This commit is contained in:
parent
f4e7282442
commit
bb11909ac0
@ -128,14 +128,26 @@ func TestPreparedStmtLruFromTransaction(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tx2.Commit()
|
tx2.Commit()
|
||||||
|
// Attempt to convert the connection pool of tx to the *gorm.PreparedStmtDB type.
|
||||||
|
// If the conversion is successful, ok will be true and conn will be the converted object;
|
||||||
|
// otherwise, ok will be false and conn will be nil.
|
||||||
conn, ok := tx.ConnPool.(*gorm.PreparedStmtDB)
|
conn, ok := tx.ConnPool.(*gorm.PreparedStmtDB)
|
||||||
|
// Get the number of statement keys stored in the PreparedStmtDB.
|
||||||
lens := len(conn.Stmts.Keys())
|
lens := len(conn.Stmts.Keys())
|
||||||
|
// Check if the number of stored statement keys is 0.
|
||||||
if lens == 0 {
|
if lens == 0 {
|
||||||
|
// If the number is 0, it means there are no statements stored in the LRU cache.
|
||||||
|
// The test fails and an error message is output.
|
||||||
t.Fatalf("lru should not be empty")
|
t.Fatalf("lru should not be empty")
|
||||||
}
|
}
|
||||||
|
// Wait for 40 seconds to give the statements in the cache enough time to expire.
|
||||||
time.Sleep(time.Second * 40)
|
time.Sleep(time.Second * 40)
|
||||||
|
// Assert whether the connection pool of tx is successfully converted to the *gorm.PreparedStmtDB type.
|
||||||
AssertEqual(t, ok, true)
|
AssertEqual(t, ok, true)
|
||||||
|
// Assert whether the number of statement keys stored in the PreparedStmtDB is 0 after 40 seconds.
|
||||||
|
// If it is not 0, it means the statements in the cache have not expired as expected.
|
||||||
AssertEqual(t, len(conn.Stmts.Keys()), 0)
|
AssertEqual(t, len(conn.Stmts.Keys()), 0)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPreparedStmtDeadlock(t *testing.T) {
|
func TestPreparedStmtDeadlock(t *testing.T) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user