Skip to content

Commit

Permalink
Use dualstack endpoints in doc tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Manuel Pelloni committed Oct 30, 2021
1 parent adaf065 commit 99a8681
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 17 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ use std::time::Duration;
use rusty_s3::{Bucket, Credentials, S3Action};

// setting up a bucket
let endpoint = "https://s3-eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
let endpoint = "https://s3.dualstack.eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
let path_style = true;
let name = String::from("rusty-s3");
let region = String::from("eu-west-1");
Expand Down
40 changes: 25 additions & 15 deletions src/bucket.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,32 @@ use crate::Credentials;
///
/// ```rust
/// # use rusty_s3::Bucket;
/// let endpoint = "https://s3-eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
/// let endpoint = "https://s3.dualstack.eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
/// let path_style = true;
/// let name = String::from("rusty-s3");
/// let region = String::from("eu-west-1");
///
/// let bucket = Bucket::new(endpoint, path_style, name, region).expect("Url has a valid scheme and host");
/// assert_eq!(bucket.base_url().as_str(), "https://s3-eu-west-1.amazonaws.com/rusty-s3/");
/// assert_eq!(bucket.base_url().as_str(), "https://s3.dualstack.eu-west-1.amazonaws.com/rusty-s3/");
/// assert_eq!(bucket.name(), "rusty-s3");
/// assert_eq!(bucket.region(), "eu-west-1");
/// assert_eq!(bucket.object_url("duck.jpg").expect("url is valid").as_str(), "https://s3-eu-west-1.amazonaws.com/rusty-s3/duck.jpg");
/// assert_eq!(bucket.object_url("duck.jpg").expect("url is valid").as_str(), "https://s3.dualstack.eu-west-1.amazonaws.com/rusty-s3/duck.jpg");
/// ```
///
/// ## Domain style url
///
/// ```rust
/// # use rusty_s3::Bucket;
/// let endpoint = "https://s3-eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
/// let endpoint = "https://s3.dualstack.eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
/// let path_style = false;
/// let name = String::from("rusty-s3");
/// let region = String::from("eu-west-1");
///
/// let bucket = Bucket::new(endpoint, path_style, name, region).expect("Url has a valid scheme and host");
/// assert_eq!(bucket.base_url().as_str(), "https://rusty-s3.s3-eu-west-1.amazonaws.com/");
/// assert_eq!(bucket.base_url().as_str(), "https://rusty-s3.s3.dualstack.eu-west-1.amazonaws.com/");
/// assert_eq!(bucket.name(), "rusty-s3");
/// assert_eq!(bucket.region(), "eu-west-1");
/// assert_eq!(bucket.object_url("duck.jpg").expect("url is valid").as_str(), "https://rusty-s3.s3-eu-west-1.amazonaws.com/duck.jpg");
/// assert_eq!(bucket.object_url("duck.jpg").expect("url is valid").as_str(), "https://rusty-s3.s3.dualstack.eu-west-1.amazonaws.com/duck.jpg");
/// ```
#[derive(Debug, Clone)]
pub struct Bucket {
Expand Down Expand Up @@ -269,8 +269,10 @@ mod tests {

#[test]
fn new_pathstyle() {
let endpoint: Url = "https://s3-eu-west-1.amazonaws.com".parse().unwrap();
let base_url: Url = "https://s3-eu-west-1.amazonaws.com/rusty-s3/"
let endpoint: Url = "https://s3.dualstack.eu-west-1.amazonaws.com"
.parse()
.unwrap();
let base_url: Url = "https://s3.dualstack.eu-west-1.amazonaws.com/rusty-s3/"
.parse()
.unwrap();
let name = "rusty-s3";
Expand All @@ -284,8 +286,10 @@ mod tests {

#[test]
fn new_domainstyle() {
let endpoint: Url = "https://s3-eu-west-1.amazonaws.com".parse().unwrap();
let base_url: Url = "https://rusty-s3.s3-eu-west-1.amazonaws.com"
let endpoint: Url = "https://s3.dualstack.eu-west-1.amazonaws.com"
.parse()
.unwrap();
let base_url: Url = "https://rusty-s3.s3.dualstack.eu-west-1.amazonaws.com"
.parse()
.unwrap();
let name = "rusty-s3";
Expand All @@ -307,35 +311,41 @@ mod tests {

#[test]
fn object_url_pathstyle() {
let endpoint: Url = "https://s3-eu-west-1.amazonaws.com".parse().unwrap();
let endpoint: Url = "https://s3.dualstack.eu-west-1.amazonaws.com"
.parse()
.unwrap();
let name = "rusty-s3";
let region = "eu-west-1";
let bucket = Bucket::new(endpoint, true, name, region).unwrap();

let path_style = bucket.object_url("something/cat.jpg").unwrap();
assert_eq!(
"https://s3-eu-west-1.amazonaws.com/rusty-s3/something/cat.jpg",
"https://s3.dualstack.eu-west-1.amazonaws.com/rusty-s3/something/cat.jpg",
path_style.as_str()
);
}

#[test]
fn object_url_domainstyle() {
let endpoint: Url = "https://s3-eu-west-1.amazonaws.com".parse().unwrap();
let endpoint: Url = "https://s3.dualstack.eu-west-1.amazonaws.com"
.parse()
.unwrap();
let name = "rusty-s3";
let region = "eu-west-1";
let bucket = Bucket::new(endpoint, false, name, region).unwrap();

let domain_style = bucket.object_url("something/cat.jpg").unwrap();
assert_eq!(
"https://rusty-s3.s3-eu-west-1.amazonaws.com/something/cat.jpg",
"https://rusty-s3.s3.dualstack.eu-west-1.amazonaws.com/something/cat.jpg",
domain_style.as_str()
);
}

#[test]
fn all_actions() {
let endpoint: Url = "https://s3-eu-west-1.amazonaws.com".parse().unwrap();
let endpoint: Url = "https://s3.dualstack.eu-west-1.amazonaws.com"
.parse()
.unwrap();

let name = "rusty-s3";
let region = "eu-west-1";
Expand Down
2 changes: 1 addition & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
//! # env::set_var("AWS_SECRET_ACCESS_KEY", "secret");
//!
//! // setting up a bucket
//! let endpoint = "https://s3-eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
//! let endpoint = "https://s3.dualstack.eu-west-1.amazonaws.com".parse().expect("endpoint is a valid Url");
//! let path_style = true;
//! let name = String::from("rusty-s3");
//! let region = String::from("eu-west-1");
Expand Down

0 comments on commit 99a8681

Please sign in to comment.