Skip to main content

FakeProvider

Struct FakeProvider 

Source
pub struct FakeProvider { /* private fields */ }

Implementations§

Source§

impl FakeProvider

Source

pub async fn seed_pending_review_publication( &self, repository: Repository, number: ChangeRequestNumber, reviewer: ReviewerApplication, submission: ReviewSubmission, ) -> Result<ReviewId>

Seeds the state left after a provider created one complete draft but the caller lost the publication response before final submission.

Source§

impl FakeProvider

Source

pub fn new() -> Self

Source

pub async fn seed_repository( &self, facts: RepositoryFacts, settings: RepositorySettings, )

Source

pub async fn seed_issue(&self, repository: Repository, issue: Issue)

Source

pub async fn seed_change_request( &self, repository: Repository, change_request: ChangeRequest, )

Seeds one change request into the repository it targets.

The head it proposes is change_request.head, which names the repository holding that branch and so can be a fork of repository. Comment collections retain their declared order; the fake neither sorts them nor derives order from opaque comment identifiers.

Source

pub async fn seed_branch_update( &self, repository: Repository, number: ChangeRequestNumber, observation: BranchUpdateObservation, )

Seeds branch-update facts for one change request.

The fake returns this observation unchanged. Accepted updates are recorded separately; tests explicitly seed a later observation instead of relying on the fake to invent a provider revision.

Source

pub async fn seed_applied_requirements( &self, observation: AppliedSourceRequirements, )

Seeds one exact applied-requirements observation.

Repository, target branch, base revision, and head revision are all part of the lookup key. A test must seed every snapshot it expects the fake to answer; the fake never substitutes a neighboring revision.

Source

pub async fn seed_applied_requirements_error( &self, repository: Repository, target_branch: impl Into<String>, commit_range: CommitRange, error: ProviderError, )

Seeds the provider error returned for one exact applied-requirements request, replacing an observation for the same snapshot.

Source

pub async fn seed_review_request_target( &self, repository: Repository, target: ReviewRequestTarget, observed: ReviewTarget, )

Seeds the provider observation returned for one review-request target.

The target category is part of the lookup key while observed supplies the actual actor or team category. Keeping them separate lets tests model a request target that resolves to the wrong kind without the fake inferring identity facts from the requested enum variant.

Source

pub async fn seed_reviewer_application( &self, repository: Repository, slug: String, application: ReviewerApplication, )

Maps one lookup slug to the application and bot identity returned for a repository.

The fake does not derive this mapping from the application’s canonical slug or from a seeded review target.

Source

pub async fn seed_check_runs(&self, repository: Repository, runs: Vec<CheckRun>)

Seeds observed checks, each on the commit it names, replacing whatever was already seeded on the commits this call names.

The commit comes from every run’s own head_sha, so no seeded observation can place a run on a commit it does not name.

Source

pub async fn seed_run(&self, repository: Repository, run: WorkflowRun)

Source

pub async fn seed_release(&self, repository: Repository, release: Release)

Source

pub async fn published_checks(&self) -> Vec<(Repository, String, CheckOutcome)>

Source

pub async fn accepted_branch_updates( &self, ) -> Vec<(Repository, ChangeRequestNumber, String)>

Returns accepted exact-head branch-update requests in call order.

Source

pub async fn dispatches( &self, ) -> Vec<(Repository, String, String, DispatchInputs)>

Trait Implementations§

Source§

impl AppliedSourceRequirementsProvider for FakeProvider

Source§

fn applied_requirements<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, repository: &'life1 Repository, target_branch: &'life2 str, commit_range: &'life3 CommitRange, ) -> Pin<Box<dyn Future<Output = Result<AppliedSourceRequirements>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Reads the requirements applied to the exact requested revisions. Read more
Source§

impl BranchUpdatesProvider for FakeProvider

Source§

fn branch_update<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, ) -> Pin<Box<dyn Future<Output = Result<BranchUpdateObservation>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Reads current branch freshness for the change request’s exact revisions. Read more
Source§

fn update_change_request_branch<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, expected_head_sha: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<(), BranchUpdateError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Requests the provider’s native branch update only if the change request still has expected_head_sha. Read more
Source§

impl ChangeRequestCommentsProvider for FakeProvider

Source§

fn create_unanchored_comment<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, body: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<ReviewCommentId>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Creates exactly one unanchored comment with body and returns the provider identifier assigned to that comment. Read more
Source§

impl Clone for FakeProvider

Source§

fn clone(&self) -> FakeProvider

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CodeHostingProvider for FakeProvider

Source§

fn repository<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, ) -> Pin<Box<dyn Future<Output = Result<RepositoryFacts>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn settings<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, ) -> Pin<Box<dyn Future<Output = Result<RepositorySettings>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn apply_settings<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, settings: &'life2 RepositorySettings, ) -> Pin<Box<dyn Future<Output = Result<RepositorySettings>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn put_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, name: &'life2 str, _value: SecretString, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

impl CodeReviewsProvider for FakeProvider

