diff --git a/Cargo.lock b/Cargo.lock index 30d29020..f0c77a14 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3244,7 +3244,7 @@ dependencies = [ "passwords", "qovery-engine", "rand 0.7.3", - "reqwest 0.10.10", + "reqwest 0.11.4", "retry", "scaleway_api_rs", "serde", diff --git a/lib/aws/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml b/lib/aws/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml index d0bf7559..5cf11a24 100644 --- a/lib/aws/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml +++ b/lib/aws/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml @@ -24,6 +24,16 @@ metadata: ingress.kubernetes.io/ssl-redirect: "true" #nginx.ingress.kubernetes.io/enable-cors: "true" #nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-csrftoken" + {%- if sticky_sessions_enabled == true %} + # https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/ + nginx.ingress.kubernetes.io/affinity: "cookie" + nginx.ingress.kubernetes.io/affinity-mode: "persistent" + nginx.ingress.kubernetes.io/session-cookie-secure: "true" + nginx.ingress.kubernetes.io/session-cookie-name: "INGRESSCOOKIE_QOVERY" + nginx.ingress.kubernetes.io/session-cookie-max-age: "85400" # 1 day + nginx.ingress.kubernetes.io/session-cookie-expires: "85400" # 1 day + nginx.ingress.kubernetes.io/session-cookie-samesite: "Lax" + {%- endif %} spec: tls: {%- if custom_domains|length > 0 %} diff --git a/lib/digitalocean/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml b/lib/digitalocean/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml index d0bf7559..5cf11a24 100644 --- a/lib/digitalocean/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml +++ b/lib/digitalocean/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml @@ -24,6 +24,16 @@ metadata: ingress.kubernetes.io/ssl-redirect: "true" #nginx.ingress.kubernetes.io/enable-cors: "true" #nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-csrftoken" + {%- if sticky_sessions_enabled == true %} + # https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/ + nginx.ingress.kubernetes.io/affinity: "cookie" + nginx.ingress.kubernetes.io/affinity-mode: "persistent" + nginx.ingress.kubernetes.io/session-cookie-secure: "true" + nginx.ingress.kubernetes.io/session-cookie-name: "INGRESSCOOKIE_QOVERY" + nginx.ingress.kubernetes.io/session-cookie-max-age: "85400" # 1 day + nginx.ingress.kubernetes.io/session-cookie-expires: "85400" # 1 day + nginx.ingress.kubernetes.io/session-cookie-samesite: "Lax" + {%- endif %} spec: tls: {%- if custom_domains|length > 0 %} diff --git a/lib/scaleway/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml b/lib/scaleway/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml index d0bf7559..5cf11a24 100644 --- a/lib/scaleway/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml +++ b/lib/scaleway/charts/q-ingress-tls/templates/ingress-qovery.j2.yaml @@ -24,6 +24,16 @@ metadata: ingress.kubernetes.io/ssl-redirect: "true" #nginx.ingress.kubernetes.io/enable-cors: "true" #nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-csrftoken" + {%- if sticky_sessions_enabled == true %} + # https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/ + nginx.ingress.kubernetes.io/affinity: "cookie" + nginx.ingress.kubernetes.io/affinity-mode: "persistent" + nginx.ingress.kubernetes.io/session-cookie-secure: "true" + nginx.ingress.kubernetes.io/session-cookie-name: "INGRESSCOOKIE_QOVERY" + nginx.ingress.kubernetes.io/session-cookie-max-age: "85400" # 1 day + nginx.ingress.kubernetes.io/session-cookie-expires: "85400" # 1 day + nginx.ingress.kubernetes.io/session-cookie-samesite: "Lax" + {%- endif %} spec: tls: {%- if custom_domains|length > 0 %} diff --git a/src/cloud_provider/aws/router.rs b/src/cloud_provider/aws/router.rs index d2652cff..8c72dd68 100644 --- a/src/cloud_provider/aws/router.rs +++ b/src/cloud_provider/aws/router.rs @@ -20,6 +20,7 @@ pub struct Router { action: Action, default_domain: String, custom_domains: Vec, + sticky_sessions_enabled: bool, routes: Vec, listeners: Listeners, } @@ -33,6 +34,7 @@ impl Router { default_domain: &str, custom_domains: Vec, routes: Vec, + sticky_sessions_enabled: bool, listeners: Listeners, ) -> Self { Router { @@ -42,6 +44,7 @@ impl Router { action, default_domain: default_domain.to_string(), custom_domains, + sticky_sessions_enabled, routes, listeners, } @@ -212,6 +215,9 @@ impl Service for Router { }; context.insert("spec_acme_server", lets_encrypt_url); + // Nginx + context.insert("sticky_sessions_enabled", &self.sticky_sessions_enabled); + Ok(context) } diff --git a/src/cloud_provider/digitalocean/router.rs b/src/cloud_provider/digitalocean/router.rs index 15ebbf49..173dea32 100644 --- a/src/cloud_provider/digitalocean/router.rs +++ b/src/cloud_provider/digitalocean/router.rs @@ -20,6 +20,7 @@ pub struct Router { name: String, default_domain: String, custom_domains: Vec, + sticky_sessions_enabled: bool, routes: Vec, listeners: Listeners, } @@ -33,6 +34,7 @@ impl Router { default_domain: &str, custom_domains: Vec, routes: Vec, + sticky_sessions_enabled: bool, listeners: Listeners, ) -> Self { Router { @@ -42,6 +44,7 @@ impl Router { action, default_domain: default_domain.to_string(), custom_domains, + sticky_sessions_enabled, routes, listeners, } @@ -228,7 +231,8 @@ impl Service for Router { }; context.insert("spec_acme_server", lets_encrypt_url); - eprintln!("{}", context.clone().into_json()); + // Nginx + context.insert("sticky_sessions_enabled", &self.sticky_sessions_enabled); Ok(context) } diff --git a/src/cloud_provider/scaleway/router.rs b/src/cloud_provider/scaleway/router.rs index c6a4c8bb..2ca3651b 100644 --- a/src/cloud_provider/scaleway/router.rs +++ b/src/cloud_provider/scaleway/router.rs @@ -20,6 +20,7 @@ pub struct Router { name: String, default_domain: String, custom_domains: Vec, + sticky_sessions_enabled: bool, routes: Vec, listeners: Listeners, } @@ -33,6 +34,7 @@ impl Router { default_domain: &str, custom_domains: Vec, routes: Vec, + sticky_sessions_enabled: bool, listeners: Listeners, ) -> Router { Router { @@ -42,6 +44,7 @@ impl Router { action, default_domain: default_domain.to_string(), custom_domains, + sticky_sessions_enabled, routes, listeners, } @@ -179,6 +182,9 @@ impl Service for Router { }; context.insert("spec_acme_server", lets_encrypt_url); + // Nginx + context.insert("sticky_sessions_enabled", &self.sticky_sessions_enabled); + Ok(context) } diff --git a/src/models.rs b/src/models.rs index 10188ccc..f9303db2 100644 --- a/src/models.rs +++ b/src/models.rs @@ -204,8 +204,8 @@ pub struct Application { pub max_instances: u32, pub start_timeout_in_seconds: u32, pub storage: Vec, - // Key is a String, Value is a base64 encoded String - // Use BTreeMap to get Hash trait which is not available on HashMap + /// Key is a String, Value is a base64 encoded String + /// Use BTreeMap to get Hash trait which is not available on HashMap pub environment_vars: BTreeMap, } @@ -546,6 +546,10 @@ pub struct Router { pub action: Action, pub default_domain: String, pub public_port: u16, + #[serde(default)] + /// sticky_sessions_enabled: enables sticky session for the request to come to the same + /// pod replica that was responding to the request before + pub sticky_sessions_enabled: bool, pub custom_domains: Vec, pub routes: Vec, } @@ -586,6 +590,7 @@ impl Router { self.default_domain.as_str(), custom_domains, routes, + self.sticky_sessions_enabled, listeners, )); Some(router) @@ -600,6 +605,7 @@ impl Router { self.default_domain.as_str(), custom_domains, routes, + self.sticky_sessions_enabled, listeners, )); Some(router) @@ -613,6 +619,7 @@ impl Router { self.default_domain.as_str(), custom_domains, routes, + self.sticky_sessions_enabled, listeners, )); Some(router) diff --git a/test_utilities/Cargo.lock b/test_utilities/Cargo.lock index 05166406..a0209f62 100644 --- a/test_utilities/Cargo.lock +++ b/test_utilities/Cargo.lock @@ -3271,7 +3271,7 @@ dependencies = [ "passwords", "qovery-engine", "rand 0.7.3", - "reqwest 0.10.8", + "reqwest 0.11.3", "retry", "scaleway_api_rs", "serde", diff --git a/test_utilities/Cargo.toml b/test_utilities/Cargo.toml index 4bdfed5b..f777f2d0 100644 --- a/test_utilities/Cargo.toml +++ b/test_utilities/Cargo.toml @@ -19,7 +19,7 @@ serde = "1.0" serde_json = "1.0.57" serde_derive = "1.0" curl = "0.4.34" -reqwest = { version = "0.10.8", features = ["blocking"] } +reqwest = { version = "0.11.3", features = ["blocking", "json"] } tracing = "0.1" tracing-subscriber = "0.2" retry = "1.0.0" diff --git a/test_utilities/src/common.rs b/test_utilities/src/common.rs index e85e3578..49f773e7 100644 --- a/test_utilities/src/common.rs +++ b/test_utilities/src/common.rs @@ -185,7 +185,6 @@ pub enum ClusterTestType { pub fn environment_3_apps_3_routers_3_databases( context: &Context, - organization_id: &str, test_domain: &str, database_instance_type: &str, database_disk_type: &str, @@ -230,7 +229,7 @@ pub fn environment_3_apps_3_routers_3_databases( id: generate_id(), owner_id: generate_id(), project_id: generate_id(), - organization_id: organization_id.to_string(), + organization_id: context.organization_id().to_string(), action: Action::Create, applications: vec![ Application { @@ -379,37 +378,40 @@ pub fn environment_3_apps_3_routers_3_databases( id: generate_id(), name: "main".to_string(), action: Action::Create, - default_domain: format!("{}.{}", generate_id(), test_domain), + default_domain: format!("{}.{}.{}", generate_id(), context.cluster_id().to_string(), test_domain), public_port: 443, custom_domains: vec![], routes: vec![Route { path: "/app1".to_string(), application_name: app_name_1.clone(), }], + sticky_sessions_enabled: false, }, Router { id: generate_id(), name: "second-router".to_string(), action: Action::Create, - default_domain: format!("{}.{}", generate_id(), test_domain), + default_domain: format!("{}.{}.{}", generate_id(), context.cluster_id().to_string(), test_domain), public_port: 443, custom_domains: vec![], routes: vec![Route { path: "/app2".to_string(), application_name: app_name_2.clone(), }], + sticky_sessions_enabled: false, }, Router { id: generate_id(), name: "third-router".to_string(), action: Action::Create, - default_domain: format!("{}.{}", generate_id(), test_domain), + default_domain: format!("{}.{}.{}", generate_id(), context.cluster_id().to_string(), test_domain), public_port: 443, custom_domains: vec![], routes: vec![Route { path: "/app3".to_string(), application_name: app_name_3.clone(), }], + sticky_sessions_enabled: false, }, ], databases: vec![ @@ -484,19 +486,24 @@ pub fn environment_3_apps_3_routers_3_databases( } } -pub fn working_minimal_environment(context: &Context, organization_id: &str, test_domain: &str) -> Environment { +pub fn working_minimal_environment(context: &Context, test_domain: &str) -> Environment { let suffix = generate_id(); let application_id = generate_id(); let application_name = format!("{}-{}", "simple-app".to_string(), &suffix); let router_id = generate_id(); let router_name = "main".to_string(); - let application_domain = format!("{}.{}", application_id, test_domain); + let application_domain = format!( + "{}.{}.{}", + application_id, + context.cluster_id().to_string(), + test_domain + ); Environment { execution_id: context.execution_id().to_string(), id: generate_id(), owner_id: generate_id(), project_id: generate_id(), - organization_id: organization_id.to_string(), + organization_id: context.organization_id().to_string(), action: Action::Create, applications: vec![Application { id: application_id, @@ -542,15 +549,26 @@ pub fn working_minimal_environment(context: &Context, organization_id: &str, tes path: "/".to_string(), application_name: format!("{}-{}", "simple-app".to_string(), &suffix), }], + sticky_sessions_enabled: false, }], databases: vec![], clone_from_environment_id: None, } } +pub fn environment_only_http_server_router_with_sticky_session(context: &Context, test_domain: &str) -> Environment { + let mut env = environment_only_http_server_router(context, test_domain.clone()); + + for mut router in &mut env.routers { + router.sticky_sessions_enabled = true; + } + + env.clone() +} + pub fn environnement_2_app_2_routers_1_psql( context: &Context, - organization_id: &str, + test_domain: &str, database_instance_type: &str, database_disk_type: &str, @@ -573,7 +591,7 @@ pub fn environnement_2_app_2_routers_1_psql( id: generate_id(), owner_id: generate_id(), project_id: generate_id(), - organization_id: organization_id.to_string(), + organization_id: context.organization_id().to_string(), action: Action::Create, databases: vec![Database { kind: DatabaseKind::Postgresql, @@ -696,33 +714,35 @@ pub fn environnement_2_app_2_routers_1_psql( id: generate_id(), name: "main".to_string(), action: Action::Create, - default_domain: format!("{}.{}", generate_id(), &test_domain), + default_domain: format!("{}.{}.{}", generate_id(), context.cluster_id().to_string(), test_domain), public_port: 443, custom_domains: vec![], routes: vec![Route { path: "/".to_string(), application_name: application_name1.to_string(), }], + sticky_sessions_enabled: false, }, Router { id: generate_id(), name: "second-router".to_string(), action: Action::Create, - default_domain: format!("{}.{}", generate_id(), &test_domain), + default_domain: format!("{}.{}.{}", generate_id(), context.cluster_id().to_string(), test_domain), public_port: 443, custom_domains: vec![], routes: vec![Route { path: "/coco".to_string(), application_name: application_name2.to_string(), }], + sticky_sessions_enabled: false, }, ], clone_from_environment_id: None, } } -pub fn non_working_environment(context: &Context, organization_id: &str, test_domain: &str) -> Environment { - let mut environment = working_minimal_environment(context, organization_id, test_domain); +pub fn non_working_environment(context: &Context, test_domain: &str) -> Environment { + let mut environment = working_minimal_environment(context, test_domain); environment.applications = environment .applications @@ -740,14 +760,14 @@ pub fn non_working_environment(context: &Context, organization_id: &str, test_do // echo app environment is an environment that contains http-echo container (forked from hashicorp) // ECHO_TEXT var will be the content of the application root path -pub fn echo_app_environment(context: &Context, organization_id: &str, test_domain: &str) -> Environment { +pub fn echo_app_environment(context: &Context, test_domain: &str) -> Environment { let suffix = generate_id(); Environment { execution_id: context.execution_id().to_string(), id: generate_id(), owner_id: generate_id(), project_id: generate_id(), - organization_id: organization_id.to_string(), + organization_id: context.organization_id().to_string(), action: Action::Create, applications: vec![Application { id: generate_id(), @@ -789,27 +809,28 @@ pub fn echo_app_environment(context: &Context, organization_id: &str, test_domai id: generate_id(), name: "main".to_string(), action: Action::Create, - default_domain: format!("{}.{}", generate_id(), test_domain), + default_domain: format!("{}.{}.{}", generate_id(), context.cluster_id().to_string(), test_domain), public_port: 443, custom_domains: vec![], routes: vec![Route { path: "/".to_string(), application_name: format!("{}-{}", "echo-app".to_string(), &suffix), }], + sticky_sessions_enabled: false, }], databases: vec![], clone_from_environment_id: None, } } -pub fn environment_only_http_server(context: &Context, organization_id: &str) -> Environment { +pub fn environment_only_http_server(context: &Context) -> Environment { let suffix = generate_id(); Environment { execution_id: context.execution_id().to_string(), id: generate_id(), owner_id: generate_id(), project_id: generate_id(), - organization_id: organization_id.to_string(), + organization_id: context.organization_id().to_string(), action: Action::Create, applications: vec![Application { id: generate_id(), @@ -851,14 +872,14 @@ pub fn environment_only_http_server(context: &Context, organization_id: &str) -> } } -pub fn environment_only_http_server_router(context: &Context, organization_id: &str, test_domain: &str) -> Environment { +pub fn environment_only_http_server_router(context: &Context, test_domain: &str) -> Environment { let suffix = generate_id(); Environment { execution_id: context.execution_id().to_string(), id: generate_id(), owner_id: generate_id(), project_id: generate_id(), - organization_id: organization_id.to_string(), + organization_id: context.organization_id().to_string(), action: Action::Create, applications: vec![Application { id: generate_id(), @@ -898,19 +919,53 @@ pub fn environment_only_http_server_router(context: &Context, organization_id: & id: generate_id(), name: "main".to_string(), action: Action::Create, - default_domain: format!("{}.{}", generate_id(), test_domain), + default_domain: format!("{}.{}.{}", generate_id(), context.cluster_id(), test_domain), public_port: 443, custom_domains: vec![], routes: vec![Route { path: "/".to_string(), application_name: format!("{}-{}", "mini-http".to_string(), &suffix), }], + sticky_sessions_enabled: false, }], databases: vec![], clone_from_environment_id: None, } } +/// Test if stick session are activated on given routers via cookie. +pub fn routers_sessions_are_sticky(routers: Vec) -> bool { + let mut is_ok = true; + let http_client = reqwest::blocking::Client::builder() + .danger_accept_invalid_certs(true) // this test ignores certificate validity (not its purpose) + .build() + .expect("Cannot build reqwest client"); + + for router in routers.iter() { + for route in router.routes.iter() { + let http_request_result = http_client + .get(format!("https://{}{}", router.default_domain, route.path)) + .send(); + + if http_request_result.is_err() { + return false; + } + + let http_response = http_request_result.expect("cannot retrieve HTTP request result"); + + is_ok &= match http_response.headers().get("Set-Cookie") { + None => false, + Some(value) => match value.to_str() { + Err(_) => false, + Ok(s) => s.contains("INGRESSCOOKIE_QOVERY=") && s.contains("Max-Age=85400"), + }, + }; + } + } + + is_ok +} + pub fn test_db( context: Context, logger: Box, @@ -934,10 +989,14 @@ pub fn test_db( let database_password = generate_id(); let db_kind_str = db_kind.name().to_string(); let database_host = format!( - "{}-{}.{}", + "{}-{}.{}.{}", db_kind_str.clone(), generate_id(), - secrets.clone().DEFAULT_TEST_DOMAIN.unwrap() + context.cluster_id(), + secrets + .clone() + .DEFAULT_TEST_DOMAIN + .expect("DEFAULT_TEST_DOMAIN is not set in secrets") ); let dyn_db_fqdn = match is_public.clone() { true => database_host.clone(), @@ -1018,26 +1077,11 @@ pub fn test_db( TransactionResult::UnrecoverableError(_, _) => assert!(false), } - let kube_cluster_id = match provider_kind { - Kind::Aws => secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set"), - Kind::Do => secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), - Kind::Scw => secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set"), - }; - match database_mode.clone() { DatabaseMode::CONTAINER => { match get_pvc( + context.clone(), provider_kind.clone(), - kube_cluster_id.as_str(), environment.clone(), secrets.clone(), ) { @@ -1049,8 +1093,8 @@ pub fn test_db( }; match get_svc( + context.clone(), provider_kind.clone(), - kube_cluster_id.as_str(), environment.clone(), secrets.clone(), ) { @@ -1074,12 +1118,7 @@ pub fn test_db( }; } DatabaseMode::MANAGED => { - match get_svc( - provider_kind.clone(), - kube_cluster_id.as_str(), - environment.clone(), - secrets.clone(), - ) { + match get_svc(context, provider_kind.clone(), environment.clone(), secrets.clone()) { Ok(svc) => { let service = svc .items @@ -1126,16 +1165,12 @@ pub fn get_environment_test_kubernetes<'a>( match provider_kind { Kind::Aws => { - let cluster_id = secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_KUBE_TEST_CLUSTER_ID is not set"); k = Box::new( EKS::new( context.clone(), - cluster_id.as_str(), + context.cluster_id(), uuid::Uuid::new_v4(), - format!("qovery-{}", cluster_id.as_str()).as_str(), + format!("qovery-{}", context.cluster_id()).as_str(), AWS_KUBERNETES_VERSION, secrets .AWS_DEFAULT_REGION @@ -1152,16 +1187,12 @@ pub fn get_environment_test_kubernetes<'a>( ); } Kind::Do => { - let cluster_id = secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"); k = Box::new( DOKS::new( context.clone(), - cluster_id.to_string(), + context.cluster_id().to_string(), uuid::Uuid::new_v4(), - format!("qovery-{}", cluster_id), + format!("qovery-{}", context.cluster_id()), DO_KUBERNETES_VERSION.to_string(), Region::from_str( secrets @@ -1174,23 +1205,19 @@ pub fn get_environment_test_kubernetes<'a>( cloud_provider, dns_provider, DO::kubernetes_nodes(), - DO::kubernetes_cluster_options(secrets.clone(), Option::from(cluster_id.to_string())), + DO::kubernetes_cluster_options(secrets.clone(), Option::from(context.cluster_id().to_string())), logger, ) .unwrap(), ); } Kind::Scw => { - let cluster_id = secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set"); k = Box::new( Kapsule::new( context.clone(), - cluster_id.to_string(), + context.cluster_id().to_string(), uuid::Uuid::new_v4(), - format!("qovery-{}", cluster_id), + format!("qovery-{}", context.cluster_id()), SCW_KUBERNETES_VERSION.to_string(), Zone::from_str( secrets diff --git a/test_utilities/src/utilities.rs b/test_utilities/src/utilities.rs index 79bf4157..77d57abb 100644 --- a/test_utilities/src/utilities.rs +++ b/test_utilities/src/utilities.rs @@ -56,12 +56,7 @@ use qovery_engine::object_storage::ObjectStorage; use qovery_engine::runtime::block_on; use time::Instant; -pub fn context() -> Context { - // TODO(benjaminch): Migrate this - context_full("id-for-test", "name-for-test") -} - -pub fn context_full(organization_id: &str, cluster_id: &str) -> Context { +pub fn context(organization_id: &str, cluster_id: &str) -> Context { let organization_id = organization_id.to_string(); let cluster_id = cluster_id.to_string(); let execution_id = execution_id(); @@ -481,16 +476,17 @@ fn curl_path(path: &str) -> bool { } pub fn kubernetes_config_path( + context: Context, provider_kind: Kind, workspace_directory: &str, - kubernetes_cluster_id: &str, secrets: FuncTestsSecrets, ) -> Result { - let kubernetes_config_bucket_name = format!("qovery-kubeconfigs-{}", kubernetes_cluster_id); - let kubernetes_config_object_key = format!("{}.yaml", kubernetes_cluster_id); - let kubernetes_config_file_path = format!("{}/kubernetes_config_{}", workspace_directory, kubernetes_cluster_id); + let kubernetes_config_bucket_name = format!("qovery-kubeconfigs-{}", context.cluster_id()); + let kubernetes_config_object_key = format!("{}.yaml", context.cluster_id()); + let kubernetes_config_file_path = format!("{}/kubernetes_config_{}", workspace_directory, context.cluster_id()); let _ = get_kubernetes_config_file( + context, provider_kind, kubernetes_config_bucket_name, kubernetes_config_object_key, @@ -502,6 +498,7 @@ pub fn kubernetes_config_path( } fn get_kubernetes_config_file

( + context: Context, provider_kind: Kind, kubernetes_config_bucket_name: String, kubernetes_config_object_key: String, @@ -540,7 +537,7 @@ where match Region::from_str(region_raw.as_str()) { Ok(region) => { let spaces = Spaces::new( - context(), + context.clone(), "fake".to_string(), "fake".to_string(), secrets @@ -792,8 +789,8 @@ fn aws_s3_get_object( } pub fn is_pod_restarted_env( + context: Context, provider_kind: Kind, - kube_cluster_id: &str, environment_check: Environment, pod_to_check: &str, secrets: FuncTestsSecrets, @@ -804,7 +801,7 @@ pub fn is_pod_restarted_env( &environment_check.id.clone(), ); - let kubernetes_config = kubernetes_config_path(provider_kind.clone(), "/tmp", kube_cluster_id, secrets.clone()); + let kubernetes_config = kubernetes_config_path(context, provider_kind.clone(), "/tmp", secrets.clone()); match kubernetes_config { Ok(path) => { @@ -827,10 +824,10 @@ pub fn is_pod_restarted_env( } pub fn get_pods( + context: Context, provider_kind: Kind, environment_check: Environment, pod_to_check: &str, - kube_cluster_id: &str, secrets: FuncTestsSecrets, ) -> Result, SimpleError> { let namespace_name = format!( @@ -839,7 +836,7 @@ pub fn get_pods( &environment_check.id.clone(), ); - let kubernetes_config = kubernetes_config_path(provider_kind.clone(), "/tmp", kube_cluster_id, secrets.clone()); + let kubernetes_config = kubernetes_config_path(context, provider_kind.clone(), "/tmp", secrets.clone()); cmd::kubectl::kubectl_exec_get_pods( kubernetes_config.unwrap().as_str(), @@ -900,8 +897,8 @@ pub fn generate_cluster_id(region: &str) -> String { } pub fn get_pvc( + context: Context, provider_kind: Kind, - kube_cluster_id: &str, environment_check: Environment, secrets: FuncTestsSecrets, ) -> Result { @@ -911,7 +908,7 @@ pub fn get_pvc( &environment_check.id.clone(), ); - let kubernetes_config = kubernetes_config_path(provider_kind.clone(), "/tmp", kube_cluster_id, secrets.clone()); + let kubernetes_config = kubernetes_config_path(context, provider_kind.clone(), "/tmp", secrets.clone()); match kubernetes_config { Ok(path) => { @@ -929,8 +926,8 @@ pub fn get_pvc( } pub fn get_svc( + context: Context, provider_kind: Kind, - kube_cluster_id: &str, environment_check: Environment, secrets: FuncTestsSecrets, ) -> Result { @@ -940,7 +937,7 @@ pub fn get_svc( &environment_check.id.clone(), ); - let kubernetes_config = kubernetes_config_path(provider_kind.clone(), "/tmp", kube_cluster_id, secrets.clone()); + let kubernetes_config = kubernetes_config_path(context, provider_kind.clone(), "/tmp", secrets.clone()); match kubernetes_config { Ok(path) => { diff --git a/tests/aws/aws_databases.rs b/tests/aws/aws_databases.rs index 00818522..a20438c7 100644 --- a/tests/aws/aws_databases.rs +++ b/tests/aws/aws_databases.rs @@ -33,17 +33,23 @@ fn deploy_an_environment_with_3_databases_and_3_apps() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::environment_3_apps_3_routers_3_databases( - &context, + let logger = logger(); + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + let environment = test_utilities::common::environment_3_apps_3_routers_3_databases( + &context, secrets .DEFAULT_TEST_DOMAIN .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -85,17 +91,23 @@ fn deploy_an_environment_with_db_and_pause_it() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( - &context, + let logger = logger(); + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( + &context, secrets .clone() .DEFAULT_TEST_DOMAIN @@ -126,14 +138,10 @@ fn deploy_an_environment_with_db_and_pause_it() { // Check that we have actually 0 pods running for this db let app_name = format!("postgresql{}-0", environment.databases[0].name); let ret = get_pods( + context.clone(), Kind::Aws, environment.clone(), app_name.clone().as_str(), - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -161,10 +169,21 @@ fn postgresql_failover_dev_environment_with_all_options() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); + let logger = logger(); + let context = context( + secrets + .AWS_TEST_ORGANIZATION_ID + .as_ref() + .expect("AWS_TEST_ORGANIZATION_ID is not set") + .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); let test_domain = secrets .clone() .DEFAULT_TEST_DOMAIN @@ -172,11 +191,6 @@ fn postgresql_failover_dev_environment_with_all_options() { let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( &context, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), test_domain.as_str(), AWS_DATABASE_INSTANCE_TYPE, AWS_DATABASE_DISK_TYPE, @@ -203,11 +217,6 @@ fn postgresql_failover_dev_environment_with_all_options() { .collect::>(); let mut environment_delete = test_utilities::common::environnement_2_app_2_routers_1_psql( &context_for_deletion, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), test_domain.as_str(), AWS_DATABASE_INSTANCE_TYPE, AWS_DATABASE_DISK_TYPE, @@ -228,12 +237,8 @@ fn postgresql_failover_dev_environment_with_all_options() { // TO CHECK: DATABASE SHOULDN'T BE RESTARTED AFTER A REDEPLOY let database_name = format!("postgresql{}-0", &environment_check.databases[0].name); match is_pod_restarted_env( + context.clone(), Kind::Aws, - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), environment_check.clone(), database_name.as_str(), secrets.clone(), @@ -248,12 +253,8 @@ fn postgresql_failover_dev_environment_with_all_options() { }; // TO CHECK: DATABASE SHOULDN'T BE RESTARTED AFTER A REDEPLOY EVEN IF FAIL match is_pod_restarted_env( + context.clone(), Kind::Aws, - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), environment_check.clone(), database_name.as_str(), secrets.clone(), @@ -284,9 +285,20 @@ fn postgresql_deploy_a_working_development_environment_with_all_options() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); let secrets = FuncTestsSecrets::new(); + let logger = logger(); + let context = context( + secrets + .AWS_TEST_ORGANIZATION_ID + .as_ref() + .expect("AWS_TEST_ORGANIZATION_ID is not set") + .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); let context_for_deletion = context.clone_not_same_execution_id(); let test_domain = secrets .DEFAULT_TEST_DOMAIN @@ -295,11 +307,6 @@ fn postgresql_deploy_a_working_development_environment_with_all_options() { let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( &context, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), test_domain.as_str(), AWS_DATABASE_INSTANCE_TYPE, AWS_DATABASE_DISK_TYPE, @@ -308,11 +315,6 @@ fn postgresql_deploy_a_working_development_environment_with_all_options() { //let env_to_check = environment.clone(); let mut environment_delete = test_utilities::common::environnement_2_app_2_routers_1_psql( &context_for_deletion, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), test_domain.as_str(), AWS_DATABASE_INSTANCE_TYPE, AWS_DATABASE_DISK_TYPE, @@ -360,17 +362,23 @@ fn postgresql_deploy_a_working_environment_and_redeploy() { let logger = logger(); let secrets = FuncTestsSecrets::new(); - let context = context(); - let context_for_redeploy = context.clone_not_same_execution_id(); - let context_for_delete = context.clone_not_same_execution_id(); - - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_redeploy = context.clone_not_same_execution_id(); + let context_for_delete = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .clone() .DEFAULT_TEST_DOMAIN @@ -456,12 +464,8 @@ fn postgresql_deploy_a_working_environment_and_redeploy() { // TO CHECK: DATABASE SHOULDN'T BE RESTARTED AFTER A REDEPLOY let database_name = format!("postgresql{}-0", &environment_check.databases[0].name); match is_pod_restarted_env( + context.clone(), Kind::Aws, - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), environment_check, database_name.as_str(), secrets.clone(), @@ -516,15 +520,21 @@ fn test_postgresql_configuration( #[named] #[test] fn private_postgresql_v10_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -538,15 +548,21 @@ fn private_postgresql_v10_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v10_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -560,15 +576,21 @@ fn public_postgresql_v10_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v11_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .clone() .DEFAULT_TEST_DOMAIN @@ -583,15 +605,21 @@ fn private_postgresql_v11_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v11_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .clone() .DEFAULT_TEST_DOMAIN @@ -606,15 +634,21 @@ fn public_postgresql_v11_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v12_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -628,15 +662,21 @@ fn private_postgresql_v12_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v12_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -650,16 +690,23 @@ fn public_postgresql_v12_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v13_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -672,16 +719,23 @@ fn private_postgresql_v13_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v13_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -695,16 +749,23 @@ fn public_postgresql_v13_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v10_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -717,16 +778,23 @@ fn private_postgresql_v10_deploy_a_working_prod_environment() { #[named] #[test] fn public_postgresql_v10_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -739,16 +807,23 @@ fn public_postgresql_v10_deploy_a_working_prod_environment() { #[named] #[test] fn private_postgresql_v11_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -761,16 +836,23 @@ fn private_postgresql_v11_deploy_a_working_prod_environment() { #[named] #[test] fn public_postgresql_v11_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -783,16 +865,23 @@ fn public_postgresql_v11_deploy_a_working_prod_environment() { #[named] #[test] fn private_postgresql_v12_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -805,16 +894,23 @@ fn private_postgresql_v12_deploy_a_working_prod_environment() { #[named] #[test] fn public_postgresql_v12_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -827,16 +923,23 @@ fn public_postgresql_v12_deploy_a_working_prod_environment() { #[named] #[test] fn private_postgresql_v13_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -849,16 +952,23 @@ fn private_postgresql_v13_deploy_a_working_prod_environment() { #[named] #[test] fn public_postgresql_v13_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -903,16 +1013,23 @@ fn test_mongodb_configuration( #[named] #[test] fn private_mongodb_v3_6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -925,16 +1042,23 @@ fn private_mongodb_v3_6_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v3_6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -947,16 +1071,23 @@ fn public_mongodb_v3_6_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v4_0_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -969,16 +1100,23 @@ fn private_mongodb_v4_0_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v4_0_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -991,16 +1129,23 @@ fn public_mongodb_v4_0_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v4_2_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1013,16 +1158,23 @@ fn private_mongodb_v4_2_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v4_2_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1035,16 +1187,23 @@ fn public_mongodb_v4_2_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v4_4_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1057,16 +1216,23 @@ fn private_mongodb_v4_4_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v4_4_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1080,16 +1246,23 @@ fn public_mongodb_v4_4_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v3_6_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1102,16 +1275,23 @@ fn private_mongodb_v3_6_deploy_a_working_prod_environment() { #[named] #[test] fn public_mongodb_v3_6_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1124,16 +1304,23 @@ fn public_mongodb_v3_6_deploy_a_working_prod_environment() { #[named] #[test] fn private_mongodb_v4_0_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1146,16 +1333,23 @@ fn private_mongodb_v4_0_deploy_a_working_prod_environment() { #[named] #[test] fn public_mongodb_v4_0_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1200,16 +1394,23 @@ fn test_mysql_configuration( #[named] #[test] fn private_mysql_v5_7_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1222,16 +1423,23 @@ fn private_mysql_v5_7_deploy_a_working_dev_environment() { #[named] #[test] fn public_mysql_v5_7_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1244,16 +1452,23 @@ fn public_mysql_v5_7_deploy_a_working_dev_environment() { #[named] #[test] fn private_mysql_v8_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1266,16 +1481,23 @@ fn private_mysql_v8_deploy_a_working_dev_environment() { #[named] #[test] fn public_mysql_v8_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1289,16 +1511,23 @@ fn public_mysql_v8_deploy_a_working_dev_environment() { #[named] #[test] fn private_mysql_v5_7_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1311,16 +1540,23 @@ fn private_mysql_v5_7_deploy_a_working_prod_environment() { #[named] #[test] fn public_mysql_v5_7_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1333,16 +1569,23 @@ fn public_mysql_v5_7_deploy_a_working_prod_environment() { #[named] #[test] fn private_mysql_v8_0_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1355,16 +1598,23 @@ fn private_mysql_v8_0_deploy_a_working_prod_environment() { #[named] #[test] fn public_mysql_v8_0_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1409,16 +1659,23 @@ fn test_redis_configuration( #[named] #[test] fn private_redis_v5_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1431,16 +1688,23 @@ fn private_redis_v5_deploy_a_working_dev_environment() { #[named] #[test] fn public_redis_v5_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1453,16 +1717,23 @@ fn public_redis_v5_deploy_a_working_dev_environment() { #[named] #[test] fn private_redis_v6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1475,16 +1746,23 @@ fn private_redis_v6_deploy_a_working_dev_environment() { #[named] #[test] fn public_redis_v6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1498,16 +1776,23 @@ fn public_redis_v6_deploy_a_working_dev_environment() { #[named] #[test] fn private_redis_v5_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1520,16 +1805,23 @@ fn private_redis_v5_deploy_a_working_prod_environment() { #[named] #[test] fn public_redis_v5_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1542,16 +1834,23 @@ fn public_redis_v5_deploy_a_working_prod_environment() { #[named] #[test] fn private_redis_v6_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -1564,16 +1863,23 @@ fn private_redis_v6_deploy_a_working_prod_environment() { #[named] #[test] fn public_redis_v6_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, + secrets + .clone() .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets") diff --git a/tests/aws/aws_environment.rs b/tests/aws/aws_environment.rs index 60d89eeb..3c4bede8 100644 --- a/tests/aws/aws_environment.rs +++ b/tests/aws/aws_environment.rs @@ -1,6 +1,6 @@ extern crate test_utilities; -use self::test_utilities::common::Infrastructure; +use self::test_utilities::common::{routers_sessions_are_sticky, Infrastructure}; use self::test_utilities::utilities::{ engine_run_test, generate_id, get_pods, get_pvc, is_pod_restarted_env, logger, FuncTestsSecrets, }; @@ -28,16 +28,22 @@ fn deploy_a_working_environment_with_no_router_on_aws_eks() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -79,16 +85,22 @@ fn deploy_a_working_environment_and_pause_it_eks() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -106,14 +118,10 @@ fn deploy_a_working_environment_and_pause_it_eks() { }; let ret = get_pods( + context.clone(), Kind::Aws, environment.clone(), selector.as_str(), - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -127,29 +135,16 @@ fn deploy_a_working_environment_and_pause_it_eks() { // Check that we have actually 0 pods running for this app let ret = get_pods( + context.clone(), Kind::Aws, environment.clone(), selector.as_str(), - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); assert_eq!(ret.unwrap().items.is_empty(), true); - let kubernetes_config = kubernetes_config_path( - Kind::Aws, - "/tmp", - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_ACCESS_KEY_ID is not set") - .as_str(), - secrets.clone(), - ); + let kubernetes_config = kubernetes_config_path(context.clone(), Kind::Aws, "/tmp", secrets.clone()); let mut pdbs = kubernetes_get_all_pdbs( kubernetes_config.as_ref().expect("Unable to get kubeconfig").clone(), vec![ @@ -192,14 +187,10 @@ fn deploy_a_working_environment_and_pause_it_eks() { }; let ret = get_pods( + context.clone(), Kind::Aws, environment.clone(), selector.as_str(), - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -264,17 +255,23 @@ fn deploy_a_not_working_environment_with_no_router_on_aws_eks() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - let mut environment = test_utilities::common::non_working_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::non_working_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -316,16 +313,22 @@ fn build_with_buildpacks_and_deploy_a_working_environment() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -385,16 +388,22 @@ fn build_worker_with_buildpacks_and_deploy_a_working_environment() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -413,8 +422,8 @@ fn build_worker_with_buildpacks_and_deploy_a_working_environment() { publicly_accessible: true, protocol: Protocol::HTTP, }]; - app.commit_id = "4f35f4ab3e98426c5a3eaa91e788ff8ab466f19a".to_string(); - app.branch = "buildpack-process".to_string(); + app.commit_id = "f59237d603829636138e2f22a0549e33b5dd6e1f".to_string(); + app.branch = "simple-node-app".to_string(); app.dockerfile_path = None; app }) @@ -454,16 +463,22 @@ fn deploy_a_working_environment_with_domain() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -503,18 +518,24 @@ fn deploy_a_working_environment_with_storage_on_aws_eks() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let logger = logger(); + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -551,16 +572,7 @@ fn deploy_a_working_environment_with_storage_on_aws_eks() { TransactionResult::UnrecoverableError(_, _) => assert!(false), }; - match get_pvc( - Kind::Aws, - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), - environment.clone(), - secrets.clone(), - ) { + match get_pvc(context.clone(), Kind::Aws, environment.clone(), secrets.clone()) { Ok(pvc) => assert_eq!( pvc.items.expect("No items in pvc")[0].spec.resources.requests.storage, format!("{}Gi", storage_size) @@ -590,19 +602,25 @@ fn redeploy_same_app_with_ebs() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); - let context_bis = context.clone_not_same_execution_id(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let logger = logger(); + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_bis = context.clone_not_same_execution_id(); + let context_for_deletion = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -642,16 +660,7 @@ fn redeploy_same_app_with_ebs() { TransactionResult::UnrecoverableError(_, _) => assert!(false), }; - match get_pvc( - Kind::Aws, - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), - environment.clone(), - secrets.clone(), - ) { + match get_pvc(context.clone(), Kind::Aws, environment.clone(), secrets.clone()) { Ok(pvc) => assert_eq!( pvc.items.expect("No items in pvc")[0].spec.resources.requests.storage, format!("{}Gi", storage_size) @@ -661,12 +670,8 @@ fn redeploy_same_app_with_ebs() { let app_name = format!("{}-0", &environment_check1.applications[0].name); let (_, number) = is_pod_restarted_env( + context.clone(), Kind::Aws, - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), environment_check1, app_name.clone().as_str(), secrets.clone(), @@ -679,12 +684,8 @@ fn redeploy_same_app_with_ebs() { }; let (_, number2) = is_pod_restarted_env( + context.clone(), Kind::Aws, - secrets - .AWS_TEST_CLUSTER_ID - .as_ref() - .expect("AWS_TEST_CLUSTER_ID is not set") - .as_str(), environment_check2, app_name.as_str(), secrets.clone(), @@ -711,21 +712,26 @@ fn deploy_a_not_working_environment_and_after_working_environment() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - // let mut context_envs = generate_contexts_and_environments(3, test_utilities::aws::working_minimal_environment); let logger = logger(); - let context = context(); - let context_for_not_working = context.clone_not_same_execution_id(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - // env part generation - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let context_for_not_working = context.clone_not_same_execution_id(); + let context_for_delete = context.clone_not_same_execution_id(); + + // env part generation + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -793,15 +799,21 @@ fn deploy_ok_fail_fail_ok_environment() { // working env let logger = logger(); - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -896,16 +908,22 @@ fn deploy_a_non_working_environment_with_no_failover_on_aws_eks() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::non_working_environment( - &context, + let logger = logger(); + let context = context( secrets .AWS_TEST_ORGANIZATION_ID .as_ref() .expect("AWS_TEST_ORGANIZATION_ID is not set") .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); + let environment = test_utilities::common::non_working_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .expect("DEFAULT_TEST_DOMAIN is not set in secrets") @@ -946,43 +964,31 @@ fn deploy_a_non_working_environment_with_a_working_failover_on_aws_eks() { let _enter = span.enter(); // context for non working environment - let logger = logger(); - let context = context(); let secrets = FuncTestsSecrets::new(); + let logger = logger(); + let context = context( + secrets + .AWS_TEST_ORGANIZATION_ID + .as_ref() + .expect("AWS_TEST_ORGANIZATION_ID is not set") + .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); let test_domain = secrets .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets"); - let environment = test_utilities::common::non_working_environment( - &context, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); - let failover_environment = test_utilities::common::working_minimal_environment( - &context, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); + let environment = test_utilities::common::non_working_environment(&context, test_domain.as_str()); + let failover_environment = test_utilities::common::working_minimal_environment(&context, test_domain.as_str()); // context for deletion let context_deletion = context.clone_not_same_execution_id(); - let mut delete_env = test_utilities::common::working_minimal_environment( - &context_deletion, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); + let mut delete_env = + test_utilities::common::working_minimal_environment(&context_deletion, test_domain.as_str()); delete_env.action = Action::Delete; let ea_delete = EnvironmentAction::Environment(delete_env.clone()); let ea = EnvironmentAction::EnvironmentWithFailover(environment.clone(), failover_environment.clone()); @@ -1010,56 +1016,39 @@ fn deploy_2_non_working_environments_with_2_working_failovers_on_aws_eks() { init(); let logger = logger(); + let secrets = FuncTestsSecrets::new(); // context for non working environment - let context_failover_1 = context(); + let context_failover_1 = context( + secrets + .AWS_TEST_ORGANIZATION_ID + .as_ref() + .expect("AWS_TEST_ORGANIZATION_ID is not set") + .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); let context_failover_2 = context_failover_1.clone_not_same_execution_id(); let context_first_fail_deployment_1 = context_failover_1.clone_not_same_execution_id(); let context_second_fail_deployment_2 = context_failover_1.clone_not_same_execution_id(); - let secrets = FuncTestsSecrets::new(); let test_domain = secrets .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets"); - let failover_environment_1 = test_utilities::common::echo_app_environment( - &context_failover_1, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); - let fail_app_1 = test_utilities::common::non_working_environment( - &context_first_fail_deployment_1, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); - let mut failover_environment_2 = test_utilities::common::echo_app_environment( - &context_failover_2, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); - let fail_app_2 = test_utilities::common::non_working_environment( - &context_second_fail_deployment_2, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); + let failover_environment_1 = + test_utilities::common::echo_app_environment(&context_failover_1, test_domain.as_str()); + let fail_app_1 = + test_utilities::common::non_working_environment(&context_first_fail_deployment_1, test_domain.as_str()); + let mut failover_environment_2 = + test_utilities::common::echo_app_environment(&context_failover_2, test_domain.as_str()); + let fail_app_2 = + test_utilities::common::non_working_environment(&context_second_fail_deployment_2, test_domain.as_str()); failover_environment_2.applications = failover_environment_2 .applications @@ -1074,15 +1063,7 @@ fn deploy_2_non_working_environments_with_2_working_failovers_on_aws_eks() { // context for deletion let context_deletion = context_failover_1.clone_not_same_execution_id(); - let mut delete_env = test_utilities::common::echo_app_environment( - &context_deletion, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); + let mut delete_env = test_utilities::common::echo_app_environment(&context_deletion, test_domain.as_str()); delete_env.action = Action::Delete; let ea_delete = EnvironmentAction::Environment(delete_env.clone()); @@ -1120,43 +1101,31 @@ fn deploy_a_non_working_environment_with_a_non_working_failover_on_aws_eks() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); let secrets = FuncTestsSecrets::new(); + let logger = logger(); + let context = context( + secrets + .AWS_TEST_ORGANIZATION_ID + .as_ref() + .expect("AWS_TEST_ORGANIZATION_ID is not set") + .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set") + .as_str(), + ); let test_domain = secrets .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets"); - let environment = test_utilities::common::non_working_environment( - &context, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); - let failover_environment = test_utilities::common::non_working_environment( - &context, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); + let environment = test_utilities::common::non_working_environment(&context, test_domain.as_str()); + let failover_environment = test_utilities::common::non_working_environment(&context, test_domain.as_str()); let context_for_deletion = context.clone_not_same_execution_id(); - let mut delete_env = test_utilities::common::non_working_environment( - &context_for_deletion, - secrets - .AWS_TEST_ORGANIZATION_ID - .as_ref() - .expect("AWS_TEST_ORGANIZATION_ID is not set") - .as_str(), - test_domain.as_str(), - ); + let mut delete_env = + test_utilities::common::non_working_environment(&context_for_deletion, test_domain.as_str()); delete_env.action = Action::Delete; // environment action initialize let ea_delete = EnvironmentAction::Environment(delete_env.clone()); @@ -1176,3 +1145,64 @@ fn deploy_a_non_working_environment_with_a_non_working_failover_on_aws_eks() { return test_name.to_string(); }) } + +#[cfg(feature = "test-aws-self-hosted")] +#[named] +#[test] +fn aws_eks_deploy_a_working_environment_with_sticky_session() { + let test_name = function_name!(); + engine_run_test(|| { + init(); + + let span = span!(Level::INFO, "test", name = test_name); + let _enter = span.enter(); + + let logger = logger(); + let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .AWS_TEST_ORGANIZATION_ID + .as_ref() + .expect("AWS_TEST_ORGANIZATION_ID in secrets") + .as_str(), + secrets + .AWS_TEST_CLUSTER_ID + .as_ref() + .expect("AWS_TEST_CLUSTER_ID is not set in secrets") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let environment = test_utilities::common::environment_only_http_server_router_with_sticky_session( + &context, + secrets + .DEFAULT_TEST_DOMAIN + .as_ref() + .expect("DEFAULT_TEST_DOMAIN is not set in secrets") + .as_str(), + ); + + let mut environment_for_delete = environment.clone(); + environment_for_delete.action = Action::Delete; + + let env_action = EnvironmentAction::Environment(environment.clone()); + let env_action_for_delete = EnvironmentAction::Environment(environment_for_delete.clone()); + + match environment.deploy_environment(Kind::Aws, &context, &env_action, logger.clone()) { + TransactionResult::Ok => assert!(true), + TransactionResult::Rollback(_) => assert!(false), + TransactionResult::UnrecoverableError(_, _) => assert!(false), + }; + + // checking if cookie is properly set on the app + assert!(routers_sessions_are_sticky(environment.routers.clone())); + + match environment_for_delete.delete_environment(Kind::Aws, &context_for_delete, &env_action_for_delete, logger) + { + TransactionResult::Ok => assert!(true), + TransactionResult::Rollback(_) => assert!(false), + TransactionResult::UnrecoverableError(_, _) => assert!(false), + }; + + test_name.to_string() + }) +} diff --git a/tests/aws/aws_kubernetes.rs b/tests/aws/aws_kubernetes.rs index 9eae95fd..a6e57681 100644 --- a/tests/aws/aws_kubernetes.rs +++ b/tests/aws/aws_kubernetes.rs @@ -1,7 +1,9 @@ extern crate test_utilities; use self::test_utilities::aws::{AWS_KUBERNETES_MAJOR_VERSION, AWS_KUBERNETES_MINOR_VERSION}; -use self::test_utilities::utilities::{context, engine_run_test, logger, FuncTestsSecrets}; +use self::test_utilities::utilities::{ + context, engine_run_test, generate_cluster_id, generate_id, logger, FuncTestsSecrets, +}; use ::function_name::named; use qovery_engine::cloud_provider::aws::kubernetes::VpcQoveryNetworkMode; use qovery_engine::cloud_provider::aws::kubernetes::VpcQoveryNetworkMode::{WithNatGateways, WithoutNatGateways}; @@ -22,7 +24,7 @@ fn create_and_destroy_eks_cluster( cluster_test( test_name, Kind::Aws, - context(), + context(generate_id().as_str(), generate_cluster_id(region.clone()).as_str()), logger(), region, secrets, diff --git a/tests/aws/aws_whole_enchilada.rs b/tests/aws/aws_whole_enchilada.rs index e2626658..4c67dc1f 100644 --- a/tests/aws/aws_whole_enchilada.rs +++ b/tests/aws/aws_whole_enchilada.rs @@ -10,11 +10,11 @@ use test_utilities::utilities::{context, engine_run_test, generate_cluster_id, g #[named] #[test] fn create_upgrade_and_destroy_eks_cluster_with_env_in_eu_west_3() { - let context = context(); - let secrets = FuncTestsSecrets::new(); let region = "eu-west-3"; let organization_id = generate_id(); let cluster_id = generate_cluster_id(region); + let context = context(organization_id.as_str(), cluster_id.as_str()); + let secrets = FuncTestsSecrets::new(); let cluster_domain = format!( "{}.{}", cluster_id.as_str(), @@ -25,11 +25,7 @@ fn create_upgrade_and_destroy_eks_cluster_with_env_in_eu_west_3() { .as_str() ); - let environment = test_utilities::common::working_minimal_environment( - &context, - organization_id.as_str(), - cluster_domain.as_str(), - ); + let environment = test_utilities::common::working_minimal_environment(&context, cluster_domain.as_str()); let env_action = EnvironmentAction::Environment(environment.clone()); engine_run_test(|| { diff --git a/tests/digitalocean/do_databases.rs b/tests/digitalocean/do_databases.rs index 7d4dcb94..3c96542b 100644 --- a/tests/digitalocean/do_databases.rs +++ b/tests/digitalocean/do_databases.rs @@ -36,15 +36,20 @@ fn deploy_an_environment_with_3_databases_and_3_apps() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::environment_3_apps_3_routers_3_databases( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + let environment = test_utilities::common::environment_3_apps_3_routers_3_databases( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -93,15 +98,20 @@ fn deploy_an_environment_with_db_and_pause_it() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( + &context, secrets .clone() .DEFAULT_TEST_DOMAIN @@ -132,13 +142,10 @@ fn deploy_an_environment_with_db_and_pause_it() { // Check that we have actually 0 pods running for this db let app_name = format!("postgresql{}-0", environment.databases[0].name); let ret = get_pods( + context.clone(), ProviderKind::Do, environment.clone(), app_name.clone().as_str(), - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -171,10 +178,19 @@ fn postgresql_failover_dev_environment_with_all_options() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); + let logger = logger(); + let context = context( + secrets + .DIGITAL_OCEAN_TEST_ORGANIZATION_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_deletion = context.clone_not_same_execution_id(); let test_domain = secrets .clone() .DEFAULT_TEST_DOMAIN @@ -182,10 +198,6 @@ fn postgresql_failover_dev_environment_with_all_options() { let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( &context, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), test_domain.as_str(), DO_SELF_HOSTED_DATABASE_INSTANCE_TYPE, DO_SELF_HOSTED_DATABASE_DISK_TYPE, @@ -212,10 +224,6 @@ fn postgresql_failover_dev_environment_with_all_options() { .collect::>(); let mut environment_delete = test_utilities::common::environnement_2_app_2_routers_1_psql( &context_for_deletion, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), test_domain.as_str(), DO_SELF_HOSTED_DATABASE_INSTANCE_TYPE, DO_SELF_HOSTED_DATABASE_DISK_TYPE, @@ -237,11 +245,8 @@ fn postgresql_failover_dev_environment_with_all_options() { // TO CHECK: DATABASE SHOULDN'T BE RESTARTED AFTER A REDEPLOY let database_name = format!("postgresql-{}-0", &environment_check.databases[0].name); match is_pod_restarted_env( + context.clone(), ProviderKind::Do, - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), environment_check.clone(), database_name.as_str(), secrets.clone(), @@ -256,11 +261,8 @@ fn postgresql_failover_dev_environment_with_all_options() { }; // TO CHECK: DATABASE SHOULDN'T BE RESTARTED AFTER A REDEPLOY EVEN IF FAIL match is_pod_restarted_env( + context.clone(), ProviderKind::Do, - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), environment_check.clone(), database_name.as_str(), secrets.clone(), @@ -297,8 +299,17 @@ fn postgresql_deploy_a_working_development_environment_with_all_options() { let _enter = span.enter(); let logger = logger(); - let context = context(); let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .DIGITAL_OCEAN_TEST_ORGANIZATION_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); let context_for_deletion = context.clone_not_same_execution_id(); let test_domain = secrets .DEFAULT_TEST_DOMAIN @@ -307,10 +318,6 @@ fn postgresql_deploy_a_working_development_environment_with_all_options() { let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( &context, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), test_domain.as_str(), DO_SELF_HOSTED_DATABASE_INSTANCE_TYPE, DO_SELF_HOSTED_DATABASE_DISK_TYPE, @@ -319,10 +326,6 @@ fn postgresql_deploy_a_working_development_environment_with_all_options() { //let env_to_check = environment.clone(); let mut environment_delete = test_utilities::common::environnement_2_app_2_routers_1_psql( &context_for_deletion, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), test_domain.as_str(), DO_SELF_HOSTED_DATABASE_INSTANCE_TYPE, DO_SELF_HOSTED_DATABASE_DISK_TYPE, @@ -380,16 +383,21 @@ fn postgresql_deploy_a_working_environment_and_redeploy() { let logger = logger(); let secrets = FuncTestsSecrets::new(); - let context = context(); + let context = context( + secrets + .DIGITAL_OCEAN_TEST_ORGANIZATION_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); let context_for_redeploy = context.clone_not_same_execution_id(); let context_for_delete = context.clone_not_same_execution_id(); let mut environment = test_utilities::common::working_minimal_environment( &context, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), secrets .clone() .DEFAULT_TEST_DOMAIN @@ -490,11 +498,8 @@ fn postgresql_deploy_a_working_environment_and_redeploy() { // TO CHECK: DATABASE SHOULDN'T BE RESTARTED AFTER A REDEPLOY let database_name = format!("postgresql-{}-0", &environment_check.databases[0].name); match is_pod_restarted_env( + context.clone(), ProviderKind::Do, - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), environment_check, database_name.as_str(), secrets.clone(), @@ -554,14 +559,20 @@ fn test_postgresql_configuration( #[named] #[test] fn private_postgresql_v10_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -576,14 +587,20 @@ fn private_postgresql_v10_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v10_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -598,14 +615,20 @@ fn public_postgresql_v10_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v11_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -620,14 +643,20 @@ fn private_postgresql_v11_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v11_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -641,14 +670,20 @@ fn public_postgresql_v11_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v12_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -662,14 +697,20 @@ fn private_postgresql_v12_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v12_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -683,14 +724,20 @@ fn public_postgresql_v12_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v13_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -704,14 +751,20 @@ fn private_postgresql_v13_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v13_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -757,14 +810,20 @@ fn test_mongodb_configuration( #[named] #[test] fn private_mongodb_v3_6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -779,14 +838,20 @@ fn private_mongodb_v3_6_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v3_6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -801,14 +866,20 @@ fn public_mongodb_v3_6_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v4_0_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -823,14 +894,20 @@ fn private_mongodb_v4_0_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v4_0_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -845,14 +922,20 @@ fn public_mongodb_v4_0_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v4_2_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -866,14 +949,20 @@ fn private_mongodb_v4_2_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v4_2_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -887,14 +976,20 @@ fn public_mongodb_v4_2_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v4_4_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -908,14 +1003,20 @@ fn private_mongodb_v4_4_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v4_4_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -961,14 +1062,20 @@ fn test_mysql_configuration( #[named] #[test] fn private_mysql_v5_7_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -983,14 +1090,20 @@ fn private_mysql_v5_7_deploy_a_working_dev_environment() { #[named] #[test] fn public_mysql_v5_7_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1005,14 +1118,20 @@ fn public_mysql_v5_7_deploy_a_working_dev_environment() { #[named] #[test] fn private_mysql_v8_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1026,14 +1145,20 @@ fn private_mysql_v8_deploy_a_working_dev_environment() { #[named] #[test] fn public_mysql_v8_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1081,14 +1206,20 @@ fn test_redis_configuration( #[named] #[test] fn private_redis_v5_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1103,14 +1234,20 @@ fn private_redis_v5_deploy_a_working_dev_environment() { #[named] #[test] fn public_redis_v5_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1125,14 +1262,20 @@ fn public_redis_v5_deploy_a_working_dev_environment() { #[named] #[test] fn private_redis_v6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1146,14 +1289,20 @@ fn private_redis_v6_deploy_a_working_dev_environment() { #[named] #[test] fn public_redis_v6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() diff --git a/tests/digitalocean/do_environment.rs b/tests/digitalocean/do_environment.rs index d9150b12..6c24f28c 100644 --- a/tests/digitalocean/do_environment.rs +++ b/tests/digitalocean/do_environment.rs @@ -1,5 +1,6 @@ extern crate test_utilities; +use self::test_utilities::common::routers_sessions_are_sticky; use self::test_utilities::digitalocean::{clean_environments, DO_TEST_REGION}; use self::test_utilities::utilities::{ engine_run_test, generate_id, get_pods, get_pvc, init, is_pod_restarted_env, logger, FuncTestsSecrets, @@ -27,16 +28,21 @@ fn digitalocean_doks_deploy_a_working_environment_with_no_router() { let span = span!(Level::INFO, "test", name = test_name); let _enter = span.enter(); - let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let logger = logger(); + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -84,16 +90,21 @@ fn digitalocean_doks_deploy_a_not_working_environment_with_no_router() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - let mut environment = test_utilities::common::non_working_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_delete = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::non_working_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -140,15 +151,20 @@ fn digitalocean_doks_deploy_a_working_environment_and_pause() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -166,13 +182,10 @@ fn digitalocean_doks_deploy_a_working_environment_and_pause() { }; let ret = get_pods( + context.clone(), Kind::Do, environment.clone(), selector.as_str(), - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -186,13 +199,10 @@ fn digitalocean_doks_deploy_a_working_environment_and_pause() { // Check that we have actually 0 pods running for this app let ret = get_pods( + context.clone(), Kind::Do, environment.clone(), selector.clone().as_str(), - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -207,13 +217,10 @@ fn digitalocean_doks_deploy_a_working_environment_and_pause() { }; let ret = get_pods( + context.clone(), Kind::Do, environment.clone(), selector.as_str(), - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -246,15 +253,20 @@ fn digitalocean_doks_build_with_buildpacks_and_deploy_a_working_environment() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -319,15 +331,20 @@ fn digitalocean_doks_deploy_a_working_environment_with_domain() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -373,16 +390,21 @@ fn digitalocean_doks_deploy_a_working_environment_with_storage() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -419,15 +441,7 @@ fn digitalocean_doks_deploy_a_working_environment_with_storage() { TransactionResult::UnrecoverableError(_, _) => assert!(false), }; - match get_pvc( - Kind::Do, - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), - environment.clone(), - secrets.clone(), - ) { + match get_pvc(context.clone(), Kind::Do, environment.clone(), secrets.clone()) { Ok(pvc) => assert_eq!( pvc.items.expect("No items in pvc")[0].spec.resources.requests.storage, format!("{}Gi", storage_size) @@ -461,17 +475,22 @@ fn digitalocean_doks_redeploy_same_app() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_bis = context.clone_not_same_execution_id(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_bis = context.clone_not_same_execution_id(); + let context_for_deletion = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -512,15 +531,7 @@ fn digitalocean_doks_redeploy_same_app() { TransactionResult::UnrecoverableError(_, _) => assert!(false), }; - match get_pvc( - Kind::Do, - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), - environment.clone(), - secrets.clone(), - ) { + match get_pvc(context.clone(), Kind::Do, environment.clone(), secrets.clone()) { Ok(pvc) => assert_eq!( pvc.items.expect("No items in pvc")[0].spec.resources.requests.storage, format!("{}Gi", storage_size) @@ -530,11 +541,8 @@ fn digitalocean_doks_redeploy_same_app() { let app_name = format!("{}-0", &environment_check1.applications[0].name); let (_, number) = is_pod_restarted_env( + context.clone(), Kind::Do, - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), environment_check1, app_name.clone().as_str(), secrets.clone(), @@ -547,11 +555,8 @@ fn digitalocean_doks_redeploy_same_app() { }; let (_, number2) = is_pod_restarted_env( + context.clone(), Kind::Do, - secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), environment_check2, app_name.as_str(), secrets.clone(), @@ -586,18 +591,23 @@ fn digitalocean_doks_deploy_a_not_working_environment_and_then_working_environme let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_not_working = context.clone_not_same_execution_id(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - // env part generation - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let context_for_not_working = context.clone_not_same_execution_id(); + let context_for_delete = context.clone_not_same_execution_id(); + + // env part generation + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -668,16 +678,21 @@ fn digitalocean_doks_deploy_ok_fail_fail_ok_environment() { let _enter = span.enter(); let logger = logger(); + let secrets = FuncTestsSecrets::new(); // working env - let context = context(); - let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -778,14 +793,19 @@ fn digitalocean_doks_deploy_a_non_working_environment_with_no_failover() { let _enter = span.enter(); let logger = logger(); - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::non_working_environment( - &context, + let context = context( secrets .DIGITAL_OCEAN_TEST_ORGANIZATION_ID .as_ref() .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); + let environment = test_utilities::common::non_working_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -834,40 +854,29 @@ fn digitalocean_doks_deploy_a_non_working_environment_with_a_working_failover() let logger = logger(); // context for non working environment - let context = context(); let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .DIGITAL_OCEAN_TEST_ORGANIZATION_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); let test_domain = secrets .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets"); - let environment = test_utilities::common::non_working_environment( - &context, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), - test_domain.as_str(), - ); - let failover_environment = test_utilities::common::working_minimal_environment( - &context, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), - test_domain.as_str(), - ); + let environment = test_utilities::common::non_working_environment(&context, test_domain.as_str()); + let failover_environment = test_utilities::common::working_minimal_environment(&context, test_domain.as_str()); // context for deletion let context_deletion = context.clone_not_same_execution_id(); - let mut delete_env = test_utilities::common::working_minimal_environment( - &context_deletion, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), - test_domain.as_str(), - ); + let mut delete_env = + test_utilities::common::working_minimal_environment(&context_deletion, test_domain.as_str()); delete_env.action = Action::Delete; let env_action_delete = EnvironmentAction::Environment(delete_env.clone()); @@ -910,39 +919,28 @@ fn digitalocean_doks_deploy_a_non_working_environment_with_a_non_working_failove let _enter = span.enter(); let logger = logger(); - let context = context(); let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .DIGITAL_OCEAN_TEST_ORGANIZATION_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"), + ); let test_domain = secrets .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets"); - let environment = test_utilities::common::non_working_environment( - &context, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), - test_domain.as_str(), - ); - let failover_environment = test_utilities::common::non_working_environment( - &context, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), - test_domain.as_str(), - ); + let environment = test_utilities::common::non_working_environment(&context, test_domain.as_str()); + let failover_environment = test_utilities::common::non_working_environment(&context, test_domain.as_str()); let context_for_deletion = context.clone_not_same_execution_id(); - let mut delete_env = test_utilities::common::non_working_environment( - &context_for_deletion, - secrets - .DIGITAL_OCEAN_TEST_ORGANIZATION_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"), - test_domain.as_str(), - ); + let mut delete_env = + test_utilities::common::non_working_environment(&context_for_deletion, test_domain.as_str()); delete_env.action = Action::Delete; // environment action initialize @@ -973,3 +971,67 @@ fn digitalocean_doks_deploy_a_non_working_environment_with_a_non_working_failove test_name.to_string() }) } + +#[cfg(feature = "test-do-self-hosted")] +#[named] +#[test] +fn digitalocean_doks_deploy_a_working_environment_with_sticky_session() { + let test_name = function_name!(); + engine_run_test(|| { + init(); + + let span = span!(Level::INFO, "test", name = test_name); + let _enter = span.enter(); + + let logger = logger(); + let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .DIGITAL_OCEAN_TEST_ORGANIZATION_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID in secrets") + .as_str(), + secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set in secrets") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let environment = test_utilities::common::environment_only_http_server_router_with_sticky_session( + &context, + secrets + .DEFAULT_TEST_DOMAIN + .as_ref() + .expect("DEFAULT_TEST_DOMAIN is not set in secrets") + .as_str(), + ); + + let mut environment_for_delete = environment.clone(); + environment_for_delete.action = Action::Delete; + + let env_action = EnvironmentAction::Environment(environment.clone()); + let env_action_for_delete = EnvironmentAction::Environment(environment_for_delete.clone()); + + match environment.deploy_environment(Kind::Do, &context, &env_action, logger.clone()) { + TransactionResult::Ok => assert!(true), + TransactionResult::Rollback(_) => assert!(false), + TransactionResult::UnrecoverableError(_, _) => assert!(false), + }; + + // checking cookie is properly set on the app + assert!(routers_sessions_are_sticky(environment.routers.clone())); + + match environment_for_delete.delete_environment(Kind::Do, &context_for_delete, &env_action_for_delete, logger) { + TransactionResult::Ok => assert!(true), + TransactionResult::Rollback(_) => assert!(false), + TransactionResult::UnrecoverableError(_, _) => assert!(false), + }; + + if let Err(e) = clean_environments(&context, vec![environment.clone()], secrets.clone(), DO_TEST_REGION) { + warn!("cannot clean environments, error: {:?}", e); + } + + test_name.to_string() + }) +} diff --git a/tests/digitalocean/do_kubernetes.rs b/tests/digitalocean/do_kubernetes.rs index 2fc272c5..acba037a 100644 --- a/tests/digitalocean/do_kubernetes.rs +++ b/tests/digitalocean/do_kubernetes.rs @@ -2,7 +2,9 @@ extern crate test_utilities; use self::test_utilities::common::ClusterDomain; use self::test_utilities::digitalocean::{DO_KUBERNETES_MAJOR_VERSION, DO_KUBERNETES_MINOR_VERSION}; -use self::test_utilities::utilities::{context, engine_run_test, logger, FuncTestsSecrets}; +use self::test_utilities::utilities::{ + context, engine_run_test, generate_cluster_id, generate_id, logger, FuncTestsSecrets, +}; use ::function_name::named; use qovery_engine::cloud_provider::digitalocean::application::Region; use qovery_engine::cloud_provider::Kind; @@ -21,7 +23,7 @@ fn create_and_destroy_doks_cluster( cluster_test( test_name, Kind::Do, - context(), + context(generate_id().as_str(), generate_cluster_id(region.as_str()).as_str()), logger(), region.as_str(), secrets, diff --git a/tests/digitalocean/do_spaces.rs b/tests/digitalocean/do_spaces.rs index 649e5b8a..d41501f9 100644 --- a/tests/digitalocean/do_spaces.rs +++ b/tests/digitalocean/do_spaces.rs @@ -11,7 +11,7 @@ const TEST_REGION: Region = Region::Amsterdam3; #[test] fn test_delete_bucket_hard_delete_strategy() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let spaces = Spaces::new( @@ -42,7 +42,7 @@ fn test_delete_bucket_hard_delete_strategy() { #[test] fn test_delete_bucket_empty_strategy() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let spaces = Spaces::new( @@ -78,7 +78,7 @@ fn test_delete_bucket_empty_strategy() { #[test] fn test_create_bucket() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let spaces = Spaces::new( @@ -109,7 +109,7 @@ fn test_create_bucket() { #[test] fn test_recreate_bucket() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let spaces = Spaces::new( @@ -147,7 +147,7 @@ fn test_recreate_bucket() { #[test] fn test_put_file() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let spaces = Spaces::new( @@ -193,7 +193,7 @@ fn test_put_file() { #[test] fn test_get_file() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let spaces = Spaces::new( diff --git a/tests/digitalocean/do_utility_kubernetes_doks_test_cluster.rs b/tests/digitalocean/do_utility_kubernetes_doks_test_cluster.rs index 23cd03c1..0ca93350 100644 --- a/tests/digitalocean/do_utility_kubernetes_doks_test_cluster.rs +++ b/tests/digitalocean/do_utility_kubernetes_doks_test_cluster.rs @@ -27,8 +27,18 @@ fn create_digitalocean_kubernetes_doks_test_cluster() { let span = span!(Level::INFO, "utility", name = test_name); let _enter = span.enter(); + let organization_id = secrets + .DIGITAL_OCEAN_TEST_ORGANIZATION_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"); + let cluster_id = secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"); + let cluster_name = format!("qovery-{}", cluster_id.clone()); + let logger = logger(); - let context = context(); + let context = context(organization_id.as_str(), cluster_id.as_str()); let engine = DO::docker_cr_engine(&context, logger.clone()); let session = engine.session().unwrap(); let mut tx = session.transaction(); @@ -37,12 +47,6 @@ fn create_digitalocean_kubernetes_doks_test_cluster() { let nodes = DO::kubernetes_nodes(); let cloudflare = dns_provider_cloudflare(&context, ClusterDomain::Default); - let cluster_id = secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"); - let cluster_name = format!("qovery-{}", cluster_id.clone()); - let kubernetes = DOKS::new( context.clone(), cluster_id.to_string(), @@ -89,8 +93,18 @@ fn destroy_digitalocean_kubernetes_doks_test_cluster() { let span = span!(Level::INFO, "utility", name = test_name); let _enter = span.enter(); + let organization_id = secrets + .DIGITAL_OCEAN_TEST_ORGANIZATION_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_ORGANIZATION_ID is not set"); + let cluster_id = secrets + .DIGITAL_OCEAN_TEST_CLUSTER_ID + .as_ref() + .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"); + let cluster_name = format!("qovery-{}", cluster_id.clone()); + let logger = logger(); - let context = context(); + let context = context(organization_id.as_str(), cluster_id.as_str()); let engine = DO::docker_cr_engine(&context, logger.clone()); let session = engine.session().unwrap(); let mut tx = session.transaction(); @@ -99,12 +113,6 @@ fn destroy_digitalocean_kubernetes_doks_test_cluster() { let nodes = DO::kubernetes_nodes(); let cloudflare = dns_provider_cloudflare(&context, ClusterDomain::Default); - let cluster_id = secrets - .DIGITAL_OCEAN_TEST_CLUSTER_ID - .as_ref() - .expect("DIGITAL_OCEAN_TEST_CLUSTER_ID is not set"); - let cluster_name = format!("qovery-{}", cluster_id); - let kubernetes = DOKS::new( context.clone(), cluster_id.to_string(), diff --git a/tests/digitalocean/do_whole_enchilada.rs b/tests/digitalocean/do_whole_enchilada.rs index 5f36ca04..fee69ac0 100644 --- a/tests/digitalocean/do_whole_enchilada.rs +++ b/tests/digitalocean/do_whole_enchilada.rs @@ -10,12 +10,12 @@ use test_utilities::utilities::{context, engine_run_test, generate_cluster_id, g #[named] #[test] fn create_upgrade_and_destroy_doks_cluster_with_env_in_ams_3() { - let context = context(); - let logger = logger(); let region = Region::Amsterdam3; - let secrets = FuncTestsSecrets::new(); let organization_id = generate_id(); let cluster_id = generate_cluster_id(region.as_str()); + let context = context(organization_id.as_str(), cluster_id.as_str()); + let logger = logger(); + let secrets = FuncTestsSecrets::new(); let cluster_domain = format!( "{}.{}", cluster_id.as_str(), @@ -26,11 +26,7 @@ fn create_upgrade_and_destroy_doks_cluster_with_env_in_ams_3() { .as_str() ); - let environment = test_utilities::common::working_minimal_environment( - &context, - organization_id.as_str(), - cluster_domain.as_str(), - ); + let environment = test_utilities::common::working_minimal_environment(&context, cluster_domain.as_str()); let env_action = EnvironmentAction::Environment(environment.clone()); engine_run_test(|| { diff --git a/tests/scaleway/scw_container_registry.rs b/tests/scaleway/scw_container_registry.rs index ce0279b3..06c4f41a 100644 --- a/tests/scaleway/scw_container_registry.rs +++ b/tests/scaleway/scw_container_registry.rs @@ -29,7 +29,7 @@ fn test_delete_image() { #[test] fn test_get_registry_namespace() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); let scw_default_project_id = secrets.SCALEWAY_DEFAULT_PROJECT_ID.unwrap_or("undefined".to_string()); @@ -87,7 +87,7 @@ fn test_get_registry_namespace() { #[test] fn test_create_registry_namespace() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); let scw_default_project_id = secrets.SCALEWAY_DEFAULT_PROJECT_ID.unwrap_or("undefined".to_string()); @@ -138,7 +138,7 @@ fn test_create_registry_namespace() { #[test] fn test_delete_registry_namespace() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); let scw_default_project_id = secrets.SCALEWAY_DEFAULT_PROJECT_ID.unwrap_or("undefined".to_string()); @@ -184,7 +184,7 @@ fn test_delete_registry_namespace() { #[test] fn test_get_or_create_registry_namespace() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); let scw_default_project_id = secrets.SCALEWAY_DEFAULT_PROJECT_ID.unwrap_or("undefined".to_string()); diff --git a/tests/scaleway/scw_databases.rs b/tests/scaleway/scw_databases.rs index d5d40851..6caed734 100644 --- a/tests/scaleway/scw_databases.rs +++ b/tests/scaleway/scw_databases.rs @@ -38,15 +38,22 @@ fn deploy_an_environment_with_3_databases_and_3_apps() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::environment_3_apps_3_routers_3_databases( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID"), + .expect("SCALEWAY_TEST_ORGANIZATION_ID") + .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + let environment = test_utilities::common::environment_3_apps_3_routers_3_databases( + &context, secrets .clone() .DEFAULT_TEST_DOMAIN @@ -95,16 +102,22 @@ fn deploy_an_environment_with_db_and_pause_it() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( + &context, secrets .clone() .DEFAULT_TEST_DOMAIN @@ -135,14 +148,10 @@ fn deploy_an_environment_with_db_and_pause_it() { // Check that we have actually 0 pods running for this db let app_name = format!("postgresql{}-0", environment.databases[0].name); let ret = get_pods( + context.clone(), ProviderKind::Scw, environment.clone(), app_name.clone().as_str(), - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -181,9 +190,20 @@ fn postgresql_failover_dev_environment_with_all_options() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .SCALEWAY_TEST_ORGANIZATION_ID + .as_ref() + .expect("SCALEWAY_TEST_ORGANIZATION_ID") + .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); let test_domain = secrets .clone() .DEFAULT_TEST_DOMAIN @@ -191,11 +211,6 @@ fn postgresql_failover_dev_environment_with_all_options() { let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( &context, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), test_domain.as_str(), SCW_SELF_HOSTED_DATABASE_INSTANCE_TYPE, SCW_SELF_HOSTED_DATABASE_DISK_TYPE, @@ -222,11 +237,6 @@ fn postgresql_failover_dev_environment_with_all_options() { .collect::>(); let mut environment_delete = test_utilities::common::environnement_2_app_2_routers_1_psql( &context_for_deletion, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), test_domain.as_str(), SCW_SELF_HOSTED_DATABASE_INSTANCE_TYPE, SCW_SELF_HOSTED_DATABASE_DISK_TYPE, @@ -247,12 +257,8 @@ fn postgresql_failover_dev_environment_with_all_options() { // TO CHECK: DATABASE SHOULDN'T BE RESTARTED AFTER A REDEPLOY let database_name = format!("postgresql-{}-0", &environment_check.databases[0].name); match is_pod_restarted_env( + context.clone(), ProviderKind::Scw, - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), environment_check.clone(), database_name.as_str(), secrets.clone(), @@ -267,12 +273,8 @@ fn postgresql_failover_dev_environment_with_all_options() { }; // TO CHECK: DATABASE SHOULDN'T BE RESTARTED AFTER A REDEPLOY EVEN IF FAIL match is_pod_restarted_env( + context.clone(), ProviderKind::Scw, - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), environment_check.clone(), database_name.as_str(), secrets.clone(), @@ -310,8 +312,19 @@ fn postgresql_deploy_a_working_development_environment_with_all_options() { let _enter = span.enter(); let logger = logger(); - let context = context(); let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .SCALEWAY_TEST_ORGANIZATION_ID + .as_ref() + .expect("SCALEWAY_TEST_ORGANIZATION_ID") + .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); let context_for_deletion = context.clone_not_same_execution_id(); let test_domain = secrets .DEFAULT_TEST_DOMAIN @@ -320,11 +333,6 @@ fn postgresql_deploy_a_working_development_environment_with_all_options() { let environment = test_utilities::common::environnement_2_app_2_routers_1_psql( &context, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), test_domain.as_str(), SCW_SELF_HOSTED_DATABASE_INSTANCE_TYPE, SCW_SELF_HOSTED_DATABASE_DISK_TYPE, @@ -332,11 +340,6 @@ fn postgresql_deploy_a_working_development_environment_with_all_options() { ); let mut environment_delete = test_utilities::common::environnement_2_app_2_routers_1_psql( &context_for_deletion, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), test_domain.as_str(), SCW_SELF_HOSTED_DATABASE_INSTANCE_TYPE, SCW_SELF_HOSTED_DATABASE_DISK_TYPE, @@ -389,17 +392,23 @@ fn postgresql_deploy_a_working_environment_and_redeploy() { let logger = logger(); let secrets = FuncTestsSecrets::new(); - let context = context(); - let context_for_redeploy = context.clone_not_same_execution_id(); - let context_for_delete = context.clone_not_same_execution_id(); - - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_redeploy = context.clone_not_same_execution_id(); + let context_for_delete = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .clone() .DEFAULT_TEST_DOMAIN @@ -502,12 +511,8 @@ fn postgresql_deploy_a_working_environment_and_redeploy() { // TO CHECK: DATABASE SHOULDN'T BE RESTARTED AFTER A REDEPLOY let database_name = format!("postgresql-{}-0", &environment_check.databases[0].name); match is_pod_restarted_env( + context.clone(), ProviderKind::Scw, - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), environment_check, database_name.as_str(), secrets.clone(), @@ -567,15 +572,21 @@ fn test_postgresql_configuration( #[named] #[test] fn private_postgresql_v10_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -589,15 +600,21 @@ fn private_postgresql_v10_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v10_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -611,15 +628,21 @@ fn public_postgresql_v10_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v11_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -633,15 +656,21 @@ fn private_postgresql_v11_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v11_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -655,15 +684,21 @@ fn public_postgresql_v11_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v12_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -677,15 +712,21 @@ fn private_postgresql_v12_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v12_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -699,15 +740,21 @@ fn public_postgresql_v12_deploy_a_working_dev_environment() { #[named] #[test] fn private_postgresql_v13_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -721,15 +768,21 @@ fn private_postgresql_v13_deploy_a_working_dev_environment() { #[named] #[test] fn public_postgresql_v13_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -745,15 +798,21 @@ fn public_postgresql_v13_deploy_a_working_dev_environment() { #[test] #[ignore] fn private_postgresql_v10_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -768,15 +827,21 @@ fn private_postgresql_v10_deploy_a_working_prod_environment() { #[test] #[ignore] fn public_postgresql_v10_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -791,15 +856,21 @@ fn public_postgresql_v10_deploy_a_working_prod_environment() { #[test] #[ignore] fn private_postgresql_v11_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -814,15 +885,21 @@ fn private_postgresql_v11_deploy_a_working_prod_environment() { #[test] #[ignore] fn public_postgresql_v11_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -837,15 +914,21 @@ fn public_postgresql_v11_deploy_a_working_prod_environment() { #[test] #[ignore] fn private_postgresql_v12_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -860,15 +943,21 @@ fn private_postgresql_v12_deploy_a_working_prod_environment() { #[test] #[ignore] fn public_postgresql_v12_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -883,15 +972,21 @@ fn public_postgresql_v12_deploy_a_working_prod_environment() { #[test] #[ignore] fn private_postgresql_v13_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -906,15 +1001,21 @@ fn private_postgresql_v13_deploy_a_working_prod_environment() { #[test] #[ignore] fn public_postgresql_v13_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -960,15 +1061,21 @@ fn test_mongodb_configuration( #[named] #[test] fn private_mongodb_v3_6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -982,15 +1089,21 @@ fn private_mongodb_v3_6_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v3_6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1004,15 +1117,21 @@ fn public_mongodb_v3_6_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v4_0_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1026,15 +1145,21 @@ fn private_mongodb_v4_0_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v4_0_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1048,15 +1173,21 @@ fn public_mongodb_v4_0_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v4_2_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1070,15 +1201,21 @@ fn private_mongodb_v4_2_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v4_2_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1092,15 +1229,21 @@ fn public_mongodb_v4_2_deploy_a_working_dev_environment() { #[named] #[test] fn private_mongodb_v4_4_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1114,15 +1257,21 @@ fn private_mongodb_v4_4_deploy_a_working_dev_environment() { #[named] #[test] fn public_mongodb_v4_4_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1168,15 +1317,21 @@ fn test_mysql_configuration( #[named] #[test] fn private_mysql_v5_7_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1190,15 +1345,21 @@ fn private_mysql_v5_7_deploy_a_working_dev_environment() { #[named] #[test] fn public_mysql_v5_7_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1212,15 +1373,21 @@ fn public_mysql_v5_7_deploy_a_working_dev_environment() { #[named] #[test] fn private_mysql_v8_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1234,15 +1401,21 @@ fn private_mysql_v8_deploy_a_working_dev_environment() { #[named] #[test] fn public_mysql_v8_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1258,15 +1431,21 @@ fn public_mysql_v8_deploy_a_working_dev_environment() { #[test] #[ignore] fn private_mysql_v8_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1281,15 +1460,21 @@ fn private_mysql_v8_deploy_a_working_prod_environment() { #[test] #[ignore] fn public_mysql_v8_deploy_a_working_prod_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1335,15 +1520,21 @@ fn test_redis_configuration( #[named] #[test] fn private_redis_v5_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1357,15 +1548,21 @@ fn private_redis_v5_deploy_a_working_dev_environment() { #[named] #[test] fn public_redis_v5_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1379,15 +1576,21 @@ fn public_redis_v5_deploy_a_working_dev_environment() { #[named] #[test] fn private_redis_v6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -1401,15 +1604,21 @@ fn private_redis_v6_deploy_a_working_dev_environment() { #[named] #[test] fn public_redis_v6_deploy_a_working_dev_environment() { - let context = context(); let secrets = FuncTestsSecrets::new(); - let environment = working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() diff --git a/tests/scaleway/scw_environment.rs b/tests/scaleway/scw_environment.rs index fe4ff23b..fb3716b0 100644 --- a/tests/scaleway/scw_environment.rs +++ b/tests/scaleway/scw_environment.rs @@ -1,5 +1,6 @@ extern crate test_utilities; +use self::test_utilities::common::routers_sessions_are_sticky; use self::test_utilities::scaleway::{clean_environments, SCW_TEST_ZONE}; use self::test_utilities::utilities::{ context, engine_run_test, generate_id, get_pods, get_pvc, init, is_pod_restarted_env, logger, FuncTestsSecrets, @@ -27,16 +28,22 @@ fn scaleway_kapsule_deploy_a_working_environment_with_no_router() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -85,17 +92,23 @@ fn scaleway_kapsule_deploy_a_not_working_environment_with_no_router() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - let mut environment = test_utilities::common::non_working_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::non_working_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -143,16 +156,22 @@ fn scaleway_kapsule_deploy_a_working_environment_and_pause() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -170,14 +189,10 @@ fn scaleway_kapsule_deploy_a_working_environment_and_pause() { }; let ret = get_pods( + context.clone(), Kind::Scw, environment.clone(), selector.as_str(), - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -191,14 +206,10 @@ fn scaleway_kapsule_deploy_a_working_environment_and_pause() { // Check that we have actually 0 pods running for this app let ret = get_pods( + context.clone(), Kind::Scw, environment.clone(), selector.as_str(), - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -213,14 +224,10 @@ fn scaleway_kapsule_deploy_a_working_environment_and_pause() { }; let ret = get_pods( + context.clone(), Kind::Scw, environment.clone(), selector.as_str(), - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -253,16 +260,22 @@ fn scaleway_kapsule_build_with_buildpacks_and_deploy_a_working_environment() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -328,16 +341,22 @@ fn scaleway_kapsule_deploy_a_working_environment_with_domain() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -382,18 +401,24 @@ fn scaleway_kapsule_deploy_a_working_environment_with_storage() { let span = span!(Level::INFO, "test", name = test_name,); let _enter = span.enter(); - let logger = logger(); - let context = context(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let logger = logger(); + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_deletion = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -430,16 +455,7 @@ fn scaleway_kapsule_deploy_a_working_environment_with_storage() { TransactionResult::UnrecoverableError(_, _) => assert!(false), }; - match get_pvc( - Kind::Scw, - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), - environment.clone(), - secrets.clone(), - ) { + match get_pvc(context.clone(), Kind::Scw, environment.clone(), secrets.clone()) { Ok(pvc) => assert_eq!( pvc.items.expect("No items in pvc")[0].spec.resources.requests.storage, format!("{}Gi", storage_size) @@ -464,7 +480,7 @@ fn scaleway_kapsule_deploy_a_working_environment_with_storage() { #[cfg(feature = "test-scw-self-hosted")] #[named] #[test] -fn deploy_a_working_environment_and_pause_it_k() { +fn deploy_a_working_environment_and_pause_it() { let test_name = function_name!(); engine_run_test(|| { init(); @@ -472,16 +488,22 @@ fn deploy_a_working_environment_and_pause_it_k() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID is not set") + .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -499,14 +521,10 @@ fn deploy_a_working_environment_and_pause_it_k() { }; let ret = get_pods( + context.clone(), Kind::Scw, environment.clone(), selector.as_str(), - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -520,14 +538,10 @@ fn deploy_a_working_environment_and_pause_it_k() { // Check that we have actually 0 pods running for this app let ret = get_pods( + context.clone(), Kind::Scw, environment.clone(), selector.as_str(), - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -542,14 +556,10 @@ fn deploy_a_working_environment_and_pause_it_k() { }; let ret = get_pods( + context.clone(), Kind::Scw, environment.clone(), selector.as_str(), - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), secrets.clone(), ); assert_eq!(ret.is_ok(), true); @@ -577,18 +587,24 @@ fn scaleway_kapsule_redeploy_same_app() { let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_bis = context.clone_not_same_execution_id(); - let context_for_deletion = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - let mut environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_bis = context.clone_not_same_execution_id(); + let context_for_deletion = context.clone_not_same_execution_id(); + + let mut environment = test_utilities::common::working_minimal_environment( + &context, secrets .clone() .DEFAULT_TEST_DOMAIN @@ -630,16 +646,7 @@ fn scaleway_kapsule_redeploy_same_app() { TransactionResult::UnrecoverableError(_, _) => assert!(false), }; - match get_pvc( - Kind::Scw, - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), - environment.clone(), - secrets.clone(), - ) { + match get_pvc(context.clone(), Kind::Scw, environment.clone(), secrets.clone()) { Ok(pvc) => assert_eq!( pvc.items.expect("No items in pvc")[0].spec.resources.requests.storage, format!("{}Gi", storage_size) @@ -649,12 +656,8 @@ fn scaleway_kapsule_redeploy_same_app() { let app_name = format!("{}-0", &environment_check1.applications[0].name); let (_, number) = is_pod_restarted_env( + context.clone(), Kind::Scw, - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), environment_check1, app_name.clone().as_str(), secrets.clone(), @@ -667,12 +670,8 @@ fn scaleway_kapsule_redeploy_same_app() { }; let (_, number2) = is_pod_restarted_env( + context.clone(), Kind::Scw, - secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set") - .as_str(), environment_check2, app_name.as_str(), secrets.clone(), @@ -707,19 +706,25 @@ fn scaleway_kapsule_deploy_a_not_working_environment_and_then_working_environmen let _enter = span.enter(); let logger = logger(); - let context = context(); - let context_for_not_working = context.clone_not_same_execution_id(); - let context_for_delete = context.clone_not_same_execution_id(); let secrets = FuncTestsSecrets::new(); - - // env part generation - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let context_for_not_working = context.clone_not_same_execution_id(); + let context_for_delete = context.clone_not_same_execution_id(); + + // env part generation + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -792,15 +797,22 @@ fn scaleway_kapsule_deploy_ok_fail_fail_ok_environment() { let logger = logger(); // working env - let context = context(); + let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::working_minimal_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = test_utilities::common::working_minimal_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -901,15 +913,22 @@ fn scaleway_kapsule_deploy_a_non_working_environment_with_no_failover() { let _enter = span.enter(); let logger = logger(); - let context = context(); + let secrets = FuncTestsSecrets::new(); - let environment = test_utilities::common::non_working_environment( - &context, + let context = context( secrets .SCALEWAY_TEST_ORGANIZATION_ID .as_ref() .expect("SCALEWAY_TEST_ORGANIZATION_ID") .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); + let environment = test_utilities::common::non_working_environment( + &context, secrets .DEFAULT_TEST_DOMAIN .as_ref() @@ -958,43 +977,32 @@ fn scaleway_kapsule_deploy_a_non_working_environment_with_a_working_failover() { let logger = logger(); // context for non working environment - let context = context(); + let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .SCALEWAY_TEST_ORGANIZATION_ID + .as_ref() + .expect("SCALEWAY_TEST_ORGANIZATION_ID") + .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); let test_domain = secrets .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets"); - let environment = test_utilities::common::non_working_environment( - &context, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), - test_domain.as_str(), - ); - let failover_environment = test_utilities::common::working_minimal_environment( - &context, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), - test_domain.as_str(), - ); + let environment = test_utilities::common::non_working_environment(&context, test_domain.as_str()); + let failover_environment = test_utilities::common::working_minimal_environment(&context, test_domain.as_str()); // context for deletion let context_deletion = context.clone_not_same_execution_id(); - let mut delete_env = test_utilities::common::working_minimal_environment( - &context_deletion, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), - test_domain.as_str(), - ); + let mut delete_env = + test_utilities::common::working_minimal_environment(&context_deletion, test_domain.as_str()); delete_env.action = Action::Delete; let env_action_delete = EnvironmentAction::Environment(delete_env.clone()); @@ -1037,42 +1045,31 @@ fn scaleway_kapsule_deploy_a_non_working_environment_with_a_non_working_failover let _enter = span.enter(); let logger = logger(); - let context = context(); + let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .SCALEWAY_TEST_ORGANIZATION_ID + .as_ref() + .expect("SCALEWAY_TEST_ORGANIZATION_ID") + .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID") + .as_str(), + ); let test_domain = secrets .DEFAULT_TEST_DOMAIN .as_ref() .expect("DEFAULT_TEST_DOMAIN is not set in secrets"); - let environment = test_utilities::common::non_working_environment( - &context, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), - test_domain.as_str(), - ); - let failover_environment = test_utilities::common::non_working_environment( - &context, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), - test_domain.as_str(), - ); + let environment = test_utilities::common::non_working_environment(&context, test_domain.as_str()); + let failover_environment = test_utilities::common::non_working_environment(&context, test_domain.as_str()); let context_for_deletion = context.clone_not_same_execution_id(); - let mut delete_env = test_utilities::common::non_working_environment( - &context_for_deletion, - secrets - .SCALEWAY_TEST_ORGANIZATION_ID - .as_ref() - .expect("SCALEWAY_TEST_ORGANIZATION_ID") - .as_str(), - test_domain.as_str(), - ); + let mut delete_env = + test_utilities::common::non_working_environment(&context_for_deletion, test_domain.as_str()); delete_env.action = Action::Delete; // environment action initialize @@ -1103,3 +1100,68 @@ fn scaleway_kapsule_deploy_a_non_working_environment_with_a_non_working_failover test_name.to_string() }) } + +#[cfg(feature = "test-scw-self-hosted")] +#[named] +#[test] +fn scaleway_kapsule_deploy_a_working_environment_with_sticky_session() { + let test_name = function_name!(); + engine_run_test(|| { + init(); + + let span = span!(Level::INFO, "test", name = test_name); + let _enter = span.enter(); + + let logger = logger(); + let secrets = FuncTestsSecrets::new(); + let context = context( + secrets + .SCALEWAY_TEST_ORGANIZATION_ID + .as_ref() + .expect("SCALEWAY_TEST_ORGANIZATION_ID is not set in secrets") + .as_str(), + secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID is not set in secrets") + .as_str(), + ); + let context_for_delete = context.clone_not_same_execution_id(); + let environment = test_utilities::common::environment_only_http_server_router_with_sticky_session( + &context, + secrets + .DEFAULT_TEST_DOMAIN + .as_ref() + .expect("DEFAULT_TEST_DOMAIN is not set in secrets") + .as_str(), + ); + + let mut environment_for_delete = environment.clone(); + environment_for_delete.action = Action::Delete; + + let env_action = EnvironmentAction::Environment(environment.clone()); + let env_action_for_delete = EnvironmentAction::Environment(environment_for_delete.clone()); + + match environment.deploy_environment(Kind::Scw, &context, &env_action, logger.clone()) { + TransactionResult::Ok => assert!(true), + TransactionResult::Rollback(_) => assert!(false), + TransactionResult::UnrecoverableError(_, _) => assert!(false), + }; + + // checking cookie is properly set on the app + assert!(routers_sessions_are_sticky(environment.routers.clone())); + + match environment_for_delete.delete_environment(Kind::Scw, &context_for_delete, &env_action_for_delete, logger) + { + TransactionResult::Ok => assert!(true), + TransactionResult::Rollback(_) => assert!(false), + TransactionResult::UnrecoverableError(_, _) => assert!(false), + }; + + if let Err(e) = clean_environments(&context, vec![environment.clone()], secrets.clone(), SCW_TEST_ZONE) { + warn!("cannot clean environments, error: {:?}", e); + } + + test_name.to_string() + }) +} diff --git a/tests/scaleway/scw_kubernetes.rs b/tests/scaleway/scw_kubernetes.rs index 77e1048f..c0002870 100644 --- a/tests/scaleway/scw_kubernetes.rs +++ b/tests/scaleway/scw_kubernetes.rs @@ -1,7 +1,9 @@ extern crate test_utilities; use self::test_utilities::scaleway::{SCW_KUBERNETES_MAJOR_VERSION, SCW_KUBERNETES_MINOR_VERSION}; -use self::test_utilities::utilities::{context, engine_run_test, logger, FuncTestsSecrets}; +use self::test_utilities::utilities::{ + context, engine_run_test, generate_cluster_id, generate_id, logger, FuncTestsSecrets, +}; use ::function_name::named; use qovery_engine::cloud_provider::aws::kubernetes::VpcQoveryNetworkMode; use qovery_engine::cloud_provider::scaleway::application::Zone; @@ -22,7 +24,7 @@ fn create_and_destroy_kapsule_cluster( cluster_test( test_name, Kind::Scw, - context(), + context(generate_id().as_str(), generate_cluster_id(zone.as_str()).as_str()), logger(), zone.as_str(), secrets, diff --git a/tests/scaleway/scw_object_storage.rs b/tests/scaleway/scw_object_storage.rs index a9d2d3b9..35d232af 100644 --- a/tests/scaleway/scw_object_storage.rs +++ b/tests/scaleway/scw_object_storage.rs @@ -11,7 +11,7 @@ use tempfile::NamedTempFile; #[test] fn test_delete_bucket_hard_delete_strategy() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_access_key = secrets.SCALEWAY_ACCESS_KEY.unwrap_or("undefined".to_string()); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); @@ -46,7 +46,7 @@ fn test_delete_bucket_hard_delete_strategy() { #[test] fn test_delete_bucket_empty_strategy() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_access_key = secrets.SCALEWAY_ACCESS_KEY.unwrap_or("undefined".to_string()); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); @@ -86,7 +86,7 @@ fn test_delete_bucket_empty_strategy() { #[test] fn test_create_bucket() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_access_key = secrets.SCALEWAY_ACCESS_KEY.unwrap_or("undefined".to_string()); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); @@ -122,7 +122,7 @@ fn test_create_bucket() { #[test] fn test_recreate_bucket() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_access_key = secrets.SCALEWAY_ACCESS_KEY.unwrap_or("undefined".to_string()); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); @@ -164,7 +164,7 @@ fn test_recreate_bucket() { #[test] fn test_put_file() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_access_key = secrets.SCALEWAY_ACCESS_KEY.unwrap_or("undefined".to_string()); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); @@ -216,7 +216,7 @@ fn test_put_file() { #[test] fn test_get_file() { // setup: - let context = context(); + let context = context("fake_orga_id", "fake_cluster_id"); let secrets = FuncTestsSecrets::new(); let scw_access_key = secrets.SCALEWAY_ACCESS_KEY.unwrap_or("undefined".to_string()); let scw_secret_key = secrets.SCALEWAY_SECRET_KEY.unwrap_or("undefined".to_string()); diff --git a/tests/scaleway/scw_utility_kubernetes_kapsule_test_cluster.rs b/tests/scaleway/scw_utility_kubernetes_kapsule_test_cluster.rs index 43557e28..0350a6ab 100644 --- a/tests/scaleway/scw_utility_kubernetes_kapsule_test_cluster.rs +++ b/tests/scaleway/scw_utility_kubernetes_kapsule_test_cluster.rs @@ -27,8 +27,17 @@ fn create_scaleway_kubernetes_kapsule_test_cluster() { let span = span!(Level::INFO, "utility", name = test_name); let _enter = span.enter(); + let organization_id = secrets + .SCALEWAY_TEST_ORGANIZATION_ID + .as_ref() + .expect("SCALEWAY_TEST_ORGANIZATION_ID"); + let cluster_id = secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID"); + let logger = logger(); - let context = context(); + let context = context(organization_id.as_str(), cluster_id.as_str()); let engine = Scaleway::docker_cr_engine(&context, logger.clone()); let session = engine.session().unwrap(); let mut tx = session.transaction(); @@ -37,11 +46,6 @@ fn create_scaleway_kubernetes_kapsule_test_cluster() { let nodes = Scaleway::kubernetes_nodes(); let cloudflare = dns_provider_cloudflare(&context, ClusterDomain::Default); - let cluster_id = secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID"); - let kubernetes = Kapsule::new( context.clone(), cluster_id.to_string(), @@ -88,8 +92,17 @@ fn destroy_scaleway_kubernetes_kapsule_test_cluster() { let span = span!(Level::INFO, "utility", name = test_name); let _enter = span.enter(); + let organization_id = secrets + .SCALEWAY_TEST_ORGANIZATION_ID + .as_ref() + .expect("SCALEWAY_TEST_ORGANIZATION_ID"); + let cluster_id = secrets + .SCALEWAY_TEST_CLUSTER_ID + .as_ref() + .expect("SCALEWAY_TEST_CLUSTER_ID"); + let logger = logger(); - let context = context(); + let context = context(organization_id.as_str(), cluster_id.as_str()); let engine = Scaleway::docker_cr_engine(&context, logger.clone()); let session = engine.session().unwrap(); let mut tx = session.transaction(); @@ -98,11 +111,6 @@ fn destroy_scaleway_kubernetes_kapsule_test_cluster() { let nodes = Scaleway::kubernetes_nodes(); let cloudflare = dns_provider_cloudflare(&context, ClusterDomain::Default); - let cluster_id = secrets - .SCALEWAY_TEST_CLUSTER_ID - .as_ref() - .expect("SCALEWAY_TEST_CLUSTER_ID is not set"); - let kubernetes = Kapsule::new( context.clone(), cluster_id.to_string(), diff --git a/tests/scaleway/scw_whole_enchilada.rs b/tests/scaleway/scw_whole_enchilada.rs index 1a15ab1d..57a7a621 100644 --- a/tests/scaleway/scw_whole_enchilada.rs +++ b/tests/scaleway/scw_whole_enchilada.rs @@ -11,11 +11,11 @@ use test_utilities::utilities::{context, engine_run_test, generate_cluster_id, g #[test] fn create_and_destroy_kapsule_cluster_with_env_in_par_2() { let logger = logger(); - let context = context(); let zone = Zone::Paris2; - let secrets = FuncTestsSecrets::new(); let organization_id = generate_id(); let cluster_id = generate_cluster_id(zone.as_str()); + let context = context(organization_id.as_str(), cluster_id.as_str()); + let secrets = FuncTestsSecrets::new(); let cluster_domain = format!( "{}.{}", cluster_id.as_str(), @@ -26,11 +26,7 @@ fn create_and_destroy_kapsule_cluster_with_env_in_par_2() { .as_str() ); - let environment = test_utilities::common::working_minimal_environment( - &context, - organization_id.as_str(), - cluster_domain.as_str(), - ); + let environment = test_utilities::common::working_minimal_environment(&context, cluster_domain.as_str()); let env_action = EnvironmentAction::Environment(environment.clone()); engine_run_test(|| {