]> git.r.bdr.sh - rbdr/blog/commitdiff
Cleanup test directories
authorRuben Beltran del Rio <redacted>
Thu, 9 Jan 2025 17:23:20 +0000 (18:23 +0100)
committerRuben Beltran del Rio <redacted>
Thu, 9 Jan 2025 17:23:20 +0000 (18:23 +0100)
13 files changed:
src/archiver/gemini.rs
src/archiver/gopher.rs
src/archiver/mod.rs
src/archiver/raw.rs
src/generator/html.rs
src/generator/mod.rs
src/generator/rss.rs
src/generator/static_files.rs
src/generator/txt.rs
src/metadata.rs
src/remote/git.rs
src/remote/mod.rs
src/utils.rs

index 7839ff240f01b0c096669d7db5e08e425597e59c..0cde0b1e775cb36f4a4876019ae5174173e9342a 100644 (file)
@@ -47,6 +47,7 @@ mod tests {
         archive(&test_dir, &template_dir, &output_dir, &context).expect("Archive failed");
 
         assert_file_contents(&output_dir.join("index.gmi"), "Simple things");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -65,6 +66,7 @@ mod tests {
         let result = archive(&test_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -82,5 +84,6 @@ mod tests {
         let result = archive(&test_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 }
index aa584ab84fc75b520af7afc72ef5091695c52801..77f23b940d2251832ca663698ba18307ac1883d1 100644 (file)
@@ -47,6 +47,7 @@ mod tests {
         archive(&test_dir, &template_dir, &output_dir, &context).expect("Archive failed");
 
         assert_file_contents(&output_dir.join("index.gph"), "Simple things");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -65,6 +66,7 @@ mod tests {
         let result = archive(&test_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -82,5 +84,6 @@ mod tests {
         let result = archive(&test_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 }
index f809b8c50d270d41c3060c4896e65d0ba5b350ea..ddca473e73008911981955d400500e8102b53a15 100644 (file)
@@ -265,5 +265,6 @@ mod tests {
             &output_dir.join("index.gmi"),
             "1736121600001/my-very-bad-file",
         );
+        cleanup_test_dir(&test_dir);
     }
 }
index 5cac709afa0d1ebc9fb2807dbda73e4bcb4de4be..d0f40d7fb13e559b09fcd8e0504f9973198827de 100644 (file)
@@ -34,6 +34,7 @@ mod tests {
         archive(&archive_dir, &test_dir, &output_dir, &context).expect("Archive failed");
 
         assert_file_contents(&output_dir.join("🤠"), "beep boop boop beep");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -45,5 +46,6 @@ mod tests {
         let context: Context = HashMap::new();
 
         archive(&archive_dir, &test_dir, &output_dir, &context).expect("Archive failed");
+        cleanup_test_dir(&test_dir);
     }
 }
index 7895a83ca71d35b47cf19f650ec56befb8ed1c20..7af4c7343d4ff5027480089d55477b54dfdf7448 100644 (file)
@@ -70,6 +70,7 @@ mod tests {
 
         assert_file_contains(&output_dir.join("index.html"), "<p>Contextualization</p>");
         assert_file_contains(&output_dir.join("index.html"), "<p>Contexternalization</p>");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -114,6 +115,7 @@ mod tests {
     <p>Recontexternalization</p>
 ",
         );
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -139,6 +141,7 @@ mod tests {
         let result = generate(&static_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -174,5 +177,6 @@ mod tests {
         let result = generate(&static_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 }
index 55946afb57f86f9e2f1e0a3c1fac7218583a121d..1ba40368f1790eb763f62ea786043c317f5ed46c 100644 (file)
@@ -125,6 +125,7 @@ mod tests {
     1736045200000
 ",
         );
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -138,6 +139,7 @@ mod tests {
         let result = generate(&static_dir, &template_dir, &output_dir, &posts);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -183,5 +185,6 @@ mod tests {
         let result = generate(&static_dir, &template_dir, &output_dir, &posts);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 }
index c4b8bdb01090fb65527f3a60ca0cd3544d179bdd..0e28777bc81598316c5ec01fe7ec83564e9dc66c 100644 (file)
@@ -86,6 +86,7 @@ mod tests {
 
         assert_file_contains(&output_dir.join("feed.xml"), "<p>Contextualization</p>");
         assert_file_contains(&output_dir.join("feed.xml"), "<p>Contexternalization</p>");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -130,6 +131,7 @@ mod tests {
     <p>Recontexternalization</p>
 ",
         );
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -155,6 +157,7 @@ mod tests {
         let result = generate(&static_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -190,5 +193,6 @@ mod tests {
         let result = generate(&static_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 }
index ae676a1e43094c94367403817dbb0a9290dfc9a1..9d7ec80a658fd4afd10012102657dea50e258a40 100644 (file)
@@ -35,6 +35,7 @@ mod tests {
         generate(&static_dir, &template_dir, &output_dir, &context).expect("Generate failed");
 
         assert_file_contents(&output_dir.join("test.jpg"), "Cool hat");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -53,6 +54,7 @@ mod tests {
         generate(&static_dir, &template_dir, &output_dir, &context).expect("Generate failed");
 
         assert_file_contents(&output_dir.join("nested/test.mov"), "Cool hats, multiple.");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -67,5 +69,6 @@ mod tests {
         let result = generate(&static_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_ok());
+        cleanup_test_dir(&test_dir);
     }
 }
index ef48c033d347b353c8e5b529868ef4850ac10267..d35720d84f57000e1905299a62224ec79affc276 100644 (file)
@@ -64,6 +64,7 @@ mod tests {
 
         assert_file_contains(&output_dir.join("index.txt"), "Contextualization");
         assert_file_contains(&output_dir.join("index.txt"), "Contexternalization");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -108,6 +109,7 @@ Recontextualization
     Recontexternalization
 ",
         );
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -133,6 +135,7 @@ Recontextualization
         let result = generate(&static_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -168,5 +171,6 @@ Recontextualization
         let result = generate(&static_dir, &template_dir, &output_dir, &context);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 }
index f2890a4975ef3a179e1d2a9fe09848842ce5502f..140d1f442ad0da26f70d1a38c28b7e0b4932bea5 100644 (file)
@@ -72,6 +72,7 @@ mod tests {
 
         assert_eq!(metadata.id, "cool");
         assert_eq!(metadata.created_on, 1_736_105_008_957);
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -81,6 +82,7 @@ mod tests {
         assert!(!test_dir.join("metadata.json").exists());
         let metadata = Metadata::read_or_create(&test_dir.join("metadata.json"));
         assert_eq!(metadata.created_on.to_string(), metadata.id);
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -90,6 +92,7 @@ mod tests {
 
         let metadata = Metadata::read_or_create(&test_dir.join("metadata.json"));
         assert_eq!(metadata.created_on.to_string(), metadata.id);
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
index c260df80dca59f6a6cddb5203cea7f05ffbee63d..f74af42e09837dbf96f48228c7b3ebbc94b4c63c 100644 (file)
@@ -175,6 +175,7 @@ mod tests {
             "file2.txt",
             "I also exist now, btw",
         );
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -200,6 +201,7 @@ mod tests {
 
         assert_file_in_repo_with_contents(&remote_dir_as_string, "file1.txt", "I exist");
         assert_file_does_not_exist(&remote_dir_as_string, "boo.txt");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -214,6 +216,7 @@ mod tests {
         let result = git.sync_up(&invalid_remote, &local_dir);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -247,6 +250,7 @@ mod tests {
             .expect("Could not sync down from remote");
         assert_file_contents(&local_dir.join("file1.txt"), "I exist, but remotely");
         assert_file_contents(&local_dir.join("file2.txt"), "I also exist, but remotely");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -270,6 +274,7 @@ mod tests {
             .expect("Could not sync down from remote");
         assert_file_contents(&local_dir.join("file1.txt"), "I exist, but remotely");
         assert!(!&local_dir.join("nooo.txt").exists());
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -284,5 +289,6 @@ mod tests {
         let result = git.sync_down(&invalid_remote, &local_dir);
 
         assert!(result.is_err());
+        cleanup_test_dir(&test_dir);
     }
 }
index 656193675cbd0ee62a502ea3a5d8f05d20191e4c..c8561ff9ce702b394267a62a826faa4862709b0f 100644 (file)
@@ -12,7 +12,7 @@ pub trait Remote {
     fn sync_down(&self, remote: &str, directory: &Path) -> Result<()>;
 }
 
-pub fn add(config_directory: &Path, remote_config: &Path, remote: &String) -> Result<()> {
+pub fn add(config_directory: &Path, remote_config: &Path, remote: &str) -> Result<()> {
     create_dir_all(config_directory)?;
     write(remote_config, remote)?;
     Ok(())
@@ -67,3 +67,43 @@ fn read_remote(file_path: &Path) -> Option<String> {
     file.read_to_string(&mut contents).ok()?;
     Some(contents)
 }
+
+#[cfg(test)]
+mod tests {
+    use std::fs::create_dir_all;
+    use std::path::Path;
+    use std::process::{Command, Stdio};
+
+    use super::*;
+    use crate::remote::Remote;
+
+    use test_utilities::*;
+
+    #[test]
+    fn test_adds_a_remote() {
+        let test_dir = setup_test_dir();
+        let config_dir = test_dir.join("config");
+        let remote_config = config_dir.join("remoteconfig");
+
+        assert!(!&config_dir.exists());
+        add(&config_dir, &remote_config, "whaaat").expect("Could not add a remote");
+        assert!(&config_dir.exists());
+        assert_file_contents(&remote_config, "whaaat");
+
+        cleanup_test_dir(&test_dir);
+    }
+
+    #[test]
+    fn test_removes_a_remote() {
+        let test_dir = setup_test_dir();
+        let remote_config = test_dir.join("remoteconfig");
+
+        create_test_file(&remote_config, "remote control");
+
+        assert_file_contents(&remote_config, "remote control");
+        remove(&remote_config).expect("Could not remove a remote");
+        assert!(!&remote_config.exists());
+
+        cleanup_test_dir(&test_dir);
+    }
+}
index 01b6cdf2360a72b13964315c0b8599f8ebf49278..2e49a93ffef983bf07b5e7b6f72a2414d470d368 100644 (file)
@@ -54,6 +54,7 @@ mod tests {
         assert_file_contents(&target_dir.join("nested/.hidden"), "I am not here?");
         assert_file_contents(&target_dir.join(".hidden/in_plain_sight.mkv"), "Almost");
         assert_file_contents(&target_dir.join(".hidden/.hidden"), "I'm double hidden");
+        cleanup_test_dir(&test_dir);
     }
 
     #[test]
@@ -67,5 +68,6 @@ mod tests {
         recursively_copy(&source_dir, &target_dir).expect("Copy failed on empty test directory");
 
         assert_eq!(target_dir.read_dir().unwrap().count(), 0);
+        cleanup_test_dir(&test_dir);
     }
 }