24 lines
1000 B
Rust
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");
|
|
}
|