use crate::{Credentials, resources};
#[derive(Debug, Clone)]
pub struct Drive {
pub about: resources::About,
pub apps: resources::Apps,
pub changes: resources::Changes,
pub channels: resources::Channels,
pub comments: resources::Comments,
pub drives: resources::Drives,
pub files: resources::Files,
pub permissions: resources::Permissions,
pub replies: resources::Replies,
pub revisions: resources::Revisions,
}
impl Drive {
pub fn new( credentials: &Credentials ) -> Self {
Self {
about: resources::About::new(credentials),
apps: resources::Apps::new(credentials),
changes: resources::Changes::new(credentials),
channels: resources::Channels::new(credentials),
comments: resources::Comments::new(credentials),
drives: resources::Drives::new(credentials),
files: resources::Files::new(credentials),
permissions: resources::Permissions::new(credentials),
replies: resources::Replies::new(credentials),
revisions: resources::Revisions::new(credentials),
}
}
}
#[cfg(test)]
mod tests {
use super::Drive;
use crate::utils::test::VALID_CREDENTIALS;
use crate::resources::{About, Apps, Files, Changes, Channels, Comments,
Drives, Permissions, Replies, Revisions};
#[test]
fn new_test() {
let credentials = VALID_CREDENTIALS.clone();
let drive = Drive::new(&credentials);
assert_eq!( drive.about, About::new(&credentials) );
assert_eq!( drive.apps, Apps::new(&credentials) );
assert_eq!( drive.changes, Changes::new(&credentials) );
assert_eq!( drive.channels, Channels::new(&credentials) );
assert_eq!( drive.comments, Comments::new(&credentials) );
assert_eq!( drive.drives, Drives::new(&credentials) );
assert_eq!( drive.files, Files::new(&credentials) );
assert_eq!( drive.permissions, Permissions::new(&credentials) );
assert_eq!( drive.replies, Replies::new(&credentials) );
assert_eq!( drive.revisions, Revisions::new(&credentials) );
}
}