@@ -6,7 +6,6 @@ use anyhow::Context;
6
6
use camino:: Utf8PathBuf ;
7
7
use dropshot:: ResultsPage ;
8
8
use dropshot:: test_util:: ClientTestContext ;
9
- use http:: header:: HeaderName ;
10
9
use http:: { StatusCode , header, method:: Method } ;
11
10
use nexus_auth:: context:: OpContext ;
12
11
use std:: env:: current_dir;
@@ -17,16 +16,12 @@ use internal_dns_types::names::DNS_ZONE_EXTERNAL_TESTING;
17
16
use nexus_db_queries:: authn:: { USER_TEST_PRIVILEGED , USER_TEST_UNPRIVILEGED } ;
18
17
use nexus_db_queries:: db:: fixed_data:: silo:: DEFAULT_SILO ;
19
18
use nexus_db_queries:: db:: identity:: { Asset , Resource } ;
20
- use nexus_test_utils:: http_testing:: {
21
- AuthnMode , NexusRequest , RequestBuilder , TestResponse ,
22
- } ;
23
- use nexus_test_utils:: resource_helpers:: test_params;
19
+ use nexus_test_utils:: http_testing:: { AuthnMode , NexusRequest , RequestBuilder } ;
20
+ use nexus_test_utils:: resource_helpers:: create_console_session;
24
21
use nexus_test_utils:: resource_helpers:: {
25
22
create_silo, grant_iam, object_create,
26
23
} ;
27
- use nexus_test_utils:: {
28
- TEST_SUITE_PASSWORD , load_test_config, test_setup_with_config,
29
- } ;
24
+ use nexus_test_utils:: { load_test_config, test_setup_with_config} ;
30
25
use nexus_test_utils_macros:: nexus_test;
31
26
use nexus_types:: external_api:: params:: { self , ProjectCreate } ;
32
27
use nexus_types:: external_api:: shared:: { SiloIdentityMode , SiloRole } ;
@@ -54,7 +49,7 @@ async fn test_sessions(cptestctx: &ControlPlaneTestContext) {
54
49
. expect ( "failed to clear cookie and 204 on logout" ) ;
55
50
56
51
// log in and pull the token out of the header so we can use it for authed requests
57
- let session_token = log_in_and_extract_token ( cptestctx) . await ;
52
+ let session_token = create_console_session ( cptestctx) . await ;
58
53
59
54
let project_params = ProjectCreate {
60
55
identity : IdentityMetadataCreateParams {
@@ -208,7 +203,7 @@ async fn test_console_pages(cptestctx: &ControlPlaneTestContext) {
208
203
)
209
204
. await ;
210
205
211
- let session_token = log_in_and_extract_token ( cptestctx) . await ;
206
+ let session_token = create_console_session ( cptestctx) . await ;
212
207
213
208
// hit console pages with session, should get back HTML response
214
209
let console_paths = & [
@@ -882,35 +877,6 @@ async fn test_login_redirect_multiple_silos(
882
877
)
883
878
}
884
879
885
- fn get_header_value ( resp : TestResponse , header_name : HeaderName ) -> String {
886
- resp. headers . get ( header_name) . unwrap ( ) . to_str ( ) . unwrap ( ) . to_string ( )
887
- }
888
-
889
- async fn log_in_and_extract_token (
890
- cptestctx : & ControlPlaneTestContext ,
891
- ) -> String {
892
- let testctx = & cptestctx. external_client ;
893
- let url = format ! ( "/v1/login/{}/local" , cptestctx. silo_name) ;
894
- let credentials = test_params:: UsernamePasswordCredentials {
895
- username : cptestctx. user_name . as_ref ( ) . parse ( ) . unwrap ( ) ,
896
- password : TEST_SUITE_PASSWORD . to_string ( ) ,
897
- } ;
898
- let login = RequestBuilder :: new ( & testctx, Method :: POST , & url)
899
- . body ( Some ( & credentials) )
900
- . expect_status ( Some ( StatusCode :: NO_CONTENT ) )
901
- . execute ( )
902
- . await
903
- . expect ( "failed to log in" ) ;
904
-
905
- let session_cookie = get_header_value ( login, header:: SET_COOKIE ) ;
906
- let ( session_token, rest) = session_cookie. split_once ( "; " ) . unwrap ( ) ;
907
-
908
- assert ! ( session_token. starts_with( "session=" ) ) ;
909
- assert_eq ! ( rest, "Path=/; HttpOnly; SameSite=Lax; Max-Age=86400" ) ;
910
-
911
- session_token. to_string ( )
912
- }
913
-
914
880
async fn expect_redirect ( testctx : & ClientTestContext , from : & str , to : & str ) {
915
881
let _ = RequestBuilder :: new ( & testctx, Method :: GET , from)
916
882
. expect_status ( Some ( StatusCode :: FOUND ) )
@@ -942,7 +908,7 @@ async fn test_session_idle_timeout_deletes_session() {
942
908
let testctx = & cptestctx. external_client ;
943
909
944
910
// Start session
945
- let session_cookie = log_in_and_extract_token ( & cptestctx) . await ;
911
+ let session_cookie = create_console_session ( & cptestctx) . await ;
946
912
947
913
// sleep here not necessary given TTL of 0
948
914
0 commit comments