@@ -209,7 +209,7 @@ mod tests {
209209 use crate :: db:: ReleaseId ;
210210 use crate :: registry_api:: { CrateOwner , OwnerKind } ;
211211 use crate :: storage:: { CompressionAlgorithm , rustdoc_json_path} ;
212- use crate :: test:: { V1 , V2 , async_wrapper, fake_release_that_failed_before_build} ;
212+ use crate :: test:: { KRATE , V1 , V2 , async_wrapper, fake_release_that_failed_before_build} ;
213213 use test_case:: test_case;
214214
215215 async fn crate_exists ( conn : & mut sqlx:: PgConnection , name : & str ) -> Result < bool > {
@@ -527,4 +527,35 @@ mod tests {
527527 Ok ( ( ) )
528528 } )
529529 }
530+
531+ #[ tokio:: test( flavor = "multi_thread" ) ]
532+ async fn test_delete_missing_crate_doesnt_error ( ) -> Result < ( ) > {
533+ let env = crate :: test:: TestEnvironment :: new ( ) . await ?;
534+
535+ let db = env. async_db ( ) ;
536+ let mut conn = db. async_conn ( ) . await ;
537+
538+ assert ! ( !crate_exists( & mut conn, KRATE ) . await ?) ;
539+ delete_crate ( & mut conn, env. async_storage ( ) , env. config ( ) , KRATE ) . await ?;
540+
541+ assert ! ( !crate_exists( & mut conn, KRATE ) . await ?) ;
542+
543+ Ok ( ( ) )
544+ }
545+
546+ #[ tokio:: test( flavor = "multi_thread" ) ]
547+ async fn test_delete_missing_version_doesnt_error ( ) -> Result < ( ) > {
548+ let env = crate :: test:: TestEnvironment :: new ( ) . await ?;
549+
550+ let db = env. async_db ( ) ;
551+ let mut conn = db. async_conn ( ) . await ;
552+
553+ assert ! ( !crate_exists( & mut conn, KRATE ) . await ?) ;
554+
555+ delete_version ( & mut conn, env. async_storage ( ) , env. config ( ) , KRATE , & V1 ) . await ?;
556+
557+ assert ! ( !crate_exists( & mut conn, KRATE ) . await ?) ;
558+
559+ Ok ( ( ) )
560+ }
530561}
0 commit comments