Files
harmony/harmony_macros/tests/context.rs

24 lines
1000 B
Rust

use harmony_macros::{
context_name, domain, http_url, oci_registry, oci_repository, openbao_namespace,
};
use harmony_types::context::{
ContextName, DomainName, HttpUrl, OciRegistry, OciRepository, OpenBaoNamespace,
};
#[test]
fn context_literals_produce_validated_types() {
let context: ContextName = context_name!("prod.eu");
let domain: DomainName = domain!("api.example.com");
let url: HttpUrl = http_url!("https://api.example.com/v1");
let registry: OciRegistry = oci_registry!("registry.example.com:5000");
let repository: OciRepository = oci_repository!("team/my_app");
let namespace: OpenBaoNamespace = openbao_namespace!("team/app");
assert_eq!(context.as_ref(), "prod.eu");
assert_eq!(domain.as_ref(), "api.example.com");
assert_eq!(url.as_ref(), "https://api.example.com/v1");
assert_eq!(registry.as_ref(), "registry.example.com:5000");
assert_eq!(repository.as_ref(), "team/my_app");
assert_eq!(namespace.as_ref(), "team/app");
}