Skip to main content
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

Description: OpenCafe
========

.. image:: https://img.shields.io/pypi/v/opencafe.svg
:target: https://pypi.python.org/pypi/opencafe

.. image:: https://travis-ci.org/CafeHub/opencafe.svg?branch=master
:target: https://travis-ci.org/CafeHub/opencafe

When writing automated test sutes, there are some things that should
"just work". Problems like managing test data, logging, and results are
things that shouldn't have to be re-invented for every test project you work
on. OpenCafe aims to address that problem by providing solutions for the
commonly occuring challenges in the development and operation of functional
and end-to-end test suites.

Capabilities
------------

- Common sense conventions for test data and log management
- Per test run and per test logs and results
- Reference drivers for performing non-UI testing including HTTP, SSH,
and WinRM
- Design patterns for building test clients for RESTful API applications
- Plugin system to allow for further customization

Installation
============

Core package
------------

From PyPI (recommended):

::

$ pip install opencafe

From source:

::

$ git clone https://github.com/CafeHub/opencafe.git
$ cd opencafe
$ pip install .

Post-install Configuration
--------------------------

Post-install, the ``cafe-config`` cli tool will become available. It is used
for installing plugins and initializing OpenCafe's default directory
structure.

Initialization
^^^^^^^^^^^^^^
Running the ``cafe-config init`` command will create the default OpenCafe
directory structure in a directory named ``.opencafe``. This directory will
be located in either the current user's home directory or in the root of the
virtual environment you currently have active. This directory contains the
``/configs`` directory which stores configuration data, the ``/logs``
directory which holds the logging output from all tests executed, and the
``engine.config`` file, which sets the base test repository and allows the
user to override the default directories for logging and configuration.

Plugins
^^^^^^^

OpenCafe uses a plugin system to allow for core functionality to be extended
or for additional capabilities to be added. Plugins are essentially Python
packages, which may have their own Python dependencies. This design allows
implementors to only install dependencies for the functionality that they
intend to use, as the additional dependencies are installed at the same time
as the plugin.

The ``cafe-config plugins`` command is used to list and install plugins.

Example:

::

$ cafe-config plugins list
=================================
* Available Plugins
... elasticsearch
... http
... mongo
... pathos_multiprocess
... rsyslog
... skip_on_issue
... soap
... ssh
... sshv2
... subunit
... winrm
=================================

$ cafe-config plugins install http
=================================
* Installing Plugins
... http
=================================

Documentation
-------------

More in-depth documentation about the OpenCafe framework is located at
http://opencafe.readthedocs.org.

How to Contribute
-----------------

Contributions are always welcome. The CONTIBUTING.md file contains further
guidance on submitting changes to this project and the review process that
we follow.

Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7

Metadata

Release files for opencafe 0.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opencafe 0.3.5
File Size Uploaded
opencafe-0.3.5.tar.gz 92.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for opencafe 0.3.5
File Interpreter ABI Platform
opencafe-0.3.5-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 253.9 kB

Release files / opencafe-0.3.5.tar.gz

Download URL opencafe-0.3.5.tar.gz
Size 92.5 kB
Tags Source
SHA-256 checksum
How to use checksums
069d0a9ede188f2d205d85fea68d9e3e51a759c17d7f41098d6b99a291f565ab
BLAKE2b-256 checksum
How to use checksums
739bfb07a47c5033669ba94f1041464bb546a3bf8ee162b31a95f3c6f4a1c5e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / opencafe-0.3.5-py2.py3-none-any.whl

Download URL opencafe-0.3.5-py2.py3-none-any.whl
Size 161.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
af0fe0a53df23d69416ffc7af6c2c6ea512a4c9f85621ead0d719e384b3cea81
BLAKE2b-256 checksum
How to use checksums
5f25f1fab2020fc2040593ac85816742a0f84d34142635111b04b533e49a95b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.5 This release

2 release files

0.3.4

2 release files

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.1

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page