imports!();
new_builder!(
Org,
Orgs,
Member,
Members,
OrgNamespaces
);
exec!(
Org -> crate::models::Organization,
Orgs -> Vec<crate::models::Organization>,
Member -> crate::models::OrgMember,
Members -> Vec<crate::models::OrgMember>,
OrgNamespaces -> Vec<String>,
);
from!(
@Orgs
-> Org,
-> OrgNamespaces,
@Org
-> Members,
@Members
-> Member,
);
impl_client!(
-> orgs ["orgs"] -> Orgs,
);
impl_builder!(
@Orgs
=> get [] -> Org = id,
-> namespaces ["namespaces"] -> OrgNamespaces,
@Org
-> members ["members"] -> Members,
@Members
=> get [] -> Member = user_id,
);
#[cfg(test)]
mod test {
use crate::client::test::{client, ids::*};
use crate::client::Executor;
#[tokio::test]
async fn test_orgs() {
let c = client();
let res = c
.orgs()
.execute()
.await
.expect("send request")
.response
.expect("api error returned");
assert_ne!(res.len(), 0);
let ok = res.iter().fold(false, |ok, org| ok || org.id != "");
assert_eq!(ok, true);
}
#[tokio::test]
async fn test_org() {
let c = client();
let res = c
.orgs()
.get(ORG_ID)
.execute()
.await
.expect("send request")
.response
.expect("api error returned");
assert_eq!(res.id, ORG_ID);
}
#[tokio::test]
async fn test_org_namespaces() {
let c = client();
let res = c
.orgs()
.namespaces()
.execute()
.await
.expect("send request")
.response
.expect("api error returned");
assert_ne!(res.len(), 0);
let ok = res.iter().fold(false, |ok, n| ok || n != "");
assert_eq!(ok, true);
}
mod members {
use super::*;
#[tokio::test]
async fn test_org_members() {
let c = client();
let res = c
.orgs()
.get(ORG_ID)
.members()
.execute()
.await
.expect("send request")
.response
.expect("api error returned");
assert_ne!(res.len(), 0);
let ok = res.iter().fold(false, |ok, mem| ok || mem.user.id != "");
assert_eq!(ok, true);
}
#[tokio::test]
async fn test_org_member() {
let c = client();
let res = c
.orgs()
.get(ORG_ID)
.members()
.get(MEMBER_ID)
.execute()
.await
.expect("send request")
.response
.expect("api error returned");
assert_ne!(res.user.id, "");
}
}
}