diff options
author | Florian Klink <flokli@flokli.de> | 2024-03-27T11·26+0100 |
---|---|---|
committer | flokli <flokli@flokli.de> | 2024-03-28T07·58+0000 |
commit | 05d3f21eaf0834d44b6f32a49ae3276ebcb6571c (patch) | |
tree | 6ec53e9722d04ce872f4ef7eff08ae96ce3596d0 /tvix/store/src | |
parent | ea257589d3e3fe4aa451bd5d7845b6feb456ae81 (diff) |
refactor(tvix/store): drop proto/tests/{utils,grpc_pathinfoservice}.rs r/7794
As for grpc_pathinfoservice, we test this in the rstest-based tests, with more implementations. tests/utils.rs is unused now. Change-Id: I62b192170d181e4fb432bf7dfff2057cb048b52c Reviewed-on: https://cl.tvl.fyi/c/depot/+/11279 Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/store/src')
-rw-r--r-- | tvix/store/src/proto/tests/grpc_pathinfoservice.rs | 75 | ||||
-rw-r--r-- | tvix/store/src/proto/tests/mod.rs | 1 | ||||
-rw-r--r-- | tvix/store/src/tests/mod.rs | 1 | ||||
-rw-r--r-- | tvix/store/src/tests/utils.rs | 16 |
4 files changed, 0 insertions, 93 deletions
diff --git a/tvix/store/src/proto/tests/grpc_pathinfoservice.rs b/tvix/store/src/proto/tests/grpc_pathinfoservice.rs deleted file mode 100644 index df74861bc7b4..000000000000 --- a/tvix/store/src/proto/tests/grpc_pathinfoservice.rs +++ /dev/null @@ -1,75 +0,0 @@ -use crate::proto::get_path_info_request::ByWhat::ByOutputHash; -use crate::proto::path_info_service_server::PathInfoService as GRPCPathInfoService; -use crate::proto::GRPCPathInfoServiceWrapper; -use crate::proto::GetPathInfoRequest; -use crate::proto::PathInfo; -use crate::tests::fixtures::DUMMY_OUTPUT_HASH; -use crate::tests::utils::gen_blob_service; -use crate::tests::utils::gen_directory_service; -use crate::tests::utils::gen_pathinfo_service; -use bytes::Bytes; -use futures::stream::BoxStream; -use std::sync::Arc; -use tonic::Request; -use tvix_castore::proto as castorepb; - -/// generates a GRPCPathInfoService out of blob, directory and pathinfo services. -/// -/// We only interact with it via the PathInfo GRPC interface. -/// It uses the NonCachingNARCalculationService NARCalculationService to -/// calculate NARs. -fn gen_grpc_service( -) -> Arc<dyn GRPCPathInfoService<ListStream = BoxStream<'static, Result<PathInfo, tonic::Status>>>> -{ - let blob_service = gen_blob_service(); - let directory_service = gen_directory_service(); - Arc::new(GRPCPathInfoServiceWrapper::new(gen_pathinfo_service( - blob_service, - directory_service, - ))) -} - -/// Trying to get a non-existent PathInfo should return a not found error. -#[tokio::test] -async fn not_found() { - let service = gen_grpc_service(); - - let resp = service - .get(Request::new(GetPathInfoRequest { - by_what: Some(ByOutputHash(Bytes::from(DUMMY_OUTPUT_HASH.to_vec()))), - })) - .await; - - let resp = resp.expect_err("must fail"); - assert_eq!(resp.code(), tonic::Code::NotFound); -} - -/// Put a PathInfo into the store, get it back. -#[tokio::test] -async fn put_get() { - let service = gen_grpc_service(); - - let path_info = PathInfo { - node: Some(castorepb::Node { - node: Some(castorepb::node::Node::Symlink(castorepb::SymlinkNode { - name: "00000000000000000000000000000000-foo".into(), - target: "doesntmatter".into(), - })), - }), - ..Default::default() - }; - - let resp = service.put(Request::new(path_info.clone())).await; - - assert!(resp.is_ok()); - assert_eq!(resp.expect("must succeed").into_inner(), path_info); - - let resp = service - .get(Request::new(GetPathInfoRequest { - by_what: Some(ByOutputHash(Bytes::from(DUMMY_OUTPUT_HASH.to_vec()))), - })) - .await; - - assert!(resp.is_ok()); - assert_eq!(resp.expect("must succeed").into_inner(), path_info); -} diff --git a/tvix/store/src/proto/tests/mod.rs b/tvix/store/src/proto/tests/mod.rs index bff885624380..c9c670202740 100644 --- a/tvix/store/src/proto/tests/mod.rs +++ b/tvix/store/src/proto/tests/mod.rs @@ -1,2 +1 @@ -mod grpc_pathinfoservice; mod pathinfo; diff --git a/tvix/store/src/tests/mod.rs b/tvix/store/src/tests/mod.rs index daea048deddf..1e7fc3f6b451 100644 --- a/tvix/store/src/tests/mod.rs +++ b/tvix/store/src/tests/mod.rs @@ -1,3 +1,2 @@ pub mod fixtures; mod nar_renderer; -pub mod utils; diff --git a/tvix/store/src/tests/utils.rs b/tvix/store/src/tests/utils.rs deleted file mode 100644 index 040b7ee7f51f..000000000000 --- a/tvix/store/src/tests/utils.rs +++ /dev/null @@ -1,16 +0,0 @@ -use crate::pathinfoservice::{MemoryPathInfoService, PathInfoService}; -use std::sync::Arc; -use tvix_castore::{blobservice::BlobService, directoryservice::DirectoryService}; - -pub use tvix_castore::utils::*; - -pub fn gen_pathinfo_service<BS, DS>( - blob_service: BS, - directory_service: DS, -) -> Arc<dyn PathInfoService> -where - BS: AsRef<dyn BlobService> + Send + Sync + 'static, - DS: AsRef<dyn DirectoryService> + Send + Sync + 'static, -{ - Arc::new(MemoryPathInfoService::new(blob_service, directory_service)) -} |