pub mod bitbucket;
pub mod client;
pub mod error;
pub mod github;
pub mod gitlab;
pub mod progress;
pub mod types;
pub mod verify;
pub use bitbucket::BitbucketMigrator;
pub use client::GutsClient;
pub use error::{MigrationError, Result};
pub use github::GitHubMigrator;
pub use gitlab::GitLabMigrator;
pub use progress::{MigrationProgress, ProgressCallback};
pub use types::*;
pub use verify::MigrationVerifier;
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_migration_options_builder() {
let options = MigrationOptions::default()
.with_issues(true)
.with_pull_requests(true)
.with_releases(false)
.with_wiki(false);
assert!(options.migrate_issues);
assert!(options.migrate_pull_requests);
assert!(!options.migrate_releases);
assert!(!options.migrate_wiki);
}
#[test]
fn test_migration_report_summary() {
let mut report = MigrationReport::new();
report.repo_created = true;
report.git_mirrored = true;
report.issues_migrated = 10;
report.prs_migrated = 5;
assert!(report.is_successful());
assert_eq!(report.total_items_migrated(), 15);
}
}