예제 #1
0
def setup():
    set_default_values()
    set_environment_variables()
    if not v.is_set("disable.cli"):
        set_cli_arguments()
    set_config_file_extensions()
    if config_file := v.get("config.file"):
        read_config_file(config_file)
예제 #2
0
def init_server():
    auth = HTTPBasicAuth(v.get('oauth_client.id'),
                         v.get('oauth_client.secret'))
    client = BackendApplicationClient(client_id=v.get('oauth_client.id'))
    api_session = OAuth2Session(client=client)
    token = api_session.fetch_token(
        token_url=PARTICLE_TOKEN_ENDPOINT,
        auth=auth,
    )
    return token, api_session
예제 #3
0
def env_setup():
    v.set_env_prefix("li")
    v.automatic_env()

    if not v.is_set("api_key") or not v.is_set("api_host"):
        print("LI_API_KEY or LI_API_HOST environment variables not found.")
        sys.exit()

    if not v.get("api_host").endswith(API_VERSION_PATH):
        print("ERROR: LI_API_HOST environment variable must end with " + API_VERSION_PATH)
        print("LI_API_HOST current value: " + v.get("api_host"))
        sys.exit()

    layint_api.configuration.verify_ssl = v.get_bool("verify_ssl")
def _setup_args(args):
    defaults = _get_default_args(args)
    args_dict = _get_args(args)
    for k, val in defaults.items():
        v.set_default(k, val)
        if v.get(k) != args_dict[k]:
            v.bind_arg(k, args_dict[k])
예제 #5
0
def subscribe_to_events(session):
    resp = session.request(method="GET",
                           url=build_api_path(
                               ['products',
                                v.get('product.id'), 'events']),
                           stream=True)

    return dechunk(resp.iter_lines())
예제 #6
0
class MainPage(BasePage):
    URL = configuration.get('host')
    LOGIN_BUTTON = (By.CSS_SELECTOR, "a[class='btn btn-link-dark btn-login']")
    PROFILE_AVATAR = (By.CSS_SELECTOR, ".profile-nav-avatar")

    @allure.step("Open login page")
    def open_login_page(self):
        self.navigate_to(self.URL)
        self.get_element(self.LOGIN_BUTTON).click()
예제 #7
0
파일: config.py 프로젝트: brabidou/GetSqurd
def setup_vyper(parser):
    env_name = os.getenv("APP_ENV_NAME", "LOCAL").lower()
    config_name = "config.{}".format(env_name)

    v.bind_args(parser)

    v.set_env_prefix(v.get("environment_variables_prefix"))
    v.set_env_key_replacer("-", "_")
    v.automatic_env()

    v.add_config_path("config")
    v.set_config_type("toml")
    v.set_config_name(config_name)
    v.read_in_config()
예제 #8
0
class BasePage:
    URL = configuration.get('host')

    def __init__(self, driver: WebDriver) -> None:
        self._driver = driver

    def navigate_to(self, url):
        self._driver.get(url)

    def get_element(self, locator: tuple, timeout=5) -> WebElement:
        return WebDriverWait(self._driver, timeout).until(
            ex_cond.visibility_of_element_located(locator),
            ' : '.join(locator))

    def get_elements(self, locator: tuple, timeout=5) -> WebElement:
        return WebDriverWait(self._driver, timeout).until(
            ex_cond.visibility_of_any_elements_located(locator),
            ' : '.join(locator))
def setup_vyper(parser, overrides):
    defaults = _get_default_args(parser)

    actual_overrides = \
        {k: val for k, val in overrides.items() if defaults[k] != val}
    env_name = os.getenv("APP_ENV_NAME", "LOCAL").lower()
    config_name = "config.{}".format(env_name)

    _setup_args(parser)
    _setup_overrides(actual_overrides)

    v.set_env_prefix(v.get("env_vars_prefix"))
    v.automatic_env()

    v.add_config_path("config")
    v.set_config_type("toml")
    v.set_config_name(config_name)
    v.read_in_config()
예제 #10
0
def setup_vyper(parser: argparse.ArgumentParser,
                overrides: Dict[str, Any] = None):
    env_name = os.getenv("APP_ENV_NAME", "LOCAL").lower()
    config_name = "config.{}".format(env_name)

    v.bind_args(parser)

    if overrides:
        for k, val in overrides.items():
            v.set(k, val)

    v.set_env_prefix(v.get("environment_variables_prefix"))
    v.set_env_key_replacer("-", "_")
    v.automatic_env()

    v.add_config_path("config")
    v.set_config_type("toml")
    v.set_config_name(config_name)
    v.read_in_config()
