upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2024-06-25 09:04:31 +0100
committerDanConwayDev <DanConwayDev@protonmail.com>2024-06-25 09:04:31 +0100
commit20d201740f0ace8437cf595476a52f9e42407724 (patch)
treea5a5180160f71aa2642472cc744806d24f4354f0 /src
parentef8e2a490c63907fe31988654a54304b5b1ee1b9 (diff)
test: fix login in tests
ensure fresh global cache when under test conditions by conditionally storing it in local ./git folder
Diffstat (limited to 'src')
-rw-r--r--src/login.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/login.rs b/src/login.rs
index 58d1b87..ad9902d 100644
--- a/src/login.rs
+++ b/src/login.rs
@@ -42,7 +42,8 @@ pub async fn launch(
42 get_config_item(git_repo, "nostr.npub") 42 get_config_item(git_repo, "nostr.npub")
43 .unwrap_or("unknown ncryptsec".to_string()), 43 .unwrap_or("unknown ncryptsec".to_string()),
44 ) { 44 ) {
45 if let Ok(user_ref) = get_user_details(&public_key, client).await { 45 if let Ok(user_ref) = get_user_details(&public_key, client, git_repo).await
46 {
46 user_ref.metadata.name 47 user_ref.metadata.name
47 } else { 48 } else {
48 "unknown ncryptsec".to_string() 49 "unknown ncryptsec".to_string()
@@ -70,7 +71,7 @@ pub async fn launch(
70 } 71 }
71 } { 72 } {
72 // get user ref 73 // get user ref
73 let user_ref = get_user_details(&keys.public_key(), client).await?; 74 let user_ref = get_user_details(&keys.public_key(), client, git_repo).await?;
74 print_logged_in_as(&user_ref, client.is_none())?; 75 print_logged_in_as(&user_ref, client.is_none())?;
75 Ok((keys, user_ref)) 76 Ok((keys, user_ref))
76 } else { 77 } else {
@@ -193,7 +194,7 @@ async fn fresh_login(
193 if let Err(error) = save_keys(git_repo, &keys, always_save) { 194 if let Err(error) = save_keys(git_repo, &keys, always_save) {
194 println!("{error}"); 195 println!("{error}");
195 } 196 }
196 let user_ref = get_user_details(&keys.public_key(), client).await?; 197 let user_ref = get_user_details(&keys.public_key(), client, git_repo).await?;
197 print_logged_in_as(&user_ref, client.is_none())?; 198 print_logged_in_as(&user_ref, client.is_none())?;
198 Ok((keys, user_ref)) 199 Ok((keys, user_ref))
199} 200}
@@ -341,11 +342,17 @@ async fn get_user_details(
341 public_key: &PublicKey, 342 public_key: &PublicKey,
342 #[cfg(test)] client: Option<&crate::client::MockConnect>, 343 #[cfg(test)] client: Option<&crate::client::MockConnect>,
343 #[cfg(not(test))] client: Option<&Client>, 344 #[cfg(not(test))] client: Option<&Client>,
345 git_repo: &Repo,
344) -> Result<UserRef> { 346) -> Result<UserRef> {
345 if client.is_some() { 347 if client.is_some() {
346 println!("searching for profile and relay updates..."); 348 println!("searching for profile and relay updates...");
347 } 349 }
348 let database = SQLiteDatabase::open(get_dirs()?.config_dir().join("cache.sqlite")).await?; 350 let database = SQLiteDatabase::open(if std::env::var("NGITTEST").is_err() {
351 get_dirs()?.config_dir().join("cache.sqlite")
352 } else {
353 git_repo.get_path()?.join(".git/test-global-cache.sqlite")
354 })
355 .await?;
349 let mut events: Vec<nostr::Event> = vec![]; 356 let mut events: Vec<nostr::Event> = vec![];
350 let filters = vec![ 357 let filters = vec![
351 nostr::Filter::default() 358 nostr::Filter::default()