import os
import sys
import pytest
from google.cloud import secretmanager
from google.oauth2 import service_account
from firebase_admin import credentials

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '../..')))
from environment import Environment


def test_environment_initialization():

    assert Environment.USE_TEST_MODE == True
    assert Environment.GCLOUD_PROJECT_ID == "storyitapp-dev"
    assert isinstance(Environment.GCP_CREDENTIALS, service_account.Credentials)
    assert isinstance(Environment.FIREBASE_CREDENTIALS, credentials.Certificate)
    assert isinstance(Environment.secrets_manager_client, secretmanager.SecretManagerServiceClient)

    assert Environment.FLASK_API_KEY is not None and "39GG8F3" in Environment.FLASK_API_KEY
    assert Environment.LAMADAVA_ACCESS_KEY is not None
    assert Environment.SMARTPROXY_PASS is not None
    assert Environment.TWILIO_ACCOUNT_SID is not None
    assert Environment.TWILIO_AUTH_TOKEN is not None
    assert Environment.GMAIL_ALERTS_ACCOUNT_APP_PASSWORD is not None
    assert Environment.FIREBASE_CONFIG is not None

    assert Environment.DOTS_API_KEY is not None
    assert Environment.DOTS_CLIENT_ID is not None
    assert Environment.STRIPE_SECRET_KEY is not None

    assert Environment.FLASK_SERVER_URL == "https://storyitapp-dev.uc.r.appspot.com"
    assert Environment.DOTS_URL == "https://pls.senddotssandbox.com"
    assert Environment.WEB_APP_URL == "storyitapp-dev.web.app"