()
| 419 | |
| 420 | #[tokio::test] |
| 421 | async fn test_ecs_loader_token() { |
| 422 | let prefix = "mock-test"; |
| 423 | let mut defaults = HashMap::new(); |
| 424 | defaults.insert("prefix".to_string(), prefix.to_string()); |
| 425 | let config = ConfigResponse::new(defaults); |
| 426 | |
| 427 | let initial: Vec<String> = vec!["default".to_string()]; |
| 428 | let server = start_mock_server( |
| 429 | "test_warehouse".to_string(), |
| 430 | "/tmp/test_warehouse".to_string(), |
| 431 | config, |
| 432 | initial, |
| 433 | ) |
| 434 | .await; |
| 435 | |
| 436 | let role_name = "test_role"; |
| 437 | let token_json = json!({ |
| 438 | "AccessKeyId": "AccessKeyId", |
| 439 | "AccessKeySecret": "AccessKeySecret", |
| 440 | "SecurityToken": "AQoDYXdzEJr...<remainder of security token>", |
| 441 | "Expiration": "2023-12-01T12:00:00Z" |
| 442 | }); |
| 443 | |
| 444 | server.set_ecs_metadata(role_name, token_json.clone()); |
| 445 | |
| 446 | let ecs_metadata_url = format!("{}/ram/security-credentials/", server.url().unwrap()); |
| 447 | |
| 448 | // Test without role name |
| 449 | let loader = DLFECSTokenLoader::new(&ecs_metadata_url, None); |
| 450 | let load_token: DLFToken = loader.load_token().await.unwrap(); |
| 451 | |
| 452 | assert_eq!(load_token.access_key_id, "AccessKeyId"); |
| 453 | assert_eq!(load_token.access_key_secret, "AccessKeySecret"); |
| 454 | assert_eq!( |
| 455 | load_token.security_token, |
| 456 | Some("AQoDYXdzEJr...<remainder of security token>".to_string()) |
| 457 | ); |
| 458 | assert_eq!( |
| 459 | load_token.expiration, |
| 460 | Some("2023-12-01T12:00:00Z".to_string()) |
| 461 | ); |
| 462 | |
| 463 | // Test with role name |
| 464 | let loader_with_role = DLFECSTokenLoader::new(&ecs_metadata_url, Some(role_name.to_string())); |
| 465 | let token: DLFToken = loader_with_role.load_token().await.unwrap(); |
| 466 | |
| 467 | assert_eq!(token.access_key_id, "AccessKeyId"); |
| 468 | assert_eq!(token.access_key_secret, "AccessKeySecret"); |
| 469 | assert_eq!( |
| 470 | token.security_token, |
| 471 | Some("AQoDYXdzEJr...<remainder of security token>".to_string()) |
| 472 | ); |
| 473 | assert_eq!(token.expiration, Some("2023-12-01T12:00:00Z".to_string())); |
| 474 | } |
nothing calls this directly
no test coverage detected