chore: use env vars to use credentials within tests

This commit is contained in:
Romaric Philogene
2020-10-26 00:33:04 +01:00
parent b9eab1f827
commit dbf18f82fb
5 changed files with 65 additions and 46 deletions

View File

@@ -33,26 +33,32 @@ use crate::cloudflare::dns_provider_cloudflare;
use crate::utilities::init;
use crate::utilities::{build_platform_local_docker, generate_id};
pub const AWS_ACCESS_KEY_ID: String =
std::env::var("AWS_ACCESS_KEY_ID").expect("env var AWS_ACCESS_KEY_ID is mandatory");
pub const AWS_SECRET_ACCESS_KEY: String =
std::env::var("AWS_SECRET_ACCESS_KEY").expect("env var AWS_SECRET_ACCESS_KEY is mandatory");
pub const AWS_DEFAULT_REGION: String =
std::env::var("AWS_DEFAULT_REGION").expect("env var AWS_DEFAULT_REGION is mandatory");
pub const TERRAFORM_AWS_ACCESS_KEY_ID: String = std::env::var("TERRAFORM_AWS_ACCESS_KEY_ID")
.expect("env var TERRAFORM_AWS_ACCESS_KEY_ID is mandatory");
pub const TERRAFORM_AWS_SECRET_ACCESS_KEY: String =
std::env::var("TERRAFORM_AWS_SECRET_ACCESS_KEY")
.expect("env var TERRAFORM_AWS_SECRET_ACCESS_KEY is mandatory");
pub const ORGANIZATION_ID: &str = "u8nb94c7fwxzr2jt";
pub const AWS_REGION_FOR_S3: &str = "us-east-1";
pub const AWS_KUBERNETES_VERSION: &str = "1.16";
pub fn aws_access_key_id() -> String {
std::env::var("aws_access_key_id()").expect("env var aws_access_key_id() is mandatory")
}
pub fn aws_secret_access_key() -> String {
std::env::var("aws_secret_access_key()").expect("env var aws_secret_access_key() is mandatory")
}
pub fn aws_default_region() -> String {
std::env::var("aws_default_region()").expect("env var aws_default_region() is mandatory")
}
pub fn terraform_aws_access_key_id() -> String {
std::env::var("terraform_aws_access_key_id()")
.expect("env var terraform_aws_access_key_id() is mandatory")
}
pub fn terraform_aws_secret_access_key() -> String {
std::env::var("terraform_aws_secret_access_key()")
.expect("env var terraform_aws_secret_access_key() is mandatory")
}
pub fn execution_id() -> String {
Utc::now()
.to_rfc3339()
@@ -84,9 +90,9 @@ pub fn container_registry_ecr(context: &Context) -> ECR {
context.clone(),
"default-ecr-registry-Qovery Test",
"ea59qe62xaw3wjai",
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
AWS_DEFAULT_REGION,
aws_access_key_id().as_str(),
aws_secret_access_key().as_str(),
aws_default_region().as_str(),
)
}
@@ -115,11 +121,11 @@ pub fn cloud_provider_aws(context: &Context) -> AWS {
"u8nb94c7fwxzr2jt",
ORGANIZATION_ID,
"QoveryTest",
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
aws_access_key_id().as_str(),
aws_secret_access_key().as_str(),
TerraformStateCredentials {
access_key_id: TERRAFORM_AWS_ACCESS_KEY_ID.to_string(),
secret_access_key: TERRAFORM_AWS_SECRET_ACCESS_KEY.to_string(),
access_key_id: terraform_aws_access_key_id().to_string(),
secret_access_key: terraform_aws_secret_access_key().to_string(),
region: "eu-west-3".to_string(),
},
)
@@ -138,7 +144,7 @@ pub fn aws_kubernetes_eks<'a>(
"dmubm9agk7sr8a8r",
"dmubm9agk7sr8a8r",
AWS_KUBERNETES_VERSION,
AWS_DEFAULT_REGION,
aws_default_region().as_str(),
cloud_provider,
dns_provider,
options_values,

View File

