use crate::services::github_issues::GitHubIssuesService;
use crate::services::pdmt_github_integration::PdmtGitHubService;
pub struct GitHubMcpIntegration;
impl GitHubMcpIntegration {
pub fn create_github_service(token: &str) -> Result<GitHubIssuesService, String> {
GitHubIssuesService::new(token)
.map_err(|e| format!("Failed to create GitHub service: {}", e))
}
pub fn create_pdmt_service() -> PdmtGitHubService {
PdmtGitHubService::new()
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_github_mcp_integration() {
let integration = GitHubMcpIntegration;
let pdmt_service = GitHubMcpIntegration::create_pdmt_service();
let result = GitHubMcpIntegration::create_github_service("");
assert!(result.is_err());
}
}
#[cfg(test)]
mod property_tests {
use proptest::prelude::*;
proptest! {
#[test]
fn basic_property_stability(_input in ".*") {
prop_assert!(true);
}
#[test]
fn module_consistency_check(_x in 0u32..1000) {
prop_assert!(_x < 1001);
}
}
}