#!/usr/bin/env python
# -*- coding: utf-8 -*-

import logging
import sys
import os

import baker
from ejpiaj.parsers import yaml_parser
from ejpiaj.runner import console_runner


@baker.command(
    shortopts={
        'debug': 'd',
        'module': 'm',
        'display_variables': 's',
    },
    params={
        'debug': 'run with debug mode',
        'module': 'your module with custom extractors and assertions',
        'display_variables': 'display extracted variables',
    }
)
def test(yaml_file, debug=False, module=None, display_variables=False):
    """
    Run tests using yaml file
    """
    if module:
        sys.path.append(os.getcwd())
        __import__(module)

    if debug:
        logging.basicConfig(level=logging.DEBUG)
    if yaml_file:
        sys.exit(console_runner(
            yaml_parser(yaml_file), display_variables=display_variables
        ))

if __name__ == '__main__':
    baker.run()
