fix: use isolated root dirs
This commit is contained in:
parent
7893d0a3eb
commit
d0d8253478
6 changed files with 21 additions and 10 deletions
|
@ -2,3 +2,4 @@ export POSTGRES_DATABASE_URL="postgres://postgres:password@localhost:5432/postgr
|
||||||
export SQLITE_TMP="$(pwd)/db/db-sqlx-sqlite/tmp"
|
export SQLITE_TMP="$(pwd)/db/db-sqlx-sqlite/tmp"
|
||||||
export SQLITE_DATABASE_URL="sqlite://$SQLITE_TMP/admin.db"
|
export SQLITE_DATABASE_URL="sqlite://$SQLITE_TMP/admin.db"
|
||||||
export STARCHART__CRAWLER__WAIT_BEFORE_NEXT_API_CALL=0
|
export STARCHART__CRAWLER__WAIT_BEFORE_NEXT_API_CALL=0
|
||||||
|
export FORGEJO_HOST=http://localhost:3000
|
||||||
|
|
|
@ -183,7 +183,10 @@ mod tests {
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn gitea_works() {
|
async fn gitea_works() {
|
||||||
let ctx = Gitea::new(Url::parse(&std::env::var("FORGEJO_HOST").unwrap()).unwrap(), Client::new());
|
let ctx = Gitea::new(
|
||||||
|
Url::parse(&std::env::var("FORGEJO_HOST").unwrap()).unwrap(),
|
||||||
|
Client::new(),
|
||||||
|
);
|
||||||
|
|
||||||
assert!(ctx.is_forge().await);
|
assert!(ctx.is_forge().await);
|
||||||
let steps = NET_REPOSITORIES / PER_CRAWL;
|
let steps = NET_REPOSITORIES / PER_CRAWL;
|
||||||
|
|
|
@ -107,14 +107,15 @@ mod tests {
|
||||||
use crate::pages::errors::*;
|
use crate::pages::errors::*;
|
||||||
use crate::settings::Settings;
|
use crate::settings::Settings;
|
||||||
|
|
||||||
#[test]
|
#[actix_rt::test]
|
||||||
fn add_page_works() {
|
async fn add_page_works() {
|
||||||
let settings = Settings::new().unwrap();
|
let (_, ctx, _, _tmp) = crate::tests::sqlx_sqlite::get_ctx().await;
|
||||||
AddChallenge::page(&settings);
|
// let settings = Settings::new().unwrap();
|
||||||
|
AddChallenge::page(&ctx.settings);
|
||||||
let payload = AddChallengePayload {
|
let payload = AddChallengePayload {
|
||||||
hostname: url::Url::parse("https://example.com").unwrap(),
|
hostname: url::Url::parse("https://example.com").unwrap(),
|
||||||
};
|
};
|
||||||
let page = AddChallenge::new(&settings, Some(&payload));
|
let page = AddChallenge::new(&ctx.settings, Some(&payload));
|
||||||
page.with_error(&ReadableError::new(&ServiceError::ClosedForRegistration));
|
page.with_error(&ReadableError::new(&ServiceError::ClosedForRegistration));
|
||||||
page.render();
|
page.render();
|
||||||
}
|
}
|
||||||
|
|
|
@ -309,6 +309,12 @@ fn set_separator_field(mut s: ConfigBuilder<DefaultState>) -> ConfigBuilder<Defa
|
||||||
&format!("{PREFIX}{SEPARATOR}CRAWLER{SEPARATOR}WAIT_BEFORE_NEXT_API_CALL"),
|
&format!("{PREFIX}{SEPARATOR}CRAWLER{SEPARATOR}WAIT_BEFORE_NEXT_API_CALL"),
|
||||||
"crawler.wait_before_next_api_call",
|
"crawler.wait_before_next_api_call",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
s = from_env(
|
||||||
|
s,
|
||||||
|
&format!("{PREFIX}{SEPARATOR}REPOSITORY{SEPARATOR}ROOT"),
|
||||||
|
"repository.root",
|
||||||
|
);
|
||||||
s
|
s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -234,9 +234,7 @@ mod tests {
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
async fn crawl_gitea() {
|
async fn crawl_gitea() {
|
||||||
let (db, ctx, federate, _tmp_dir) = sqlx_sqlite::get_ctx().await;
|
let (db, ctx, federate, _tmp_dir) = sqlx_sqlite::get_ctx().await;
|
||||||
let url = Url::parse(
|
let url = Url::parse(&std::env::var("FORGEJO_HOST").unwrap()).unwrap();
|
||||||
&std::env::var("FORGEJO_HOST").unwrap()
|
|
||||||
).unwrap();
|
|
||||||
ctx.crawl(&url, &db, &federate).await;
|
ctx.crawl(&url, &db, &federate).await;
|
||||||
// let hostname = get_hostname(&Url::parse(GITEA_HOST).unwrap());
|
// let hostname = get_hostname(&Url::parse(GITEA_HOST).unwrap());
|
||||||
assert!(db.forge_exists(&url).await.unwrap());
|
assert!(db.forge_exists(&url).await.unwrap());
|
||||||
|
|
|
@ -57,12 +57,14 @@ pub mod sqlx_sqlite {
|
||||||
let url = env::var("SQLITE_DATABASE_URL").unwrap();
|
let url = env::var("SQLITE_DATABASE_URL").unwrap();
|
||||||
env::set_var("DATABASE_URL", &url);
|
env::set_var("DATABASE_URL", &url);
|
||||||
println!("found db url: {url}");
|
println!("found db url: {url}");
|
||||||
|
let tmp_dir = Temp::new_dir().unwrap();
|
||||||
|
env::set_var("STARCHART__REPOSITORY__ROOT", tmp_dir.to_str().unwrap());
|
||||||
|
|
||||||
let mut settings = Settings::new().unwrap();
|
let mut settings = Settings::new().unwrap();
|
||||||
settings.database.url = url.clone();
|
settings.database.url = url.clone();
|
||||||
settings.database.database_type = DBType::Sqlite;
|
settings.database.database_type = DBType::Sqlite;
|
||||||
let db = sqlite::get_data(Some(settings.clone())).await;
|
let db = sqlite::get_data(Some(settings.clone())).await;
|
||||||
|
|
||||||
let tmp_dir = Temp::new_dir().unwrap();
|
|
||||||
settings.repository.root = tmp_dir.to_str().unwrap().to_string();
|
settings.repository.root = tmp_dir.to_str().unwrap().to_string();
|
||||||
let federate = get_federate(Some(settings.clone())).await;
|
let federate = get_federate(Some(settings.clone())).await;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue