diff --git a/nora-registry/src/dashboard_metrics.rs b/nora-registry/src/dashboard_metrics.rs index 4db11f1..a8ae23e 100644 --- a/nora-registry/src/dashboard_metrics.rs +++ b/nora-registry/src/dashboard_metrics.rs @@ -212,15 +212,16 @@ mod tests { #[test] fn test_record_download_all_registries() { let m = DashboardMetrics::new(); - for reg in &["docker", "npm", "maven", "cargo", "pypi", "raw"] { + for reg in &["docker", "npm", "maven", "cargo", "pypi", "go", "raw"] { m.record_download(reg); } - assert_eq!(m.downloads.load(Ordering::Relaxed), 6); + assert_eq!(m.downloads.load(Ordering::Relaxed), 7); assert_eq!(m.get_registry_downloads("docker"), 1); assert_eq!(m.get_registry_downloads("npm"), 1); assert_eq!(m.get_registry_downloads("maven"), 1); assert_eq!(m.get_registry_downloads("cargo"), 1); assert_eq!(m.get_registry_downloads("pypi"), 1); + assert_eq!(m.get_registry_downloads("go"), 1); assert_eq!(m.get_registry_downloads("raw"), 1); } @@ -233,14 +234,18 @@ mod tests { } #[test] - fn test_record_upload() { + fn test_record_upload_all_registries() { let m = DashboardMetrics::new(); - m.record_upload("docker"); - m.record_upload("maven"); - m.record_upload("raw"); - assert_eq!(m.uploads.load(Ordering::Relaxed), 3); + for reg in &["docker", "npm", "maven", "cargo", "pypi", "go", "raw"] { + m.record_upload(reg); + } + assert_eq!(m.uploads.load(Ordering::Relaxed), 7); assert_eq!(m.get_registry_uploads("docker"), 1); + assert_eq!(m.get_registry_uploads("npm"), 1); assert_eq!(m.get_registry_uploads("maven"), 1); + assert_eq!(m.get_registry_uploads("cargo"), 1); + assert_eq!(m.get_registry_uploads("pypi"), 1); + assert_eq!(m.get_registry_uploads("go"), 1); assert_eq!(m.get_registry_uploads("raw"), 1); } diff --git a/nora-registry/src/main.rs b/nora-registry/src/main.rs index 906112d..58ca9b5 100644 --- a/nora-registry/src/main.rs +++ b/nora-registry/src/main.rs @@ -438,6 +438,7 @@ async fn run_server(config: Config, storage: Storage) { npm = "/npm/", cargo = "/cargo/", pypi = "/simple/", + go = "/go/", raw = "/raw/", "Available endpoints" ); diff --git a/nora-registry/src/openapi.rs b/nora-registry/src/openapi.rs index 253ba24..14369aa 100644 --- a/nora-registry/src/openapi.rs +++ b/nora-registry/src/openapi.rs @@ -18,8 +18,8 @@ use crate::AppState; #[openapi( info( title = "Nora", - version = "0.2.12", - description = "Multi-protocol package registry supporting Docker, Maven, npm, Cargo, and PyPI", + version = "0.5.0", + description = "Multi-protocol package registry supporting Docker, Maven, npm, Cargo, PyPI, Go, and Raw", license(name = "MIT"), contact(name = "DevITWay", url = "https://github.com/getnora-io/nora") ), @@ -35,6 +35,8 @@ use crate::AppState; (name = "npm", description = "npm Registry API"), (name = "cargo", description = "Cargo Registry API"), (name = "pypi", description = "PyPI Simple API"), + (name = "go", description = "Go Module Proxy API"), + (name = "raw", description = "Raw File Storage API"), (name = "auth", description = "Authentication & API Tokens") ), paths(