Source§

fn change_request<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, ) -> Pin<Box<dyn Future<Output = Result<ChangeRequest>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Reads one complete observation of the change request. Read more
Source§

fn open_change_requests<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, head: &'life2 ChangeRequestHead, ) -> Pin<Box<dyn Future<Output = Result<Vec<ChangeRequestNumber>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Reads the number of every open change request in repository that proposes head. Read more
Source§

fn resolve_thread<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, thread_id: &'life2 ReviewThreadId, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn resolve_finding<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, thread_id: &'life2 ReviewThreadId, resolution: FindingResolution, reply: &'life3 FindingResolutionReply, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Records why a finding is complete, records its assessed severity and marks its platform thread resolved. Read more
Source§

fn request_reviewers<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, reviewers: &'life2 [ReviewRequestTarget], ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Asks the platform to add each target to the outstanding reviewer set. Read more
Source§

fn mark_ready<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn checks<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, head_sha: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Vec<CheckRun>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Reads the current checks on one commit, completely paginated. Read more
Source§

fn publish_check<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, repository: &'life1 Repository, app_name: &'life2 str, outcome: &'life3 CheckOutcome, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source§

impl Debug for FakeProvider

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FakeProvider

Source§

fn default() -> FakeProvider

Returns the “default value” for a type. Read more
Source§

impl IssuesProvider for FakeProvider

Source§

fn issue<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: IssueNumber, ) -> Pin<Box<dyn Future<Output = Result<Issue>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn labels<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, ) -> Pin<Box<dyn Future<Output = Result<Vec<Label>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn upsert_label<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, label: &'life2 Label, ) -> Pin<Box<dyn Future<Output = Result<Label>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

impl JobsProvider for FakeProvider

Source§

fn dispatch<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>( &'life0 self, repository: &'life1 Repository, workflow: &'life2 str, git_ref: &'life3 str, inputs: &'life4 DispatchInputs, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,

Source§

fn run<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, run_id: RunId, ) -> Pin<Box<dyn Future<Output = Result<WorkflowRun>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn cancel_run<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, run_id: RunId, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

impl ReleasesProvider for FakeProvider

Source§

fn release_by_tag<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, tag: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Release>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn create_release<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, release: &'life2 NewRelease, ) -> Pin<Box<dyn Future<Output = Result<Release>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn upload_asset<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, repository: &'life1 Repository, release_id: ReleaseId, name: &'life2 str, label: Option<&'life3 str>, upload: AssetUpload, ) -> Pin<Box<dyn Future<Output = Result<ReleaseAsset>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source§

fn download_asset<'life0, 'life1, 'async_trait>( &'life0 self, repository: &'life1 Repository, asset_id: AssetId, ) -> Pin<Box<dyn Future<Output = Result<AssetStream>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Opens a chunk stream without buffering the complete asset.
Source§

impl ReviewPublishingProvider for FakeProvider

Source§

fn publish_review<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, reviewer: &'life2 ReviewerApplication, submission: &'life3 ReviewSubmission, ) -> Pin<Box<dyn Future<Output = Result<ReviewId>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Publishes submission as reviewer and returns the provider’s review identifier. Read more
Source§

fn resume_review_publication<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, repository: &'life1 Repository, number: ChangeRequestNumber, reviewer: &'life2 ReviewerApplication, key: &'life3 ReviewPublicationKey, ) -> Pin<Box<dyn Future<Output = Result<Option<ReviewId>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Recovers a complete review publication using only its retained key. Read more
Source§

impl ReviewTargetsProvider for FakeProvider

Source§

fn inspect_review_request_target<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, target: &'life2 ReviewRequestTarget, ) -> Pin<Box<dyn Future<Output = Result<ReviewRequestTargetInspection>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Inspects one target using the credentials and provider context for repository. Read more
Source§

impl ReviewerApplicationsProvider for FakeProvider

Source§

fn resolve_reviewer_application<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, repository: &'life1 Repository, slug: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<ReviewerApplication>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Resolves slug, using the credentials selected for repository, to the application and bot actor the provider observes. Read more
Source§

impl SourceCodeConfigurationProvider for FakeProvider

Source§

type Ruleset = Value

Source§

fn read_rulesets<'life0, 'life1, 'async_trait>( &'life0 self, _repository: &'life1 Repository, ) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Ruleset>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Reads every ruleset visible for repository in stable provider order. Read more
Source§

fn apply_ruleset<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, _repository: &'life1 Repository, _ruleset: &'life2 Self::Ruleset, ) -> Pin<Box<dyn Future<Output = Result<Self::Ruleset>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Creates or replaces the native ruleset identified by ruleset. Read more
Source§

impl TextRecordsProvider for FakeProvider

Source§

fn embed_record(&self, text: &str, record: &ProviderTextRecord) -> String

Returns text with one hidden carrier containing record. Read more
Source§

fn extract_records(&self, text: &str) -> Vec<ProviderTextRecord>

Extracts valid records from text in source order. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.