@@ -1,22 +1,25 @@
use qovery_engine::dns_provider::cloudflare::Cloudflare;
use qovery_engine::models::Context;
pub const CLOUDFLARE_ID: String =
std::env::var("CLOUDFLARE_ID").expect("env var CLOUDFLARE_ID is mandatory");
pub fn cloudflare_id() -> String {
std::env::var("CLOUDFLARE_ID").expect("env var CLOUDFLARE_ID is mandatory")
}
pub const CLOUDFLARE_TOKEN: String =
std::env::var("CLOUDFLARE_TOKEN").expect("env var CLOUDFLARE_TOKEN is mandatory");
pub fn cloudflare_token() -> String {
std::env::var("CLOUDFLARE_TOKEN").expect("env var CLOUDFLARE_TOKEN is mandatory")
}
pub const CLOUDFLARE_DOMAIN: String =
std::env::var("CLOUDFLARE_DOMAIN").expect("env var CLOUDFLARE_DOMAIN is mandatory");
pub fn cloudflare_domain() -> String {
std::env::var("CLOUDFLARE_DOMAIN").expect("env var CLOUDFLARE_DOMAIN is mandatory")
}
pub fn dns_provider_cloudflare(context: &Context) -> Cloudflare {
Cloudflare::new(
context.clone(),
"qoverytestdnsclo".to_string(),
"Qovery Test Cloudflare".to_string(),
CLOUDFLARE_DOMAIN.clone(),
CLOUDFLARE_TOKEN.clone(), // Cloudflare name: Qovery test
CLOUDFLARE_ID.clone(),
cloudflare_domain(),
cloudflare_token(), // Cloudflare name: Qovery test
cloudflare_id(),
)
}

View File

@@ -10,15 +10,18 @@ use qovery_engine::models::Context;
use crate::cloudflare::dns_provider_cloudflare;
use crate::utilities::build_platform_local_docker;
//TODO: should be environment var
pub const DIGITAL_OCEAN_TOKEN: String =
std::env::var("DIGITAL_OCEAN_TOKEN").expect("env var DIGITAL_OCEAN_TOKEN is mandatory");
pub const DIGITAL_OCEAN_URL: &str = "https://api.digitalocean.com/v2/";
pub fn digital_ocean_token() -> String {
std::env::var("DIGITAL_OCEAN_TOKEN").expect("env var DIGITAL_OCEAN_TOKEN is mandatory")
}
pub fn container_registry_digital_ocean(context: &Context) -> DOCR {
let token = DIGITAL_OCEAN_TOKEN.clone();
DOCR::new(context.clone(), "qovery-registry", token.as_str())
DOCR::new(
context.clone(),
"qovery-registry",
digital_ocean_token().as_str(),
)
}
pub fn docker_cr_do_engine(context: &Context) -> Engine {
@@ -41,5 +44,5 @@ pub fn docker_cr_do_engine(context: &Context) -> Engine {
}
pub fn cloud_provider_digitalocean(context: &Context) -> DO {
DO::new(context.clone(), "test", DIGITAL_OCEAN_TOKEN)
DO::new(context.clone(), "test", digital_ocean_token().as_str())
}

View File

@@ -2,7 +2,6 @@ extern crate test_utilities;
use qovery_engine::build_platform::Image;
use qovery_engine::container_registry::docr::DOCR;
use test_utilities::digitalocean::DIGITAL_OCEAN_TOKEN;
use self::test_utilities::aws::context;
use self::test_utilities::digitalocean::docker_cr_do_engine;

View File

@@ -10,7 +10,7 @@ use rusoto_s3::{
use qovery_engine::s3;
use qovery_engine::s3::{delete_bucket, get_default_region_for_us};
use test_utilities::aws::{AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_ACCESS_KEY_ID, AWS_REGION_FOR_S3};
use test_utilities::aws::{aws_access_key_id, aws_secret_access_key, AWS_REGION_FOR_S3};
use test_utilities::utilities::init;
#[test]
@@ -18,19 +18,27 @@ fn delete_s3_bucket() {
init();
let bucket_name = "my-test-bucket";
let credentials = StaticProvider::new(
AWS_ACCESS_KEY_ID.to_string(),
AWS_SECRET_ACCESS_KEY.to_string(),
aws_access_key_id().to_string(),
aws_secret_access_key().to_string(),
None,
None,
);
let creation = s3::create_bucket(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, bucket_name);
let creation = s3::create_bucket(
aws_access_key_id().as_str(),
aws_secret_access_key().as_str(),
bucket_name,
);
match creation {
Ok(out) => println!("Yippee Ki Yay"),
Err(e) => println!("While creating the bucket {}", e),
}
let delete = delete_bucket(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, bucket_name);
let delete = delete_bucket(
aws_access_key_id().as_str(),
aws_secret_access_key().as_str(),
bucket_name,
);
match delete {
Ok(out) => println!("Yippee Ki Yay"),
Err(e) => println!("While deleting the bucket {}", e),