summaryrefslogtreecommitdiff
path: root/src/index.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/index.rs')
-rw-r--r--src/index.rs23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/index.rs b/src/index.rs
index e6bbb95..8cbe01e 100644
--- a/src/index.rs
+++ b/src/index.rs
@@ -1,3 +1,4 @@
+use crate::checksummer::Checksum;
use crate::chunkid::ChunkId;
use crate::chunkmeta::ChunkMeta;
use rusqlite::Connection;
@@ -80,6 +81,8 @@ impl Index {
#[cfg(test)]
mod test {
+ use crate::checksummer::Checksum;
+
use super::{ChunkId, ChunkMeta, Index};
use std::path::Path;
use tempfile::tempdir;
@@ -91,7 +94,8 @@ mod test {
#[test]
fn remembers_inserted() {
let id: ChunkId = "id001".parse().unwrap();
- let meta = ChunkMeta::new("abc");
+ let sum = Checksum::sha256_from_str_unchecked("abc");
+ let meta = ChunkMeta::new(&sum);
let dir = tempdir().unwrap();
let mut idx = new_index(dir.path());
idx.insert_meta(id.clone(), meta.clone()).unwrap();
@@ -103,7 +107,8 @@ mod test {
#[test]
fn does_not_find_uninserted() {
let id: ChunkId = "id001".parse().unwrap();
- let meta = ChunkMeta::new("abc");
+ let sum = Checksum::sha256_from_str_unchecked("abc");
+ let meta = ChunkMeta::new(&sum);
let dir = tempdir().unwrap();
let mut idx = new_index(dir.path());
idx.insert_meta(id, meta).unwrap();
@@ -113,7 +118,8 @@ mod test {
#[test]
fn removes_inserted() {
let id: ChunkId = "id001".parse().unwrap();
- let meta = ChunkMeta::new("abc");
+ let sum = Checksum::sha256_from_str_unchecked("abc");
+ let meta = ChunkMeta::new(&sum);
let dir = tempdir().unwrap();
let mut idx = new_index(dir.path());
idx.insert_meta(id.clone(), meta).unwrap();
@@ -132,7 +138,8 @@ mod test {
#[test]
fn remembers_generation() {
let id: ChunkId = "id001".parse().unwrap();
- let meta = ChunkMeta::new_generation("abc", "timestamp");
+ let sum = Checksum::sha256_from_str_unchecked("abc");
+ let meta = ChunkMeta::new_generation(&sum, "timestamp");
let dir = tempdir().unwrap();
let mut idx = new_index(dir.path());
idx.insert_meta(id.clone(), meta).unwrap();
@@ -142,7 +149,8 @@ mod test {
#[test]
fn removes_generation() {
let id: ChunkId = "id001".parse().unwrap();
- let meta = ChunkMeta::new_generation("abc", "timestamp");
+ let sum = Checksum::sha256_from_str_unchecked("abc");
+ let meta = ChunkMeta::new_generation(&sum, "timestamp");
let dir = tempdir().unwrap();
let mut idx = new_index(dir.path());
idx.insert_meta(id.clone(), meta).unwrap();
@@ -152,7 +160,7 @@ mod test {
}
mod sql {
- use super::IndexError;
+ use super::{Checksum, IndexError};
use crate::chunkid::ChunkId;
use crate::chunkmeta::ChunkMeta;
use log::error;
@@ -256,7 +264,8 @@ mod sql {
}
fn row_to_meta(row: &Row) -> rusqlite::Result<ChunkMeta> {
- let sha256: String = row.get(row.column_index("sha256")?)?;
+ let hash: String = row.get(row.column_index("sha256")?)?;
+ let sha256 = Checksum::sha256_from_str_unchecked(&hash);
let generation: i32 = row.get(row.column_index("generation")?)?;
let meta = if generation == 0 {
ChunkMeta::new(&sha256)