Skip to content

Commit 8365d88

Browse files
committed
Refactor tests to use rustapi-testing crate
Updated rustapi-extras to depend on rustapi-testing and refactored CSRF layer tests to import TestClient, TestRequest, and TestResponse from rustapi-testing instead of rustapi-core. This improves test modularity and aligns with the new crate structure.
1 parent 6f8fa35 commit 8365d88

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/rustapi-extras/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ sha2 = { version = "0.10", optional = true }
7575
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
7676
proptest = "1.4"
7777
rustapi-core = { workspace = true, features = ["test-utils"] }
78+
rustapi-testing = { workspace = true }
7879
tempfile = "3.10"
7980
serial_test = "3.2"
8081

crates/rustapi-extras/src/csrf/layer.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,8 @@ impl MiddlewareLayer for CsrfLayer {
130130
mod tests {
131131
use super::*;
132132
use http::StatusCode;
133-
use rustapi_core::{get, post, RustApi, TestClient, TestRequest};
133+
use rustapi_core::{get, post, RustApi};
134+
use rustapi_testing::{TestClient, TestRequest, TestResponse};
134135

135136
async fn handler() -> &'static str {
136137
"ok"
@@ -144,7 +145,7 @@ mod tests {
144145
.route("/", get(handler));
145146

146147
let client = TestClient::new(app);
147-
let res = client.get("/").await;
148+
let res: TestResponse = client.get("/").await;
148149

149150
assert_eq!(res.status(), StatusCode::OK);
150151
let cookies = res
@@ -165,7 +166,7 @@ mod tests {
165166

166167
let client = TestClient::new(app);
167168
// POST without cookie or header
168-
let res = client.request(TestRequest::post("/")).await;
169+
let res: TestResponse = client.request(TestRequest::post("/")).await;
169170

170171
assert_eq!(res.status(), StatusCode::FORBIDDEN);
171172
}
@@ -178,7 +179,7 @@ mod tests {
178179
.route("/", post(handler));
179180

180181
let client = TestClient::new(app);
181-
let res = client
182+
let res: TestResponse = client
182183
.request(
183184
TestRequest::post("/")
184185
.header("Cookie", "ID=token123")
@@ -197,7 +198,7 @@ mod tests {
197198
.route("/", post(handler));
198199

199200
let client = TestClient::new(app);
200-
let res = client
201+
let res: TestResponse = client
201202
.request(
202203
TestRequest::post("/")
203204
.header("Cookie", "ID=token123")
@@ -221,7 +222,7 @@ mod tests {
221222
let client = TestClient::new(app);
222223

223224
// 1. Initial GET to get token
224-
let res = client.get("/").await;
225+
let res: TestResponse = client.get("/").await;
225226
assert_eq!(res.status(), StatusCode::OK);
226227
let set_cookie = res
227228
.headers()
@@ -235,7 +236,7 @@ mod tests {
235236
let token_val = token_part.split('=').nth(1).unwrap();
236237

237238
// 2. Unsafe POST with valid token
238-
let res = client
239+
let res: TestResponse = client
239240
.request(
240241
TestRequest::post("/")
241242
.header("Cookie", token_part)
@@ -245,7 +246,7 @@ mod tests {
245246
assert_eq!(res.status(), StatusCode::OK);
246247

247248
// 3. Unsafe POST with invalid token (Mismatch)
248-
let res = client
249+
let res: TestResponse = client
249250
.request(
250251
TestRequest::post("/")
251252
.header("Cookie", token_part)
@@ -269,7 +270,7 @@ mod tests {
269270
.route("/", get(token_handler));
270271

271272
let client = TestClient::new(app);
272-
let res = client.get("/").await;
273+
let res: TestResponse = client.get("/").await;
273274

274275
assert_eq!(res.status(), StatusCode::OK);
275276
let body = res.text();

0 commit comments

Comments
 (0)