1
0
Fork 0

formatting

This commit is contained in:
Cyborus 2024-01-18 16:51:09 -05:00
parent 6d2c1ce21c
commit ac25339cf6
No known key found for this signature in database
2 changed files with 66 additions and 31 deletions

View file

@ -129,7 +129,10 @@ impl Forgejo {
let release = self let release = self
.repo_get_release_attachment(owner, repo, release, attach) .repo_get_release_attachment(owner, repo, release, attach)
.await?; .await?;
let request = self.client.get(format!("/attachments/{}", release.uuid.unwrap())).build()?; let request = self
.client
.get(format!("/attachments/{}", release.uuid.unwrap()))
.build()?;
Ok(self.execute(request).await?.bytes().await?) Ok(self.execute(request).await?.bytes().await?)
} }

View file

@ -1,5 +1,5 @@
use eyre::{ensure, eyre, WrapErr}; use eyre::{ensure, eyre, WrapErr};
use forgejo_api::{Forgejo, structs::*}; use forgejo_api::{structs::*, Forgejo};
#[tokio::test] #[tokio::test]
async fn ci() -> eyre::Result<()> { async fn ci() -> eyre::Result<()> {
@ -40,19 +40,23 @@ async fn user(api: &Forgejo) -> eyre::Result<()> {
"user should be named \"TestingAdmin\"" "user should be named \"TestingAdmin\""
); );
let myself_indirect = api let myself_indirect = api.user_get("TestingAdmin").await?;
.user_get("TestingAdmin")
.await?;
ensure!( ensure!(
myself == myself_indirect, myself == myself_indirect,
"result of `myself` does not match result of `get_user`" "result of `myself` does not match result of `get_user`"
); );
let query = UserListFollowingQuery { page: None, limit: None }; let query = UserListFollowingQuery {
page: None,
limit: None,
};
let following = api.user_list_following("TestingAdmin", query).await?; let following = api.user_list_following("TestingAdmin", query).await?;
ensure!(following == Vec::new(), "following list not empty"); ensure!(following == Vec::new(), "following list not empty");
let query = UserListFollowersQuery { page: None, limit: None }; let query = UserListFollowersQuery {
page: None,
limit: None,
};
let followers = api.user_list_followers("TestingAdmin", query).await?; let followers = api.user_list_followers("TestingAdmin", query).await?;
ensure!(followers == Vec::new(), "follower list not empty"); ensure!(followers == Vec::new(), "follower list not empty");
@ -118,7 +122,10 @@ async fn repo(api: &forgejo_api::Forgejo) -> eyre::Result<()> {
remote_repo.owner.as_ref().unwrap().login.as_ref().unwrap() == "TestingAdmin", remote_repo.owner.as_ref().unwrap().login.as_ref().unwrap() == "TestingAdmin",
"repo owner is not \"TestingAdmin\"" "repo owner is not \"TestingAdmin\""
); );
ensure!(remote_repo.name.as_ref().unwrap() == "test", "repo owner is not \"test\""); ensure!(
remote_repo.name.as_ref().unwrap() == "test",
"repo owner is not \"test\""
);
tokio::time::sleep(std::time::Duration::from_secs(3)).await; tokio::time::sleep(std::time::Duration::from_secs(3)).await;
let mut remote_url = remote_repo.clone_url.clone().unwrap(); let mut remote_url = remote_repo.clone_url.clone().unwrap();
@ -245,25 +252,42 @@ async fn repo(api: &forgejo_api::Forgejo) -> eyre::Result<()> {
"test", "test",
release.id.unwrap(), release.id.unwrap(),
b"This is a file!".to_vec(), b"This is a file!".to_vec(),
RepoCreateReleaseAttachmentQuery { name: Some("test.txt".into()) }, RepoCreateReleaseAttachmentQuery {
name: Some("test.txt".into()),
},
) )
.await .await
.wrap_err("failed to create release attachment")?; .wrap_err("failed to create release attachment")?;
ensure!( ensure!(
&*api.download_release_attachment("TestingAdmin", "test", release.id.unwrap(), attachment.id.unwrap()) &*api
.download_release_attachment(
"TestingAdmin",
"test",
release.id.unwrap(),
attachment.id.unwrap()
)
.await? .await?
== b"This is a file!", == b"This is a file!",
"couldn't download attachment" "couldn't download attachment"
); );
let _zip_archive = api.repo_get_archive("TestingAdmin", "test", "v1.0.zip") let _zip_archive = api
.await.unwrap(); .repo_get_archive("TestingAdmin", "test", "v1.0.zip")
let _tar_archive = api.repo_get_archive("TestingAdmin", "test", "v1.0.tar.gz") .await
.await.unwrap(); .unwrap();
let _tar_archive = api
.repo_get_archive("TestingAdmin", "test", "v1.0.tar.gz")
.await
.unwrap();
// check these contents when their return value is fixed // check these contents when their return value is fixed
api.repo_delete_release_attachment("TestingAdmin", "test", release.id.unwrap(), attachment.id.unwrap()) api.repo_delete_release_attachment(
.await "TestingAdmin",
.wrap_err("failed to deleted attachment")?; "test",
release.id.unwrap(),
attachment.id.unwrap(),
)
.await
.wrap_err("failed to deleted attachment")?;
api.repo_delete_release("TestingAdmin", "test", release.id.unwrap()) api.repo_delete_release("TestingAdmin", "test", release.id.unwrap())
.await .await
@ -306,7 +330,10 @@ async fn admin(api: &forgejo_api::Forgejo) -> eyre::Result<()> {
.await .await
.wrap_err("failed to search users")?; .wrap_err("failed to search users")?;
ensure!( ensure!(
users.iter().find(|u| u.login.as_ref().unwrap() == "Pipis").is_some(), users
.iter()
.find(|u| u.login.as_ref().unwrap() == "Pipis")
.is_some(),
"could not find new user" "could not find new user"
); );
let query = AdminGetAllEmailsQuery { let query = AdminGetAllEmailsQuery {
@ -344,9 +371,7 @@ async fn admin(api: &forgejo_api::Forgejo) -> eyre::Result<()> {
limit: None, limit: None,
}; };
ensure!( ensure!(
!api.admin_get_all_orgs(query) !api.admin_get_all_orgs(query).await?.is_empty(),
.await?
.is_empty(),
"org list empty" "org list empty"
); );
@ -369,15 +394,11 @@ async fn admin(api: &forgejo_api::Forgejo) -> eyre::Result<()> {
api.admin_rename_user("Pipis", rename_opt) api.admin_rename_user("Pipis", rename_opt)
.await .await
.wrap_err("failed to rename user")?; .wrap_err("failed to rename user")?;
let query = AdminDeleteUserQuery { let query = AdminDeleteUserQuery { purge: Some(true) };
purge: Some(true),
};
api.admin_delete_user("Bepis", query) api.admin_delete_user("Bepis", query)
.await .await
.wrap_err("failed to delete user")?; .wrap_err("failed to delete user")?;
let query = AdminDeleteUserQuery { let query = AdminDeleteUserQuery { purge: Some(true) };
purge: Some(true),
};
ensure!( ensure!(
api.admin_delete_user("Ghost", query).await.is_err(), api.admin_delete_user("Ghost", query).await.is_err(),
"deleting fake user should fail" "deleting fake user should fail"
@ -391,9 +412,16 @@ async fn admin(api: &forgejo_api::Forgejo) -> eyre::Result<()> {
.admin_cron_list(query) .admin_cron_list(query)
.await .await
.wrap_err("failed to get crons list")?; .wrap_err("failed to get crons list")?;
api.admin_cron_run(&crons.get(0).ok_or_else(|| eyre!("no crons"))?.name.as_ref().unwrap()) api.admin_cron_run(
.await &crons
.wrap_err("failed to run cron")?; .get(0)
.ok_or_else(|| eyre!("no crons"))?
.name
.as_ref()
.unwrap(),
)
.await
.wrap_err("failed to run cron")?;
let hook_opt = CreateHookOption { let hook_opt = CreateHookOption {
active: None, active: None,
@ -402,7 +430,11 @@ async fn admin(api: &forgejo_api::Forgejo) -> eyre::Result<()> {
config: CreateHookOptionConfig { config: CreateHookOptionConfig {
// content_type: "json".into(), // content_type: "json".into(),
// url: url::Url::parse("http://test.local/").unwrap(), // url: url::Url::parse("http://test.local/").unwrap(),
additional: [("content_type".into(), "json".into()), ("url".into(), "http://test.local/".into())].into(), additional: [
("content_type".into(), "json".into()),
("url".into(), "http://test.local/".into()),
]
.into(),
}, },
events: Some(Vec::new()), events: Some(Vec::new()),
r#type: "forgejo".into(), r#type: "forgejo".into(),