aboutsummaryrefslogtreecommitdiff
path: root/src/actions
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2021-10-09 00:42:28 +0200
committerMel <einebeere@gmail.com>2021-10-09 00:42:28 +0200
commitdbe8c3b6cd10d2cd960ae3cd346e86a6fb1b7c68 (patch)
treef143fbb49f65a15fb0c9f8233476837142b034a4 /src/actions
parentfad317349557bee1055d81d7444f99619247815c (diff)
downloadka-dbe8c3b6cd10d2cd960ae3cd346e86a6fb1b7c68.tar.zst
ka-dbe8c3b6cd10d2cd960ae3cd346e86a6fb1b7c68.zip
Re-implement FsMock as a fake in-memory filesystem.
Diffstat (limited to 'src/actions')
-rw-r--r--src/actions/create.rs110
1 files changed, 0 insertions, 110 deletions
diff --git a/src/actions/create.rs b/src/actions/create.rs
index 184e249..bc7f7b0 100644
--- a/src/actions/create.rs
+++ b/src/actions/create.rs
@@ -21,113 +21,3 @@ pub fn create(command_options: ActionOptions, fs: &impl Fs, timestamp: u64) -> R
Ok(())
}
-
-#[cfg(test)]
-mod tests {
- use std::{path::Path, vec};
-
- use crate::{
- actions::{create, ActionOptions},
- diff::ContentChange,
- filesystem::mock::{EntryMock, ExpectedCall as Call, ExpectedCallVariant as Type, FsMock},
- history::{
- FileChange, FileChangeVariant, FileHistory, RepositoryChange, RepositoryHistory,
- },
- };
-
- #[test]
- fn create_empty() {
- let now = 0xC0FFEE;
- let fs_mock = FsMock::new();
- let options = ActionOptions::from_path(".");
-
- let pwd = Path::new(".");
- let working_file = Path::new("./test");
- let history_file = Path::new("./.ka/files/test");
-
- let ka = Path::new("./.ka");
- let ka_files = Path::new("./.ka/files");
- let ka_index = Path::new("./.ka/index");
-
- let empty_index = RepositoryHistory::default().encode().unwrap();
- let expected_index = {
- let mut history = RepositoryHistory::default();
- history.add_change(RepositoryChange {
- affected_files: vec![working_file.to_path_buf()],
- timestamp: now,
- });
- history.cursor = 1;
- history.encode().unwrap()
- };
-
- let expected_file_history = {
- let mut history = FileHistory::default();
- let change = ContentChange::Inserted {
- at: 0,
- new_content: vec![1, 2, 3],
- };
- history.add_change(FileChange {
- change_index: 1,
- variant: FileChangeVariant::Updated(vec![change]),
- });
- history.encode().unwrap()
- };
-
- fs_mock.set_expected_calls(vec![
- // Create calls
- Call::new(ka, Type::PathExists(false)),
- Call::new(ka, Type::CreateDirectory),
- Call::new(ka_files, Type::CreateDirectory),
- Call::new(ka_index, Type::CreateFile),
- Call::new(
- ka_index,
- Type::WriteToFile {
- expected: empty_index.clone(),
- },
- ),
- // Update calls
- Call::new(ka_index, Type::OpenWritableFile),
- Call::new(
- ka_index,
- Type::ReadFile {
- returned: empty_index,
- },
- ),
- Call::new(
- pwd,
- Type::ReadDirectory {
- returned: vec![
- EntryMock::new(working_file, false),
- EntryMock::new(ka, true),
- ],
- },
- ),
- Call::new(ka_files, Type::ReadDirectory { returned: vec![] }),
- Call::new(history_file, Type::PathExists(false)),
- Call::new(working_file, Type::OpenReadableFile),
- Call::new(
- working_file,
- Type::ReadFile {
- returned: vec![1, 2, 3],
- },
- ),
- Call::new(history_file, Type::CreateFile),
- Call::new(
- history_file,
- Type::WriteToFile {
- expected: expected_file_history,
- },
- ),
- Call::new(
- ka_index,
- Type::WriteToFile {
- expected: expected_index,
- },
- ),
- ]);
-
- create(options, &fs_mock, now).expect("Action failed.");
-
- fs_mock.assert_calls();
- }
-}