Skip to content

Commit d7515d4

Browse files
committed
Fix all tests
1 parent d3c78cd commit d7515d4

File tree

5 files changed

+35
-85
lines changed

5 files changed

+35
-85
lines changed

src/tests/all.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ struct Error { detail: String }
6363
#[derive(RustcDecodable)]
6464
struct Bad { errors: Vec<Error> }
6565

66-
mod middleware;
6766
mod keyword;
6867
mod krate;
6968
mod user;

src/tests/krate.rs

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ use std::io::prelude::*;
33
use std::fs::{self, File};
44

55
use conduit::{Handler, Request, Method};
6-
use conduit_test::MockRequest;
76
use git2;
87
use rustc_serialize::{json, Decoder};
98
use semver;
@@ -54,16 +53,16 @@ fn new_crate(name: &str) -> u::NewCrate {
5453

5554
#[test]
5655
fn index() {
57-
let (_b, _app, mut middle) = ::app();
58-
let mut req = MockRequest::new(Method::Get, "/api/v1/crates");
56+
let (_b, app, middle) = ::app();
57+
let mut req = ::req(app, Method::Get, "/api/v1/crates");
5958
let mut response = ok_resp!(middle.call(&mut req));
6059
let json: CrateList = ::json(&mut response);
6160
assert_eq!(json.crates.len(), 0);
6261
assert_eq!(json.meta.total, 0);
6362

6463
let krate = ::krate("foo");
65-
middle.add(::middleware::MockUser(::user("foo")));
66-
middle.add(::middleware::MockCrate(krate.clone()));
64+
::mock_user(&mut req, ::user("foo"));
65+
::mock_crate(&mut req, krate.clone());
6766
let mut response = ok_resp!(middle.call(&mut req));
6867
let json: CrateList = ::json(&mut response);
6968
assert_eq!(json.crates.len(), 1);
@@ -125,15 +124,15 @@ fn index_queries() {
125124

126125
#[test]
127126
fn show() {
128-
let (_b, _app, mut middle) = ::app();
127+
let (_b, app, middle) = ::app();
128+
let mut req = ::req(app, Method::Get, "/api/v1/crates/foo");
129+
::mock_user(&mut req, ::user("foo"));
129130
let mut krate = ::krate("foo");
130131
krate.description = Some(format!("description"));
131132
krate.documentation = Some(format!("https://example.com"));
132133
krate.homepage = Some(format!("http://example.com"));
133-
middle.add(::middleware::MockUser(::user("foo")));
134-
middle.add(::middleware::MockCrate(krate.clone()));
135-
let mut req = MockRequest::new(Method::Get,
136-
&format!("/api/v1/crates/{}", krate.name));
134+
::mock_crate(&mut req, krate.clone());
135+
137136
let mut response = ok_resp!(middle.call(&mut req));
138137
let json: CrateResponse = ::json(&mut response);
139138
assert_eq!(json.krate.name, krate.name);
@@ -519,8 +518,8 @@ fn new_krate_dependency_missing() {
519518

520519
#[test]
521520
fn summary_doesnt_die() {
522-
let (_b, _app, middle) = ::app();
523-
let mut req = MockRequest::new(Method::Get, "/summary");
521+
let (_b, app, middle) = ::app();
522+
let mut req = ::req(app, Method::Get, "/summary");
524523
ok_resp!(middle.call(&mut req));
525524
}
526525

@@ -550,13 +549,10 @@ fn download() {
550549

551550
#[test]
552551
fn download_bad() {
553-
let (_b, _app, mut middle) = ::app();
554-
let user = ::user("foo");
555-
let krate = ::krate("foo");
556-
middle.add(::middleware::MockUser(user.clone()));
557-
middle.add(::middleware::MockCrate(krate.clone()));
558-
let rel = format!("/api/v1/crates/{}/0.1.0/download", krate.name);
559-
let mut req = MockRequest::new(Method::Get, &rel);
552+
let (_b, app, middle) = ::app();
553+
let mut req = ::req(app, Method::Get, "/api/v1/crates/foo/0.1.0/download");
554+
::mock_user(&mut req, ::user("foo"));
555+
::mock_crate(&mut req, ::krate("foo"));
560556
let mut response = ok_resp!(middle.call(&mut req));
561557
::json::<::Bad>(&mut response);
562558
}

src/tests/middleware.rs

Lines changed: 0 additions & 26 deletions
This file was deleted.

src/tests/user.rs

Lines changed: 19 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
use std::error::Error;
22

3-
use conduit::{Handler, Request, Response, Method};
4-
use conduit_middleware::Middleware;
5-
use conduit_test::MockRequest;
3+
use conduit::{Handler, Request, Method};
64

75
use cargo_registry::Model;
86
use cargo_registry::krate::EncodableCrate;
@@ -17,17 +15,17 @@ struct MeResponse { user: EncodableUser, api_token: String }
1715

1816
#[test]
1917
fn auth_gives_a_token() {
20-
let (_b, _app, middle) = ::app();
21-
let mut req = MockRequest::new(Method::Get, "/authorize_url");
18+
let (_b, app, middle) = ::app();
19+
let mut req = ::req(app, Method::Get, "/authorize_url");
2220
let mut response = ok_resp!(middle.call(&mut req));
2321
let json: AuthResponse = ::json(&mut response);
2422
assert!(json.url.contains(&json.state));
2523
}
2624

2725
#[test]
2826
fn access_token_needs_data() {
29-
let (_b, _app, middle) = ::app();
30-
let mut req = MockRequest::new(Method::Get, "/authorize");
27+
let (_b, app, middle) = ::app();
28+
let mut req = ::req(app, Method::Get, "/authorize");
3129
let mut response = ok_resp!(middle.call(&mut req));
3230
let json: ::Bad = ::json(&mut response);
3331
assert!(json.errors[0].detail.contains("invalid state"));
@@ -53,13 +51,13 @@ fn user_insert() {
5351

5452
#[test]
5553
fn me() {
56-
let (_b, _app, mut middle) = ::app();
57-
let mut req = MockRequest::new(Method::Get, "/me");
54+
let (_b, app, middle) = ::app();
55+
let mut req = ::req(app, Method::Get, "/me");
5856
let response = t_resp!(middle.call(&mut req));
5957
assert_eq!(response.status.0, 403);
6058

6159
let user = ::user("foo");
62-
middle.add(::middleware::MockUser(user.clone()));
60+
::mock_user(&mut req, user.clone());
6361
let mut response = ok_resp!(middle.call(&mut req));
6462
let json: MeResponse = ::json(&mut response);
6563
assert_eq!(json.user.email, user.email);
@@ -68,30 +66,19 @@ fn me() {
6866

6967
#[test]
7068
fn reset_token() {
71-
struct ResetTokenTest;
72-
73-
let (_b, _app, mut middle) = ::app();
74-
middle.add(ResetTokenTest);
75-
let mut req = MockRequest::new(Method::Put, "/me/reset_token");
69+
let (_b, app, middle) = ::app();
70+
let mut req = ::req(app, Method::Put, "/me/reset_token");
71+
let user = {
72+
let tx = RequestTransaction::tx(&mut req as &mut Request);
73+
User::find_or_insert(tx.unwrap(), "foo", None,
74+
None, None, "bar", "baz").unwrap()
75+
};
76+
::mock_user(&mut req, user.clone());
7677
ok_resp!(middle.call(&mut req));
7778

78-
impl Middleware for ResetTokenTest {
79-
fn before(&self, req: &mut Request) -> Result<(), Box<Error+Send>> {
80-
let user = User::find_or_insert(req.tx().unwrap(), "foo", None,
81-
None, None, "bar", "baz").unwrap();
82-
req.mut_extensions().insert(user);
83-
Ok(())
84-
}
85-
86-
fn after(&self, req: &mut Request,
87-
response: Result<Response, Box<Error+Send>>)
88-
-> Result<Response, Box<Error+Send>> {
89-
let user = req.extensions().find::<User>().unwrap();
90-
let u2 = User::find(req.tx().unwrap(), user.id).unwrap();
91-
assert!(u2.api_token != user.api_token);
92-
response
93-
}
94-
}
79+
let tx = RequestTransaction::tx(&mut req as &mut Request);
80+
let u2 = User::find(tx.unwrap(), user.id).unwrap();
81+
assert!(u2.api_token != user.api_token);
9582
}
9683

9784
#[test]

src/user/middleware.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::error::Error;
22

33
use conduit_middleware;
4-
use conduit::{Request, Response};
4+
use conduit::Request;
55
use conduit_cookie::RequestSession;
66

77
use Model;
@@ -51,12 +51,6 @@ impl conduit_middleware::Middleware for Middleware {
5151
req.mut_extensions().insert(user);
5252
Ok(())
5353
}
54-
55-
fn after(&self, req: &mut Request, res: Result<Response, Box<Error+Send>>)
56-
-> Result<Response, Box<Error+Send>> {
57-
req.mut_extensions().remove::<User>();
58-
res
59-
}
6054
}
6155

6256
pub trait RequestUser {

0 commit comments

Comments
 (0)