|
1 | | -use crate::tests::util::MockRequestExt; |
| 1 | +use crate::tests::builders::PublishBuilder; |
| 2 | +use crate::tests::util::MockTokenUser; |
2 | 3 | use crate::tests::{RequestHelper, TestApp}; |
3 | 4 | use crate::{models::ApiToken, views::EncodableMe}; |
4 | 5 | use diesel::prelude::*; |
5 | 6 | use diesel_async::RunQueryDsl; |
6 | | -use http::header; |
7 | 7 | use insta::assert_snapshot; |
8 | 8 |
|
9 | 9 | #[tokio::test(flavor = "multi_thread")] |
@@ -35,12 +35,11 @@ async fn using_token_updates_last_used_at() { |
35 | 35 |
|
36 | 36 | #[tokio::test(flavor = "multi_thread")] |
37 | 37 | async fn old_tokens_give_specific_error_message() { |
38 | | - let url = "/api/v1/me"; |
39 | | - let (_, anon) = TestApp::init().empty().await; |
| 38 | + let (app, _anon) = TestApp::full().empty().await; |
40 | 39 |
|
41 | | - let mut request = anon.get_request(url); |
42 | | - request.header(header::AUTHORIZATION, "oldtoken"); |
43 | | - let response = anon.run::<()>(request).await; |
| 40 | + let client = MockTokenUser::with_auth_header("oldtoken".to_string(), app.clone()); |
| 41 | + let pb = PublishBuilder::new("foo", "1.0.0"); |
| 42 | + let response = client.publish_crate(pb).await; |
44 | 43 | assert_snapshot!(response.status(), @"401 Unauthorized"); |
45 | 44 | assert_snapshot!(response.text(), @r#"{"errors":[{"detail":"The given API token does not match the format used by crates.io. Tokens generated before 2020-07-14 were generated with an insecure random number generator, and have been revoked. You can generate a new token at https://crates.io/me. For more information please see https://blog.rust-lang.org/2020/07/14/crates-io-security-advisory.html. We apologize for any inconvenience."}]}"#); |
46 | 45 | } |
0 commit comments