31 lines
916 B
Rust
31 lines
916 B
Rust
use sqlx::{PgPool, Executor};
|
|
use tokio;
|
|
|
|
#[tokio::test]
|
|
async fn test_get_user() {
|
|
// Set up a temporary in-memory PostgreSQL database
|
|
let pool = PgPool::connect("postgres://user:password@localhost/test_database").await.unwrap();
|
|
|
|
// Create the test table
|
|
pool.execute(
|
|
r#"
|
|
CREATE TABLE users (
|
|
user_id TEXT PRIMARY KEY,
|
|
username TEXT NOT NULL,
|
|
email TEXT NOT NULL,
|
|
hashed_password TEXT NOT NULL
|
|
);
|
|
INSERT INTO users (user_id, username, email, hashed_password)
|
|
VALUES ('123', 'test_user', 'test@example.com', 'hashed_password_example');
|
|
"#,
|
|
)
|
|
.await
|
|
.unwrap();
|
|
|
|
// Test the `get_user` function
|
|
let user = get_user(&pool, "123").await.unwrap();
|
|
assert_eq!(user.user_id, "123");
|
|
assert_eq!(user.username, "test_user");
|
|
assert_eq!(user.email, "test@example.com");
|
|
}
|