imports!();
new_builder!(
GlobalEnv,
GlobalEnvs,
OrgEnvs,
MemberEnvs
);
use crate::builders::orgs::get::MemberBuilder;
use crate::builders::orgs::get::OrgBuilder;
exec!(
GlobalEnv -> crate::models::Environment,
OrgEnvs -> Vec<crate::models::Environment>,
MemberEnvs -> Vec<crate::models::Environment>,
);
from!(
@Org
-> OrgEnvs,
@Member
-> MemberEnvs,
@GlobalEnvs
-> GlobalEnv,
);
impl_client!(
-> envs ["environments"] -> GlobalEnvs,
);
impl_builder!(
@Org
-> envs ["environments"] -> OrgEnvs,
@Member
-> envs ["environments"] -> MemberEnvs,
@GlobalEnvs
=> get [] -> GlobalEnv = id,
);
#[cfg(test)]
mod test {
use crate::client::test::{client, ids::*};
use crate::client::Executor;
#[tokio::test]
async fn test_env() {
let c = client();
let res = c
.envs()
.get(ENV_ID)
.execute()
.await
.expect("send request")
.response
.expect("api error returned");
assert_ne!(res.id, "");
}
mod org {
use super::*;
#[tokio::test]
async fn test_org_envs() {
let c = client();
let res = c
.orgs()
.get(ORG_ID)
.envs()
.execute()
.await
.expect("send request")
.response
.expect("api error returned");
assert_ne!(res.len(), 0);
let ok = res.iter().fold(false, |ok, env| ok || env.id != "");
assert_eq!(ok, true);
}
}
mod member {
use super::*;
#[tokio::test]
async fn test_org_member_envs() {
let c = client();
let res = c
.orgs()
.get(ORG_ID)
.members()
.get(MEMBER_ID)
.envs()
.execute()
.await
.expect("send request")
.response
.expect("api error returned");
assert_ne!(res.len(), 0);
let ok = res.iter().fold(false, |ok, env| ok || env.id != "");
assert_eq!(ok, true);
}
}
}