Skip to main content

Default conf. files and conf. file generator for `zeo_connector`.

Project description

Introduction

https://badge.fury.io/py/zeo_connector_defaults.png https://img.shields.io/pypi/dm/zeo_connector_defaults.svg https://img.shields.io/pypi/l/zeo_connector_defaults.svg https://img.shields.io/github/issues/Bystroushaak/zeo_connector_defaults.svg

Default configuration files and configuration file generator for zeo_connector.

Documentation

This project provides generators of the testing environment for the ZEO-related tests. It also provides generator, for the basic ZEO configuration files.

zeo_connector_gen_defaults.py

This script simplifies the process of generation of ZEO configuration files.

ZEO tests

Typically, when you test your program which is using the ZEO database, you need to generate the database files, then run new thread with runzeo program, do tests, cleanup and stop the thread.

This module provides two functions, which do exactly this:

  • zeo_connector_defaults.generate_environment()

  • zeo_connector_defaults.cleanup_environment()

generate_environment

This function will create temporary directory in /tmp and copy template files for ZEO client and server into this directory. Then it starts new thread with runzeo program using the temporary server configuration file.

Names of the files may be resolved using tmp_context_name() function.

Note:

This function works best, if added to setup part of your test environment.

cleanup_environment

Function, which stops the running runzeo thread and delete all the temporary files.

Note:

This function works best, if added to setup part of your test environment.

Context functions

There is also two temp environment access functions:

  • tmp_context_name()

  • tmp_context()

Both of them take one fn argument and return name of the file (tmp_context_name()) or content of the file (tmp_context()) in context of random temporary directory.

For example:

tmp_context_name("zeo_client.conf")

returns the absolute path to the file zeo_client.conf, which may be for example /tmp/tmp1r5keh/zeo_client.conf.

You may also call it without the arguments, which will return just the name of the temporary directory:

tmp_context_name()

which should return something like /tmp/tmp1r5keh.

Tests example

Here is the example how your test may look like:

#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
# Interpreter version: python 2.7
#
# Imports =====================================================================
import pytest

from zeo_connector_defaults import generate_environment
from zeo_connector_defaults import cleanup_environment
from zeo_connector_defaults import tmp_context_name


# Setup =======================================================================
def setup_module(module):
    generate_environment()


def teardown_module(module):
    cleanup_environment()


# Fixtures ====================================================================
@pytest.fixture
def zeo_conf_wrapper():
    return ZEOConfWrapper(
        conf_path=tmp_context_name("zeo_client.conf"),
    ...

# Tests =======================================================================
def test_something(zeo_conf_wrapper):
    ...

Installation

Module is hosted at PYPI, and can be easily installed using PIP:

sudo pip install zeo_connector_defaults

Source code

Project is released under the MIT license. Source code can be found at GitHub:

Changelog

0.1.0

  • Project created.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zeo_connector_defaults-0.1.0.tar.gz (5.8 kB view details)

Uploaded Source

File details

Details for the file zeo_connector_defaults-0.1.0.tar.gz.

File metadata

File hashes

Hashes for zeo_connector_defaults-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6b65d2515b95d2d4f96853d2a55248b9ad85791b177d08b6b18cca5f3158e6d8
MD5 2f8287a3fa480122ddcfa537e99662e3
BLAKE2b-256 8ae94665780fac3b7af12e6994eee66802b23fede4511dd76e94628655f360c5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page