Commit 452f2e3b authored by Nugine's avatar Nugine
Browse files

feat(s3s-wasm): test dummy call

parent f799e252
Loading
Loading
Loading
Loading
+88 −16
Original line number Diff line number Diff line
@@ -1872,9 +1872,9 @@ dependencies = [

[[package]]
name = "js-sys"
version = "0.3.78"
version = "0.3.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738"
checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305"
dependencies = [
 "once_cell",
 "wasm-bindgen",
@@ -1988,6 +1988,16 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"

[[package]]
name = "minicov"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b"
dependencies = [
 "cc",
 "walkdir",
]

[[package]]
name = "minimal-lexical"
version = "0.2.1"
@@ -2928,6 +2938,25 @@ dependencies = [
 "tracing-subscriber",
]

[[package]]
name = "s3s-wasm"
version = "0.0.0"
dependencies = [
 "futures",
 "http 1.3.1",
 "s3s",
 "wasm-bindgen-test",
]

[[package]]
name = "same-file"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
dependencies = [
 "winapi-util",
]

[[package]]
name = "schannel"
version = "0.1.27"
@@ -3642,6 +3671,16 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64"

[[package]]
name = "walkdir"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
dependencies = [
 "same-file",
 "winapi-util",
]

[[package]]
name = "want"
version = "0.3.1"
@@ -3668,9 +3707,9 @@ dependencies = [

[[package]]
name = "wasm-bindgen"
version = "0.2.101"
version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b"
checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d"
dependencies = [
 "cfg-if",
 "once_cell",
@@ -3681,9 +3720,9 @@ dependencies = [

[[package]]
name = "wasm-bindgen-backend"
version = "0.2.101"
version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb"
checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19"
dependencies = [
 "bumpalo",
 "log",
@@ -3695,9 +3734,9 @@ dependencies = [

[[package]]
name = "wasm-bindgen-futures"
version = "0.4.51"
version = "0.4.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe"
checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c"
dependencies = [
 "cfg-if",
 "js-sys",
@@ -3708,9 +3747,9 @@ dependencies = [

[[package]]
name = "wasm-bindgen-macro"
version = "0.2.101"
version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d"
checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119"
dependencies = [
 "quote",
 "wasm-bindgen-macro-support",
@@ -3718,9 +3757,9 @@ dependencies = [

[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.101"
version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa"
checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7"
dependencies = [
 "proc-macro2",
 "quote",
@@ -3731,13 +3770,37 @@ dependencies = [

[[package]]
name = "wasm-bindgen-shared"
version = "0.2.101"
version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1"
checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1"
dependencies = [
 "unicode-ident",
]

[[package]]
name = "wasm-bindgen-test"
version = "0.3.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e381134e148c1062f965a42ed1f5ee933eef2927c3f70d1812158f711d39865"
dependencies = [
 "js-sys",
 "minicov",
 "wasm-bindgen",
 "wasm-bindgen-futures",
 "wasm-bindgen-test-macro",
]

[[package]]
name = "wasm-bindgen-test-macro"
version = "0.3.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b673bca3298fe582aeef8352330ecbad91849f85090805582400850f8270a2e8"
dependencies = [
 "proc-macro2",
 "quote",
 "syn",
]

[[package]]
name = "wasm-streams"
version = "0.4.2"
@@ -3753,9 +3816,9 @@ dependencies = [

[[package]]
name = "web-sys"
version = "0.3.78"
version = "0.3.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12"
checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120"
dependencies = [
 "js-sys",
 "wasm-bindgen",
@@ -3792,6 +3855,15 @@ dependencies = [
 "rustix",
]

[[package]]
name = "winapi-util"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
 "windows-sys 0.60.2",
]

[[package]]
name = "windows-core"
version = "0.61.2"
+19 −0
Original line number Diff line number Diff line
[package]
name = "s3s-wasm"
version = "0.0.0"
edition.workspace = true
repository.workspace = true
license.workspace = true
rust-version.workspace = true
publish = false

[dependencies]
futures = "0.3.31"
http = "1.3.1"
s3s = { version = "0.12.0-rc.2", path = "../s3s", default-features = false }

[lints]
workspace = true

[dev-dependencies]
wasm-bindgen-test = "0.3.54"
+30 −0
Original line number Diff line number Diff line
#[cfg(test)]
mod tests {
    use s3s::S3;
    use s3s::service::S3ServiceBuilder;
    use wasm_bindgen_test::wasm_bindgen_test;

    struct DummyS3 {}

    impl S3 for DummyS3 {}

    #[wasm_bindgen_test]
    fn test_dummy_call() {
        let s3 = DummyS3 {};

        let service = S3ServiceBuilder::new(s3).build();

        let req = {
            let mut req = s3s::HttpRequest::default();
            *req.method_mut() = http::Method::GET;
            *req.uri_mut() = "http://localhost/".parse().unwrap();
            req
        };

        let result = futures::executor::block_on(service.call(req));
        assert!(result.is_ok());

        let resp = result.unwrap();
        assert_eq!(resp.status(), 501); // Not Implemented
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ mod s3_op;
mod s3_trait;
mod sig_v2;
mod sig_v4;
mod time;

pub mod access;
pub mod auth;
+2 −2
Original line number Diff line number Diff line
@@ -89,12 +89,12 @@ impl S3Service {
    #[tracing::instrument(
        level = "debug",
        skip(self, req),
        fields(start_time=?time::OffsetDateTime::now_utc())
        fields(start_time=?crate::time::now_utc())
    )]
    pub async fn call(&self, req: HttpRequest) -> Result<HttpResponse, HttpError> {
        debug!(?req);

        let t0 = std::time::Instant::now();
        let t0 = crate::time::Instant::now();

        let mut req = Request::from(req);

Loading