예제 #11
0
class TestLogin:
    username = configuration.get('user').get('username')
    password = configuration.get('user').get('password')

    @pytest.fixture()
    def login_page(self, driver):
        page = LoginPage(driver)
        page.open_login_page()
        return page

    @pytest.fixture()
    def login_captcha(self, login_page):
        login_page.fill_form('wrong', 'wrong')
        login_page.submit()
        login_page.submit()
        assert login_page.get_element(login_page.CAPTCHA_FIELD).is_displayed()
        return login_page

    @pytest.mark.parametrize(
        'username', [username, username.upper(), f' {username} '],
        ids=['exact username', 'switched case', 'with white spaces'])
    def test_valid_credential(self, login_page, username):
        login_page.fill_form(username=username, password=self.password)
        avatar = login_page.get_element(LoginPage.PROFILE_AVATAR)
        assert avatar.is_displayed()

    @pytest.mark.parametrize(
        'password', ['wrong', password.upper(), f' {password} '],
        ids=['invalid', 'switched case', 'with white spaces'])
    def test_invalid_password(self, password, login_page):
        login_page.fill_form(username=self.username, password=password)
        error = login_page.get_element(login_page.PASSWORD_ERROR)
        assert error.text == 'Password or email is incorrect.'

    @pytest.mark.parametrize('password', [password, ''],
                             ids=['password filled', 'password empty'])
    @pytest.mark.parametrize('username', [username, ''],
                             ids=['username filled', 'username empty'])
    def test_empty_fields(self, login_page, password, username):
        login_page.fill_form(username=username, password=password)
        if not username:
            assert login_page.get_element(
                login_page.USERNAME_ERROR).is_displayed()
        if not password:
            assert login_page.get_element(
                login_page.PASSWORD_ERROR).is_displayed()

    def test_invalid_username(self, login_page, user_credential):
        login_page.fill_form(username='******', password=self.password)
        error = login_page.get_element(login_page.USERNAME_ERROR)
        assert error.text == 'Password or email is incorrect.'

    def test_refresh_captcha(self, login_captcha):
        img_before = login_captcha.get_element(
            login_captcha.CAPTCHA_IMG).get_attribute("src")
        login_captcha.refresh_captcha()
        wait_for(
            login_captcha.get_element(login_captcha.CAPTCHA_IMG).get_attribute(
                "src") != img_before)
        assert login_captcha.get_element(
            login_captcha.CAPTCHA_IMG).get_attribute("src") != img_before

    def test_wrong_captcha(self, login_captcha):
        login_captcha.enter_captcha('value')
        assert login_captcha.get_element(
            login_captcha.CAPTCHA_ERROR).is_displayed()

    @pytest.mark.parametrize('social, tittle',
                             [(LoginPage.FACEBOOK_BUTTON, 'Facebook'),
                              (LoginPage.GOOGLE_BUTTON, 'Google')],
                             ids=['Facebook', 'Google'])
    def test_social_auth(self, login_page, social, tittle):
        login_page.get_element(social).click()
        wait_for(len(login_page._driver.window_handles) > 1)
        login_page._driver.switch_to.window(
            login_page._driver.window_handles[1])
        assert tittle in login_page._driver.title
예제 #12
0
파일: app.py 프로젝트: ykgk518/vyper
from kazoo import client
from vyper import v

client = client.KazooClient()
client.start()

v.set_config_type("json")
v.add_remote_provider("zookeeper", client, "/config.json")
v.read_remote_config()

print("Hello " + v.get("hello"))
예제 #13
0
def get_config() -> Config:
    v.set_config_name("pruner_config")
    v.add_config_path(".")
    v.read_in_config()
    return Config(prune_configs=v.get("pruner"))
예제 #14
0
from kazoo import client
from vyper import v

client = client.KazooClient()
client.start()

v.set_config_type('json')
v.add_remote_provider('zookeeper', client, '/config.json')
v.read_remote_config()

print('Hello ' + v.get('hello'))
def get_domains():
    domains_string = v.get("domains")
    return domains_string.split(',')
def get_credential():
    return v.get("cloudflare.apikey"), v.get("cloudflare.email")
예제 #17
0
 def __init__(self, path='latest', access_key: str = None):
     self.headers = {}
     self.path = path
     self.host = config.get('host')
     self.access_key = access_key or config.get('access_key')