#[macro_use]
extern crate serde_derive;
extern crate serde;
use env_proc::env_vars;
use std::collections::HashMap;
env_vars! {
HOST_UID="501"
HOST_GID="20"
MAGE_ROOT_DIR="/var/www"
MAGE_HOST="https://local.m2"
MAGE_ADMIN_USER="admin"
MAGE_ADMIN_PASS="password123"
MAGE_ADMIN_FIRSTNAME="Joe"
MAGE_ADMIN_LASTNAME="Bloggs"
MAGE_ADMIN_EMAIL="magento@wearejh.com"
MAGE_BACKEND_FRONTNAME="admin"
HTTPS="on"
MYSQL_ROOT_PASSWORD="docker"
MYSQL_DATABASE="docker"
MYSQL_USER="docker"
MYSQL_PASSWORD="docker"
PHP_MEMORY_LIMIT="2G"
RABBITMQ_DEFAULT_USER="docker"
RABBITMQ_DEFAULT_PASS="docker"
MAIL_HOST="mail"
MAIL_PORT="1025"
XDEBUG_ENABLE="false"
XDEBUG_MAX_NESTING_LEVEL="256"
XDEBUG_COVERAGE="0"
XDEBUG_PROFILER="0"
XDEBUG_PROFILE_TRIGGER="1"
XDEBUG_IDE_KEY="PHPSTORM"
XDEBUG_CONFIG="remote_host=docker.for.mac.host.internal"
PHP_IDE_CONFIG="serverName=local.m2"
BLACKFIRE_CLIENT_ID=""
BLACKFIRE_CLIENT_TOKEN=""
BLACKFIRE_SERVER_ID=""
BLACKFIRE_SERVER_TOKEN=""
}
#[test]
fn test_env_vars() {
let input = r#"
env:
HOST_UID: "anthony"
MYSQL_DATABASE: "migration"
"#;
#[derive(Deserialize, Default, Debug)]
#[serde(default)]
struct Temp {
env: HmEnv,
}
let parsed: Temp = serde_yaml::from_str(input).expect("parsed");
let merged = HmEnv::default().merge(parsed.env);
assert_eq!(
merged.0.get(&EnvVarKeys::HostUid),
Some(&String::from("anthony"))
);
assert_eq!(
merged.0.get(&EnvVarKeys::MysqlDatabase),
Some(&String::from("migration"))
);
}