pub struct ServiceSetup { /* private fields */ }Expand description
Declarative service setup - Jane’s one-liner service management
This provides the simple, declarative API that Jane wants:
with_database("postgres:15")- starts postgres containerwith_cache("redis:7")- starts redis containerwith_message_queue("rabbitmq")- starts rabbitmq container
Services are automatically managed with proper lifecycle and health checks.
Implementations§
Source§impl ServiceSetup
impl ServiceSetup
Sourcepub fn new(env: Arc<CleanroomEnvironment>) -> Self
pub fn new(env: Arc<CleanroomEnvironment>) -> Self
Create a new service setup context
Sourcepub async fn with_database(&self, image: &str) -> Result<()>
pub async fn with_database(&self, image: &str) -> Result<()>
Set up a database service
Sourcepub async fn with_cache(&self, image: &str) -> Result<()>
pub async fn with_cache(&self, image: &str) -> Result<()>
Set up a cache service
Sourcepub async fn with_message_queue(&self, image: &str) -> Result<()>
pub async fn with_message_queue(&self, image: &str) -> Result<()>
Set up a message queue service
Sourcepub async fn with_web_server(&self, image: &str) -> Result<()>
pub async fn with_web_server(&self, image: &str) -> Result<()>
Set up a web server service
Sourcepub async fn get_database_url(&self) -> Result<String>
pub async fn get_database_url(&self) -> Result<String>
Get service connection info (for Jane’s test code)
Sourcepub async fn get_cache_url(&self) -> Result<String>
pub async fn get_cache_url(&self) -> Result<String>
Get cache connection info
Auto Trait Implementations§
impl Freeze for ServiceSetup
impl !RefUnwindSafe for ServiceSetup
impl Send for ServiceSetup
impl Sync for ServiceSetup
impl Unpin for ServiceSetup
impl !UnwindSafe for ServiceSetup
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request