aboutsummaryrefslogtreecommitdiff
path: root/src/garage/tests/common/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/garage/tests/common/mod.rs')
-rw-r--r--src/garage/tests/common/mod.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/garage/tests/common/mod.rs b/src/garage/tests/common/mod.rs
new file mode 100644
index 00000000..b5f7f0b2
--- /dev/null
+++ b/src/garage/tests/common/mod.rs
@@ -0,0 +1,45 @@
+use aws_sdk_s3::{Client, Region};
+use ext::*;
+
+#[macro_use]
+pub mod macros;
+
+pub mod client;
+pub mod ext;
+pub mod garage;
+
+const REGION: Region = Region::from_static("garage-integ-test");
+
+pub struct Context {
+ pub garage: &'static garage::Instance,
+ pub client: Client,
+}
+
+impl Context {
+ fn new() -> Self {
+ let garage = garage::instance();
+ let client = client::build_client(garage);
+
+ Context { garage, client }
+ }
+
+ pub fn create_bucket(&self, name: &str) {
+ self.garage
+ .command()
+ .args(["bucket", "create", name])
+ .quiet()
+ .expect_success_status("Could not create bucket");
+ self.garage
+ .command()
+ .args(["bucket", "allow"])
+ .args(["--owner", "--read", "--write"])
+ .arg(name)
+ .args(["--key", &self.garage.key.name])
+ .quiet()
+ .expect_success_status("Could not allow key for bucket");
+ }
+}
+
+pub fn context() -> Context {
+ Context::new()
+}