47 lines
2.2 KiB
Rust
47 lines
2.2 KiB
Rust
//! Module with integration test-only util methods setting up sqlite.
|
|
|
|
use diesel::{ExpressionMethods, QueryDsl, RunQueryDsl};
|
|
|
|
use super::{schema, sqlite::init_db};
|
|
|
|
/// Updates the 'user' and 'host' columns for stored blocks to the given values.
|
|
///
|
|
/// This is used at runtime to update the user and host values to real values based on the running
|
|
/// machine in integration tests that rely on accuracy of these values.
|
|
pub fn set_user_and_hostname_for_blocks(user: String, hostname: String) {
|
|
let mut conn = init_db().expect("Should be able to establish sqlite connection.");
|
|
|
|
// Update the 'user' and 'host' columns to their real values (based on the machine on which this test is running)
|
|
// for blocks that were stored with the placeholder 'local:user' and 'local:host' values.
|
|
//
|
|
// This allows us to use real (rather than mocked out) logic for matching restored
|
|
// blocks to the appropriate session based on session hostnamebased on system hostname.
|
|
diesel::update(schema::blocks::dsl::blocks.filter(schema::blocks::user.eq("local:user")))
|
|
.set((
|
|
schema::blocks::user.eq(user),
|
|
schema::blocks::host.eq(hostname),
|
|
))
|
|
.execute(&mut conn)
|
|
.expect("Failed to update user and hostname for restored blocks.");
|
|
}
|
|
|
|
pub fn set_user_and_hostname_for_commands(user: String, hostname: String) {
|
|
let mut conn = init_db().expect("Should be able to establish sqlite connection.");
|
|
|
|
// Update the 'user' and 'host' columns to their real values (based on the machine on which
|
|
// this test is running) for commands that were stored with the placeholder 'local:user' and
|
|
// 'local:host' values.
|
|
//
|
|
// This allows us to use real (rather than mocked out) logic for matching history commands to
|
|
// the appropriate session based on session hostnamebased on system hostname.
|
|
diesel::update(
|
|
schema::commands::dsl::commands.filter(schema::commands::username.eq("local:user")),
|
|
)
|
|
.set((
|
|
schema::commands::username.eq(user),
|
|
schema::commands::hostname.eq(hostname),
|
|
))
|
|
.execute(&mut conn)
|
|
.expect("Failed to update user and hostname for persisted commands.");
|
|
}
|