add testing boilerplate
This commit is contained in:
parent
62ac8f5d48
commit
cea10e2fca
29
Cargo.lock
generated
29
Cargo.lock
generated
|
@ -128,6 +128,16 @@ dependencies = [
|
||||||
"windows-sys",
|
"windows-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "eyre"
|
||||||
|
version = "0.6.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "80f656be11ddf91bd709454d15d5bd896fbaf4cc3314e69349e4d1569f5b46cd"
|
||||||
|
dependencies = [
|
||||||
|
"indenter",
|
||||||
|
"once_cell",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fastrand"
|
name = "fastrand"
|
||||||
version = "2.0.1"
|
version = "2.0.1"
|
||||||
|
@ -159,6 +169,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
|
||||||
name = "forgejo-api"
|
name = "forgejo-api"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"eyre",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
"serde",
|
"serde",
|
||||||
"soft_assert",
|
"soft_assert",
|
||||||
|
@ -328,6 +339,12 @@ dependencies = [
|
||||||
"unicode-normalization",
|
"unicode-normalization",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "indenter"
|
||||||
|
version = "0.3.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "indexmap"
|
name = "indexmap"
|
||||||
version = "1.9.3"
|
version = "1.9.3"
|
||||||
|
@ -843,9 +860,21 @@ dependencies = [
|
||||||
"mio",
|
"mio",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"socket2 0.5.5",
|
"socket2 0.5.5",
|
||||||
|
"tokio-macros",
|
||||||
"windows-sys",
|
"windows-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tokio-macros"
|
||||||
|
version = "2.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tokio-native-tls"
|
name = "tokio-native-tls"
|
||||||
version = "0.3.1"
|
version = "0.3.1"
|
||||||
|
|
|
@ -13,3 +13,7 @@ tokio = { version = "1.29.1", features = ["net"] }
|
||||||
url = { version = "2.4.0", features = ["serde"] }
|
url = { version = "2.4.0", features = ["serde"] }
|
||||||
serde = { version = "1.0.168", features = ["derive"] }
|
serde = { version = "1.0.168", features = ["derive"] }
|
||||||
time = { version = "0.3.22", features = ["parsing", "serde", "formatting"] }
|
time = { version = "0.3.22", features = ["parsing", "serde", "formatting"] }
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
eyre = "0.6.9"
|
||||||
|
tokio = { version = "1.29.1", features = ["net", "rt", "macros"] }
|
||||||
|
|
|
@ -1,6 +1,27 @@
|
||||||
#[test]
|
use forgejo_api::{Forgejo, ForgejoError};
|
||||||
fn ci() {
|
|
||||||
let url = url::Url::parse(&std::env::var("FORGEJO_API_CI_INSTANCE_URL").unwrap()).unwrap();
|
#[tokio::test]
|
||||||
let token = std::env::var("FORGEJO_API_CI_TOKEN").unwrap();
|
async fn ci() -> eyre::Result<()> {
|
||||||
let api = forgejo_api::Forgejo::new(&token, url).unwrap();
|
let url = url::Url::parse(&std::env::var("FORGEJO_API_CI_INSTANCE_URL")?)?;
|
||||||
|
let token = std::env::var("FORGEJO_API_CI_TOKEN")?;
|
||||||
|
let api = Forgejo::new(&token, url)?;
|
||||||
|
|
||||||
|
let mut results = Vec::new();
|
||||||
|
|
||||||
|
results.push(user(&api).await.map_err(|e| eyre::eyre!("user error: {e}")));
|
||||||
|
|
||||||
|
let mut errors = 0;
|
||||||
|
for res in results.into_iter().filter_map(Result::err) {
|
||||||
|
errors += 1;
|
||||||
|
println!("{res}");
|
||||||
|
}
|
||||||
|
if errors > 0 {
|
||||||
|
eyre::bail!("test failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
async fn user(api: &forgejo_api::Forgejo) -> Result<(), ForgejoError> {
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue