def __enter__(self):
        """Store backup of current os.environ."""
        logger = logging.getLogger(__name__)
        logger.debug("Backed-up os.environ:")
        _log_nested_dict(logger.debug, dict(os.environ))
        self._original_environ = os.environ.copy()

        if self._insertions:
            for k, v in self._insertions.items():
                logger.debug("Inject env var '{}' = '{}'".format(k, v))
                os.environ[k] = str(v)

        logger.debug("Initial modified os.environ:")
        _log_nested_dict(logger.debug, dict(os.environ))
Example #2
0
def test_defaut_lookup():
    """Will send a direct mongo query request to the server."""
    from dtool_lookup_api.synchronous import lookup

    logger = logging.getLogger(__name__)

    response = lookup(DEFAULT_LOOKUP_UUID)
    assert response is not None

    logger.debug("Response:")
    _log_nested_dict(logger.debug, response)

    compares = _compare(response, EXPECTED_DEFAULT_LOOKUP_RESPONSE,
                        EXPECTED_DEFAULT_LOOKUP_RESPONSE_IMMUTABLE_MARKER)
    assert compares
Example #3
0
def test_default_readme():
    """Will send an empty search request to the server."""
    from dtool_lookup_api.synchronous import readme

    logger = logging.getLogger(__name__)

    response = readme(DEFAULT_README_URI)
    assert response is not None

    logger.debug("Response:")
    _log_nested_dict(logger.debug, response)

    compares = _compare(response, EXPECTED_DEFAULT_README_RESPONSE,
                        EXPECTED_DEFAULT_README_RESPONSE_IMMUTABLE_MARKER)
    assert compares
Example #4
0
def test_default_search():
    """Will send an empty search request to the server."""
    from dtool_lookup_api.synchronous import search

    logger = logging.getLogger(__name__)

    response = search(DEFAULT_SEARCH_TEXT)
    assert response is not None

    logger.debug("Response:")
    _log_nested_dict(logger.debug, response)

    assert len(response) == 1

    compares = _compare(response, EXPECTED_DEFAULT_SEARCH_RESPONSE,
                        EXPECTED_DEFAULT_SEARCH_RESPONSE_IMMUTABLE_MARKER)
    assert compares
Example #5
0
def test_defaut_aggregation():
    """Will send a direct mongo query request to the server."""
    from dtool_lookup_api.synchronous import aggregate

    logger = logging.getLogger(__name__)

    response = aggregate(DEFAULT_AGGREGATION)
    assert response is not None

    logger.debug("Response:")
    _log_nested_dict(logger.debug, response)

    assert len(response) == 1

    compares = _compare(
        response, EXPECTED_DEFAULT_AGGREGATION_RESPONSE,
        EXPECTED_DEFAULT_AGGREGATION_RESPONSE_IMMUTABLE_MARKER)
    assert compares
Example #6
0
def test_config():
    """Will send an request for configuration info to the server."""
    from dtool_lookup_api.synchronous import config

    logger = logging.getLogger(__name__)

    response = config()
    assert response is not None

    logger.debug("Response:")
    _log_nested_dict(logger.debug, response)

    compares = _compare(
        response,
        EXPECTED_CONFIG_RESPONSE,
        EXPECTED_CONFIG_RESPONSE_IMMUTABLE_MARKER,
    )

    assert compares
Example #7
0
def test_all():
    from dtool_lookup_api.synchronous import all
    """Will send a request to list all registered datasets to the server."""

    logger = logging.getLogger(__name__)

    response = all()
    assert response is not None

    logger.debug("Response:")
    _log_nested_dict(logger.debug, response)

    compares = _compare(
        response,
        EXPECTED_DEFAULT_ALL_RESPONSE,
        EXPECTED_DEFAULT_ALL_RESPONSE_IMMUTABLE_MARKER,
    )

    assert compares
 def __exit__(self, exc_type, exc_val, exc_tb):
     """Restore backed up os.environ."""
     logger = logging.getLogger(__name__)
     os.environ = self._original_environ
     logger.debug("Recovered os.environ:")
     _log_nested_dict(logger.debug, os.environ)