about summary refs log tree commit diff
path: root/tvix/store/src/tests/fixtures.rs
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-03-27T11·11+0100
committerflokli <flokli@flokli.de>2024-03-28T07·02+0000
commit07a51c7dc9dd37205368eb0653e23e33cc04406f (patch)
treeb328028d3219579ac3c10b558eefa999d2fed262 /tvix/store/src/tests/fixtures.rs
parent93dc5df957129b48e95c92c5c31bca3da5488208 (diff)
feat(tvix/store): add rstest-based PathInfoService tests r/7788
This introduces rstest-based tests. We also add fixtures for creating
some BlobService / DirectoryService out of thin air.
To test a PathInfoService, we don't really care too much about its
internal storage - ensuring they work is up to the castore tests.

Change-Id: Ia62af076ef9c9fbfcf8b020a781454ad299d972e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11272
Tested-by: BuildkiteCI
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Diffstat (limited to 'tvix/store/src/tests/fixtures.rs')
-rw-r--r--tvix/store/src/tests/fixtures.rs23
1 files changed, 21 insertions, 2 deletions
diff --git a/tvix/store/src/tests/fixtures.rs b/tvix/store/src/tests/fixtures.rs
index 233f98591528..500ac0aa5bc2 100644
--- a/tvix/store/src/tests/fixtures.rs
+++ b/tvix/store/src/tests/fixtures.rs
@@ -1,8 +1,17 @@
 use lazy_static::lazy_static;
+use rstest::*;
+use std::sync::Arc;
 pub use tvix_castore::fixtures::*;
-use tvix_castore::proto as castorepb;
+use tvix_castore::{
+    blobservice::{BlobService, MemoryBlobService},
+    directoryservice::{DirectoryService, MemoryDirectoryService},
+    proto as castorepb,
+};
 
-use crate::proto::{nar_info::ca, nar_info::Ca, NarInfo, PathInfo};
+use crate::proto::{
+    nar_info::{ca, Ca},
+    NarInfo, PathInfo,
+};
 
 pub const DUMMY_NAME: &str = "00000000000000000000000000000000-dummy";
 pub const DUMMY_OUTPUT_HASH: [u8; 20] = [0; 20];
@@ -121,3 +130,13 @@ lazy_static! {
       ..PATH_INFO_WITHOUT_NARINFO.clone()
     };
 }
+
+#[fixture]
+pub(crate) fn blob_service() -> Arc<dyn BlobService> {
+    Arc::from(MemoryBlobService::default())
+}
+
+#[fixture]
+pub(crate) fn directory_service() -> Arc<dyn DirectoryService> {
+    Arc::from(MemoryDirectoryService::default())
+}