mirror of
https://github.com/getnora-io/nora.git
synced 2026-04-12 09:10:32 +00:00
fix: add missing Go and Raw registries to OpenAPI, startup logs, and metrics tests (#115)
- openapi.rs: add Go Module Proxy and Raw File Storage tags, update version and description - main.rs: add /go/ to Available endpoints startup log - dashboard_metrics.rs: add go to download and upload test coverage for all 7 registries
This commit is contained in:
@@ -212,15 +212,16 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn test_record_download_all_registries() {
|
fn test_record_download_all_registries() {
|
||||||
let m = DashboardMetrics::new();
|
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);
|
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("docker"), 1);
|
||||||
assert_eq!(m.get_registry_downloads("npm"), 1);
|
assert_eq!(m.get_registry_downloads("npm"), 1);
|
||||||
assert_eq!(m.get_registry_downloads("maven"), 1);
|
assert_eq!(m.get_registry_downloads("maven"), 1);
|
||||||
assert_eq!(m.get_registry_downloads("cargo"), 1);
|
assert_eq!(m.get_registry_downloads("cargo"), 1);
|
||||||
assert_eq!(m.get_registry_downloads("pypi"), 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);
|
assert_eq!(m.get_registry_downloads("raw"), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,14 +234,18 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_record_upload() {
|
fn test_record_upload_all_registries() {
|
||||||
let m = DashboardMetrics::new();
|
let m = DashboardMetrics::new();
|
||||||
m.record_upload("docker");
|
for reg in &["docker", "npm", "maven", "cargo", "pypi", "go", "raw"] {
|
||||||
m.record_upload("maven");
|
m.record_upload(reg);
|
||||||
m.record_upload("raw");
|
}
|
||||||
assert_eq!(m.uploads.load(Ordering::Relaxed), 3);
|
assert_eq!(m.uploads.load(Ordering::Relaxed), 7);
|
||||||
assert_eq!(m.get_registry_uploads("docker"), 1);
|
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("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);
|
assert_eq!(m.get_registry_uploads("raw"), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -438,6 +438,7 @@ async fn run_server(config: Config, storage: Storage) {
|
|||||||
npm = "/npm/",
|
npm = "/npm/",
|
||||||
cargo = "/cargo/",
|
cargo = "/cargo/",
|
||||||
pypi = "/simple/",
|
pypi = "/simple/",
|
||||||
|
go = "/go/",
|
||||||
raw = "/raw/",
|
raw = "/raw/",
|
||||||
"Available endpoints"
|
"Available endpoints"
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ use crate::AppState;
|
|||||||
#[openapi(
|
#[openapi(
|
||||||
info(
|
info(
|
||||||
title = "Nora",
|
title = "Nora",
|
||||||
version = "0.2.12",
|
version = "0.5.0",
|
||||||
description = "Multi-protocol package registry supporting Docker, Maven, npm, Cargo, and PyPI",
|
description = "Multi-protocol package registry supporting Docker, Maven, npm, Cargo, PyPI, Go, and Raw",
|
||||||
license(name = "MIT"),
|
license(name = "MIT"),
|
||||||
contact(name = "DevITWay", url = "https://github.com/getnora-io/nora")
|
contact(name = "DevITWay", url = "https://github.com/getnora-io/nora")
|
||||||
),
|
),
|
||||||
@@ -35,6 +35,8 @@ use crate::AppState;
|
|||||||
(name = "npm", description = "npm Registry API"),
|
(name = "npm", description = "npm Registry API"),
|
||||||
(name = "cargo", description = "Cargo Registry API"),
|
(name = "cargo", description = "Cargo Registry API"),
|
||||||
(name = "pypi", description = "PyPI Simple 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")
|
(name = "auth", description = "Authentication & API Tokens")
|
||||||
),
|
),
|
||||||
paths(
|
paths(
|
||||||
|
|||||||
Reference in New Issue
Block a user