fix: use isolated root dirs
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful

This commit is contained in:
Aravinth Manivannan 2025-02-06 15:09:54 +05:30
parent 7893d0a3eb
commit d0d8253478
Signed by: realaravinth
GPG key ID: F8F50389936984FF
6 changed files with 21 additions and 10 deletions

View file

@ -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_DATABASE_URL="sqlite://$SQLITE_TMP/admin.db"
export STARCHART__CRAWLER__WAIT_BEFORE_NEXT_API_CALL=0
export FORGEJO_HOST=http://localhost:3000

View file

@ -183,7 +183,10 @@ mod tests {
#[actix_rt::test]
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);
let steps = NET_REPOSITORIES / PER_CRAWL;

View file

@ -107,14 +107,15 @@ mod tests {
use crate::pages::errors::*;
use crate::settings::Settings;
#[test]
fn add_page_works() {
let settings = Settings::new().unwrap();
AddChallenge::page(&settings);
#[actix_rt::test]
async fn add_page_works() {
let (_, ctx, _, _tmp) = crate::tests::sqlx_sqlite::get_ctx().await;
// let settings = Settings::new().unwrap();
AddChallenge::page(&ctx.settings);
let payload = AddChallengePayload {
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.render();
}

View file

@ -309,6 +309,12 @@ fn set_separator_field(mut s: ConfigBuilder<DefaultState>) -> ConfigBuilder<Defa
&format!("{PREFIX}{SEPARATOR}CRAWLER{SEPARATOR}WAIT_BEFORE_NEXT_API_CALL"),
"crawler.wait_before_next_api_call",
);
s = from_env(
s,
&format!("{PREFIX}{SEPARATOR}REPOSITORY{SEPARATOR}ROOT"),
"repository.root",
);
s
}

View file

@ -234,9 +234,7 @@ mod tests {
#[actix_rt::test]
async fn crawl_gitea() {
let (db, ctx, federate, _tmp_dir) = sqlx_sqlite::get_ctx().await;
let url = Url::parse(
&std::env::var("FORGEJO_HOST").unwrap()
).unwrap();
let url = Url::parse(&std::env::var("FORGEJO_HOST").unwrap()).unwrap();
ctx.crawl(&url, &db, &federate).await;
// let hostname = get_hostname(&Url::parse(GITEA_HOST).unwrap());
assert!(db.forge_exists(&url).await.unwrap());

View file

@ -57,12 +57,14 @@ pub mod sqlx_sqlite {
let url = env::var("SQLITE_DATABASE_URL").unwrap();
env::set_var("DATABASE_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();
settings.database.url = url.clone();
settings.database.database_type = DBType::Sqlite;
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();
let federate = get_federate(Some(settings.clone())).await;