Add .gitreview and clean up repo

Update tox.ini to lint unit_tests, clean lint.

Add src/README.md placeholder to prevent inheritence of the
lower layer readme file in the built charm.

Add src/tox.ini and test-requirements for Amulet prep.

Update metadata.yaml for series.

Update tox.ini to minimize and clarify pep8 ignores.

Resolve flake8/pbr test-requirements version range conflict.

Mock apt in unit tests.

Add required tags data in src/metadata.yaml for charm proof.

Use openstack/charms.openstack proper in test-requirements
instead of a user space fork.

Update src/layer.yaml repo value to point to official location
and remove unnecessary options.

Change-Id: I5ca9e6cf9f8f91b3ce0ec3b48cf63535ca37c0f7
This commit is contained in:
Ryan Beisner 2016-08-02 20:32:27 +00:00
parent a1d134bccd
commit bb82897cda
12 changed files with 98 additions and 10 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@ layers
interfaces
trusty
.testrepository
__pycache__

4
.gitreview Normal file
View File

@ -0,0 +1,4 @@
[gerrit]
host=review.openstack.org
port=29418
project=openstack/charm-barbican-softhsm.git

1
src/README.md Normal file
View File

@ -0,0 +1 @@
# Write me

View File

@ -1,5 +1,3 @@
includes: ['layer:openstack', 'interface:barbican-hsm']
options:
basic:
use_venv: True
include_system_packages: True
repo: https://github.com/openstack/charm-barbican-softhsm

View File

@ -1,6 +1,12 @@
name: barbican-softhsm
summary: The softhsm security module for the barbican charm service
maintainer: OpenStack Charmers <openstack-charmers@lists.ubuntu.com>
tags:
- openstack
series:
# Trusty disabled pending https://bugs.launchpad.net/bugs/1609498
# - trusty
- xenial
subordinate: true
description: |
Barbican provides a secure storage for keys and other secrets and

20
src/test-requirements.txt Normal file
View File

@ -0,0 +1,20 @@
# charm-proof
charm-tools>=2.0.0
# amulet deployment helpers
bzr+lp:charm-helpers#egg=charmhelpers
# BEGIN: Amulet OpenStack Charm Helper Requirements
# Liberty client lower constraints
amulet>=1.14.3,<2.0
bundletester>=0.6.1,<1.0
python-keystoneclient>=1.7.1,<2.0
python-designateclient>=1.5,<2.0
python-cinderclient>=1.4.0,<2.0
python-glanceclient>=1.1.0,<2.0
python-heatclient>=0.8.0,<1.0
python-neutronclient>=3.1.0,<4.0
python-novaclient>=2.30.1,<3.0
python-openstackclient>=1.7.0,<2.0
python-swiftclient>=2.6.0,<3.0
pika>=0.10.0,<1.0
distro-info
# END: Amulet OpenStack Charm Helper Requirements

1
src/tests/README.md Normal file
View File

@ -0,0 +1 @@
TODO: write Amulet tests.

54
src/tox.ini Normal file
View File

@ -0,0 +1,54 @@
[tox]
envlist = pep8
skipsdist = True
[testenv]
envdir = .tox/py27
setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0
AMULET_SETUP_TIMEOUT=2700
passenv = HOME TERM AMULET_HTTP_PROXY AMULET_OS_VIP
deps = -r{toxinidir}/test-requirements.txt
install_command =
pip install --allow-unverified python-apt {opts} {packages}
[testenv:pep8]
basepython = python2.7
commands = charm-proof
[testenv:func27-noop]
# DRY RUN - For Debug
basepython = python2.7
commands =
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" -n --no-destroy
[testenv:func27]
# Charm Functional Test
# Run all gate tests which are +x (expected to always pass)
basepython = python2.7
commands =
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" --no-destroy
[testenv:func27-smoke]
# Charm Functional Test
# Run a specific test as an Amulet smoke test (expected to always pass)
basepython = python2.7
commands =
bundletester -vl DEBUG -r json -o func-results.json gate-basic-xenial-mitaka --no-destroy
[testenv:func27-dfs]
# Charm Functional Test
# Run all deploy-from-source tests which are +x (may not always pass!)
basepython = python2.7
commands =
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "dfs-*" --no-destroy
[testenv:func27-dev]
# Charm Functional Test
# Run all development test targets which are +x (may not always pass!)
basepython = python2.7
commands =
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "dev-*" --no-destroy
[testenv:venv]
commands = {posargs}

View File

@ -1,6 +1,7 @@
flake8>=2.2.4,<=2.4.1
# Lint and unit test requirements
flake8
os-testr>=0.4.1
charms.reactive
mock>=1.2
coverage>=3.6
git+https://github.com/ajkavanagh/charms.openstack.git#egg=charms-openstack
git+https://github.com/openstack/charms.openstack.git#egg=charms-openstack

View File

@ -1,6 +1,6 @@
[tox]
skipsdist = True
envlist = generate
envlist = pep8,py34,py35
skip_missing_interpreters = True
[testenv]
@ -35,10 +35,11 @@ commands = ostestr {posargs}
[testenv:pep8]
basepython = python2.7
deps = -r{toxinidir}/test-requirements.txt
commands = flake8 {posargs} src
commands = flake8 {posargs} src unit_tests
[testenv:venv]
commands = {posargs}
[flake8]
ignore = E402,E226
# E402 ignore necessary for path append before sys module import in actions
ignore = E402

View File

@ -21,6 +21,8 @@ sys.path.append('src/lib')
# Mock out charmhelpers so that we can test without it.
# also stops sideeffects from occuring.
charmhelpers = mock.MagicMock()
apt_pkg = mock.MagicMock()
sys.modules['apt_pkg'] = apt_pkg
sys.modules['charmhelpers'] = charmhelpers
sys.modules['charmhelpers.core'] = charmhelpers.core
sys.modules['charmhelpers.core.hookenv'] = charmhelpers.core.hookenv

View File

@ -224,4 +224,3 @@ class TestBarbicanSoftHSMCharm(Helper):
"login": 'abcd',
"slot_id": '10'
})