coven_database/store/store_session/test_support/
device_exclusion.rs1use super::*;
2
3impl StoreDatabase {
4 pub async fn sole_author_exclusion_activation_evidence_for_test(
5 &self,
6 ) -> Result<(String, String, String, String), DbError> {
7 self.call_store(|session| session.sole_author_exclusion_activation_evidence_for_test())
8 .await
9 }
10
11 pub async fn author_exclusion_activation_evidence_for_test(
12 &self,
13 exclusion: &StoreDeviceExclusionRef,
14 ) -> Result<(String, String), DbError> {
15 let exclusion = serde_json::to_string(exclusion)
16 .map_err(|error| DbError::context("serialize exclusion ref", error))?;
17 self.call_store(move |session| {
18 session.author_exclusion_activation_evidence_for_test(&exclusion)
19 })
20 .await
21 }
22
23 pub async fn latest_local_write_facts_for_test(&self) -> Result<(String, i64, i64), DbError> {
24 self.call_store(|session| session.latest_local_write_facts_for_test())
25 .await
26 }
27
28 pub async fn install_retracted_device_state_failure_trigger_for_test(
29 &self,
30 ) -> Result<(), DbError> {
31 self.call_store(|session| session.install_retracted_device_state_failure_trigger_for_test())
32 .await
33 }
34
35 pub async fn prepared_write_count_for_test(&self, write_id: WriteId) -> Result<i64, DbError> {
36 self.call_store(move |session| session.prepared_write_count_for_test(&write_id))
37 .await
38 }
39
40 pub async fn begin_remote_candidate_nonactivation_for_test(
41 &self,
42 object_id: coven_protocol::store_commit::ObjectHash,
43 nonactivation: coven_protocol::remote_object::CandidateNonactivation,
44 ) -> Result<(), DbError> {
45 self.call_store(move |session| {
46 session.begin_remote_candidate_nonactivation_for_test(object_id, nonactivation)
47 })
48 .await
49 }
50
51 pub async fn install_indexed_shared_blobs_for_test(
52 &self,
53 write_id: WriteId,
54 records: Vec<coven_protocol::remote_object::RemoteObjectRecord>,
55 ) -> Result<(), DbError> {
56 self.call_store(move |session| {
57 session.install_indexed_shared_blobs_for_test(&write_id, records)
58 })
59 .await
60 }
61
62 pub async fn tamper_author_exclusion_locator_for_test(
63 &self,
64 exclusion: &StoreDeviceExclusionRef,
65 candidate: &StoreBatchCommitRef,
66 tamper: AuthorExclusionLocatorTamper,
67 ) -> Result<(), DbError> {
68 let exclusion = exclusion.clone();
69 let candidate = candidate.clone();
70 self.call_store(move |session| {
71 session.tamper_author_exclusion_locator_for_test(exclusion, &candidate, tamper)
72 })
73 .await
74 }
75}