Skip to main content

OpenStack APIs for the Stack-In-A-Box Testing Suite

Project description

Stack-In-A-Box-based OpenStack Services for use with Testing Framesworks

Travis-CI Status Coverage Status Gitter

Overview

Stack-In-A-Box provides the ability to use mocked RESTful APIs naturally inside unit tests by using modules such as HTTPretty or Requests-Mock. OpenStack-In-A-Box provides a series of mocked OpenStack Services inside the Stack-In-A-Box framework, thus providing a reliable mock-up of the OpenStack Services that can be utilized by applications written against them.

Installing

Installation is simple:

pip install openstackinabox

Goals

  • Enable Python modules to be unit tested against OpenStack services in an environment controlled by the unit tests.

  • Provide reliable, accurate mock-ups of the services

  • Enable unit testing to not have to mock the various tools, e.g KeystoneClient API, to perform their tests.

  • Support both Positive and Negative testing

  • Testing should be easy to do:

    • you should not necessarily need to know the ins and outs of each service

    • you should be able to register what you need (f.e authenticaiton, storage) and have it just work

  • should be usable on systems like Travis (https://travis-ci.org/)

  • should be light on requirements

    • we do not want to bloat your testing to fit our needs

    • if we have many requirements they could interfere with your requirements

  • The code being unit-tested should not be able to tell the difference of whether it is working with OpenStack-In-A-Box or the real thing

    • there should be nothing special about setting up the test

    • if you don’t turn on OpenStack-In-A-Box (and Stack-In-A-Box upon which it is built) then the code should be able to call the real thing

    • caveat: the utility tools (f.e httpretty, requests-mock) will determine the URL for the services being provided; see Stack-In-A-Box for details.

Why not use framekwork X?

This is a natural extension of Stack-In-A-Box to provide OpenStack services to the unit testing being done. If you are using Stack-In-A-Box then it makes sense to also use OpenStack-In-A-Box as it is simply providing a compatible set of OpenStack services that simply need to be registered with Stack-In-A-Box.

What’s Provided?

Current work is on supporting the OpenStack Keystone v2 services. See the Issues and Milestone for more details.

Working with Frameworks

OpenStack-In-A-Box builds on Stack-In-A-Box. Simply instantiate the desired service and register it with Stack-In-A-Box.

References

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

openstackinabox-0.2.tar.gz (61.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openstackinabox-0.2-py3-none-any.whl (99.6 kB view details)

Uploaded Python 3

File details

Details for the file openstackinabox-0.2.tar.gz.

File metadata

  • Download URL: openstackinabox-0.2.tar.gz
  • Upload date:
  • Size: 61.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for openstackinabox-0.2.tar.gz
Algorithm Hash digest
SHA256 b49b81b195650fdbe65a45cfc5503ac1afa647c0208647adaab3a0fa8788693b
MD5 b8bedf58d96a37ee780276f98f34918c
BLAKE2b-256 b227dc73e70b8707cb9f0d430dcf08b4f225aceb26859465a0a8833caa6474e5

See more details on using hashes here.

File details

Details for the file openstackinabox-0.2-py3-none-any.whl.

File metadata

  • Download URL: openstackinabox-0.2-py3-none-any.whl
  • Upload date:
  • Size: 99.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for openstackinabox-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 175b789824d5ee1eb3a689289510741fbe00cde51afc1b24aa527eca7e95cd6c
MD5 ed43d0923412b6b005f36b31a1d41249
BLAKE2b-256 b8736127b56242c24b15db8cdfee8f5b61f4f26bf6b0a41190e862f5a395a91e

See more details on using hashes here.

Supported by

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