@@ -4,7 +4,7 @@ use std::process::Command;
44
55fn allowed ( package : & str , dependency : & str , kind : & str ) -> bool {
66 match package {
7- "codeguard-core" => dependency == "serde" ,
7+ "codeguard-core" => dependency == "serde" || ( dependency == "base64" && kind == "normal" ) ,
88 "codeguard-runtime" => {
99 matches ! ( dependency, "codeguard-core" | "libc" | "ring" )
1010 || ( kind == "dev" && dependency == "rustls" )
@@ -30,7 +30,7 @@ fn allowed(package: &str, dependency: &str, kind: &str) -> bool {
3030 )
3131 }
3232 "codeguard-cli" => {
33- ( matches ! ( dependency, "ring" | "tokio" ) && kind == "dev" )
33+ ( matches ! ( dependency, "ring" | "tokio" | "base64" ) && kind == "dev" )
3434 || ( dependency == "http" && kind == "normal" )
3535 || matches ! (
3636 dependency,
@@ -148,6 +148,9 @@ fn forbidden_edges_stay_forbidden_under_alias_build_and_target_variants() {
148148 ( "codeguard-cli" , "ring" , "normal" ) ,
149149 ( "codeguard-cli" , "ring" , "build" ) ,
150150 ( "codeguard-core" , "ring" , "normal" ) ,
151+ ( "codeguard-core" , "base64" , "dev" ) ,
152+ ( "codeguard-core" , "base64" , "build" ) ,
153+ ( "codeguard-cli" , "base64" , "normal" ) ,
151154 ( "codeguard-core" , "semver" , "normal" ) ,
152155 ( "codeguard-runtime" , "semver" , "normal" ) ,
153156 ( "codeguard-cli" , "semver" , "normal" ) ,
@@ -173,6 +176,14 @@ fn semver_parser_is_scoped_to_adapter_normal_dependencies() {
173176 assert ! ( violations( & one_dependency( "codeguard-adapters" , "semver" , "normal" ) ) . is_empty( ) ) ;
174177}
175178
179+ #[ test]
180+ fn base64_decoder_is_scoped_to_pure_core_and_cli_test_fixtures ( ) {
181+ assert ! ( violations( & one_dependency( "codeguard-core" , "base64" , "normal" ) ) . is_empty( ) ) ;
182+ assert ! ( violations( & one_dependency( "codeguard-cli" , "base64" , "dev" ) ) . is_empty( ) ) ;
183+ assert ! ( !violations( & one_dependency( "codeguard-runtime" , "base64" , "normal" ) ) . is_empty( ) ) ;
184+ assert ! ( !violations( & one_dependency( "codeguard-adapters" , "base64" , "normal" ) ) . is_empty( ) ) ;
185+ }
186+
176187#[ test]
177188fn dependency_checker_rejects_missing_metadata ( ) {
178189 assert ! ( !violations( & json!( { } ) ) . is_empty( ) ) ;
0 commit comments