Skip to content

Commit f57f212

Browse files
feat: Update dependencies which require switch to axum-test
Switch to axum-test as axum-test-helpers doesn't seem to be compatible with latest axum. Also axum-test seems to be much more activly maintained.
1 parent 6586d29 commit f57f212

4 files changed

+28
-28
lines changed

Cargo.toml

+12-12
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ name = "axum_casbin"
1313
path = "src/lib.rs"
1414

1515
[dependencies]
16-
casbin = { version = "2.0.9", default-features = false, features = ["incremental", "cached"] }
17-
tokio = { version = "1.17.0", default-features = false, optional = true }
18-
async-std = { version = "1.10.0", default-features = false, optional = true }
19-
axum = "0.7.4"
16+
casbin = { version = "2.10.1", default-features = false, features = ["incremental", "cached"] }
17+
tokio = { version = "1.43.0", default-features = false, optional = true }
18+
async-std = { version = "1.13.0", default-features = false, optional = true }
19+
axum = "0.8.1"
2020
futures = "0.3"
21-
tower = { version = "0.4", features = ["full"] }
22-
http = "1.0.0"
23-
http-body = "1.0.0"
24-
http-body-util = "0.1.0"
25-
bytes = "1.1.0"
21+
tower = { version = "0.5", features = ["full"] }
22+
http = "1.2.0"
23+
http-body = "1.0.1"
24+
http-body-util = "0.1.2"
25+
bytes = "1.8"
2626

2727
[features]
2828
default = ["runtime-tokio"]
@@ -31,9 +31,9 @@ runtime-tokio = ["casbin/runtime-tokio", "tokio/sync"]
3131
runtime-async-std = ["casbin/runtime-async-std", "async-std/std"]
3232

3333
[dev-dependencies]
34-
tokio = { version = "1.17.0", features = [ "full" ] }
35-
async-std = { version = "1.10.0", features = [ "attributes" ] }
36-
axum-test-helpers = "0.7.5"
34+
tokio = { version = "1.43.0", features = [ "full" ] }
35+
async-std = { version = "1.13.0", features = [ "attributes" ] }
36+
axum-test = "17.2.0"
3737

3838
[profile.release]
3939
codegen-units = 1

tests/test_middleware.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use axum::{response::Response, routing::get, BoxError, Router};
22
use axum_casbin::{CasbinAxumLayer, CasbinVals};
3-
use axum_test_helpers::TestClient;
3+
use axum_test::TestServer;
44
use bytes::Bytes;
55
use casbin::function_map::key_match2;
66
use casbin::{CoreApi, DefaultModel, FileAdapter};
@@ -89,18 +89,18 @@ async fn test_middleware() {
8989
let app = Router::new()
9090
.route("/pen/1", get(handler))
9191
.route("/pen/2", get(handler))
92-
.route("/book/:id", get(handler))
92+
.route("/book/{id}", get(handler))
9393
.layer(casbin_middleware)
9494
.layer(FakeAuthLayer);
9595

96-
let client = TestClient::new(app);
96+
let client = TestServer::new(app).unwrap();
9797

9898
let resp_pen_1 = client.get("/pen/1").await;
99-
assert_eq!(resp_pen_1.status(), StatusCode::OK);
99+
assert_eq!(resp_pen_1.status_code(), StatusCode::OK);
100100

101101
let resp_book = client.get("/book/2").await;
102-
assert_eq!(resp_book.status(), StatusCode::OK);
102+
assert_eq!(resp_book.status_code(), StatusCode::OK);
103103

104104
let resp_pen_2 = client.get("/pen/2").await;
105-
assert_eq!(resp_pen_2.status(), StatusCode::FORBIDDEN);
105+
assert_eq!(resp_pen_2.status_code(), StatusCode::FORBIDDEN);
106106
}

tests/test_middleware_domain.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use axum::{response::Response, routing::get, BoxError, Router};
22
use axum_casbin::{CasbinAxumLayer, CasbinVals};
3-
use axum_test_helpers::TestClient;
3+
use axum_test::TestServer;
44
use bytes::Bytes;
55
use casbin::{DefaultModel, FileAdapter};
66
use futures::future::BoxFuture;
@@ -83,11 +83,11 @@ async fn test_middleware_domain() {
8383
.layer(casbin_middleware)
8484
.layer(FakeAuthLayer);
8585

86-
let client = TestClient::new(app);
86+
let client = TestServer::new(app).unwrap();
8787

8888
let resp_pen = client.get("/pen/1").await;
89-
assert_eq!(resp_pen.status(), StatusCode::OK);
89+
assert_eq!(resp_pen.status_code(), StatusCode::OK);
9090

9191
let resp_book = client.get("/book/1").await;
92-
assert_eq!(resp_book.status(), StatusCode::FORBIDDEN);
92+
assert_eq!(resp_book.status_code(), StatusCode::FORBIDDEN);
9393
}

tests/test_set_enforcer.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use axum::{response::Response, routing::get, BoxError, Router};
22
use axum_casbin::{CasbinAxumLayer, CasbinVals};
3-
use axum_test_helpers::TestClient;
3+
use axum_test::TestServer;
44
use bytes::Bytes;
55
use casbin::function_map::key_match2;
66
use casbin::{CachedEnforcer, CoreApi, DefaultModel, FileAdapter};
@@ -97,18 +97,18 @@ async fn test_set_enforcer() {
9797
let app = Router::new()
9898
.route("/pen/1", get(handler))
9999
.route("/pen/2", get(handler))
100-
.route("/book/:id", get(handler))
100+
.route("/book/{id}", get(handler))
101101
.layer(casbin_middleware)
102102
.layer(FakeAuthLayer);
103103

104-
let client = TestClient::new(app);
104+
let client = TestServer::new(app).unwrap();
105105

106106
let resp_pen_1 = client.get("/pen/1").await;
107-
assert_eq!(resp_pen_1.status(), StatusCode::OK);
107+
assert_eq!(resp_pen_1.status_code(), StatusCode::OK);
108108

109109
let resp_book = client.get("/book/2").await;
110-
assert_eq!(resp_book.status(), StatusCode::OK);
110+
assert_eq!(resp_book.status_code(), StatusCode::OK);
111111

112112
let resp_pen_2 = client.get("/pen/2").await;
113-
assert_eq!(resp_pen_2.status(), StatusCode::FORBIDDEN);
113+
assert_eq!(resp_pen_2.status_code(), StatusCode::FORBIDDEN);
114114
}

0 commit comments

Comments
 (0)