MCPcopy Create free account
hub / github.com/apache/paimon-rust / test_ecs_loader_token

Function test_ecs_loader_token

crates/paimon/tests/rest_api_test.rs:421–474  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

419
420#[tokio::test]
421async 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}

Callers

nothing calls this directly

Calls 4

start_mock_serverFunction · 0.85
insertMethod · 0.80
set_ecs_metadataMethod · 0.80
load_tokenMethod · 0.80

Tested by

no test coverage detected