Changeset - eb4d09d4abd3
[Not reviewed]
4 4 0
Branko Majic (branko) - 7 years ago 2017-06-07 19:42:14
branko@majic.rs
MAR-22: Updated tests for common role to work against Debian Stretch:

- Use different package name in test playbook for MariaDB client development
libraries based on debian release.
- Be more specific in task that sets-up compatibility symbolic link for
mysql_config.
- Replaced one of the CA sample certificates to make tests less ambigious (use
different subject DN).
- Removed some unused CA certificates.
- Updated a couple of tests to distinguish between Debian Stretch and Debian
Jessie.
8 files changed with 52 insertions and 141 deletions:
0 comments (0 inline, 0 general)
roles/common/playbook.yml
Show inline comments
 
@@ -53,7 +53,7 @@
 
      common_packages:
 
        - units
 
        - gnutls-bin
 
        - libmariadb-client-lgpl-dev-compat
 
        - "{{ 'libmariadb-client-lgpl-dev-compat' if ansible_distribution_release == 'jessie' else 'libmariadbclient-dev-compat' if ansible_distribution_release == 'stretch' }}"
 
        - emacs24-nox
 
      ca_certificates:
 
        cacert1: "{{ lookup('file', 'tests/data/x509/ca1.cert.pem') }}"
roles/common/tasks/main.yml
Show inline comments
 
@@ -58,7 +58,7 @@
 

	
 
- name: Set-up MariaDB mysql_config symbolic link for compatibility (workaround for Debian bug 766996)
 
  file: src="/usr/bin/mariadb_config" dest="/usr/bin/mysql_config" state=link
 
  when: "'libmariadb-client-lgpl-dev-compat' in common_packages"
 
  when: "'libmariadb-client-lgpl-dev-compat' in common_packages and ansible_distribution_release == 'jessie'"
 

	
 
- name: Disable electric-indent-mode for Emacs by default for all users
 
  copy: src="01disable-electric-indent-mode.el" dest="/etc/emacs/site-start.d/01disable-electric-indent-mode.el"
roles/common/tests/data/x509/ca1-servercert.cert.pem
Show inline comments
 
deleted file
roles/common/tests/data/x509/ca2-servercert.cert.pem
Show inline comments
 
deleted file
roles/common/tests/data/x509/ca2.cert.pem
Show inline comments
 
-----BEGIN CERTIFICATE-----
 
MIIEWTCCAsGgAwIBAgIMWTb6IAa9IpANZOWIMA0GCSqGSIb3DQEBCwUAMEgxIjAg
 
BgNVBAMTGUV4YW1wbGUgSW5jLiBUZXN0IFNpdGUgQ0ExFTATBgNVBAoTDEV4YW1w
 
bGUgSW5jLjELMAkGA1UEBhMCU0UwHhcNMTcwNjA2MTg1MzIwWhcNMzcwNjAxMTg1
 
MzIwWjBIMSIwIAYDVQQDExlFeGFtcGxlIEluYy4gVGVzdCBTaXRlIENBMRUwEwYD
 
VQQKEwxFeGFtcGxlIEluYy4xCzAJBgNVBAYTAlNFMIIBojANBgkqhkiG9w0BAQEF
 
AAOCAY8AMIIBigKCAYEA8UIFx7M1UEL/uok4r4jJDUH8Ekbad7/nuz9CK0A1Amv2
 
P4aMb9TYyj4GDm7qdutHPD+Wlej3jKmjagUt9SYwyzW3B+b23AX4U1fFB0Mv6YUD
 
JxLkszYmhoD8Lo2uagwp6I3uJICm3DGB60RfGBwnjAPR5HWXj16k1n+q7V23V9cQ
 
BgF149elBjFCBFevz37XKwVhqmAx83NPg0pJkbID08UIIG30p5em8JCacCnCno0U
 
PJYEz3CALXRJ4WOT4QQrCS50ZQMjJVLg0FoKYaNG/Niru9gxKf3yaR9EV2lz+pnu
 
ClTNTzuSwvDob1o04Qd1kk61IwltH5+uYkG9U3UVsJNjpnfWvYOBKhr/DJjU1Jvf
 
cllqJeskrOI/DGLuojYZpUDfR0q4w5/FLJgKP8IVjQ1BJ1VDv2/o1BreZmCe5sy7
 
5S0M4BIFzwhRLmQMp+AYBJJdkGZ2NV2ehjDpEQCotta83AwyBVleNZnwUiGu+8aK
 
n3aY/l37pJadsi4C0C9bAgMBAAGjQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0P
 
AQH/BAUDAwcGADAdBgNVHQ4EFgQUyMhMQkaT/Vk21FismfCPRJe0yxowDQYJKoZI
 
hvcNAQELBQADggGBAA0nOxmYF5G3/f+S1yapvvScNsuOG8b3szMy9FwHDTYuyUPy
 
Gu+j+eTaP/yp4GVG6eMqyTjU7/zayZNBoq94A+ZKSUQgIsVSX6NaQliABj+voJw7
 
GY8o4b8ARhjCKQzl5Es60pDFEiRF++il7C5u7YuOWRqre8a7QwPLHe00hKRgylaz
 
EPSNDblDOgua8eVmPyf1ueAIiKtbOAOHpYVNK3xpXJlF6GvhFHlZ9Xw8jbpVwRAL
 
2xKC/yOMknXYu7aDEBmxOAuLUozaI80S5erJs8geBWR1xcsVSjTvhD5HQ2K1JLHJ
 
2fFtJI0CWOAe2zOfEQHN6L1OeQnSRVZlggATH1mXSuC2jed0Fje5pIDR+V6KHo0O
 
wDmucwNGE+9K9rOrC/+F2YXgrvNdd/WjMdMJGd8ZXXe8sM7ELb2YL/4oKTb38PF1
 
kwlony1tlWpyk8kWLWDMvEuSZzTuPHslgzpTrBXpXVmZaHKQKI6//wpw0SvROXcM
 
BYRHoCbVKN0F47haeA==
 
MIIEXTCCAsWgAwIBAgIMWTgiKTKw6gp9YCrdMA0GCSqGSIb3DQEBCwUAMEoxJDAi
 
BgNVBAMTG0V4YW1wbGUgSW5jLiBUZXN0IFNpdGUgQ0EgMjEVMBMGA1UEChMMRXhh
 
bXBsZSBJbmMuMQswCQYDVQQGEwJTRTAeFw0xNzA2MDcxNTU2MjVaFw0zNzA2MDIx
 
NTU2MjVaMEoxJDAiBgNVBAMTG0V4YW1wbGUgSW5jLiBUZXN0IFNpdGUgQ0EgMjEV
 
MBMGA1UEChMMRXhhbXBsZSBJbmMuMQswCQYDVQQGEwJTRTCCAaIwDQYJKoZIhvcN
 
AQEBBQADggGPADCCAYoCggGBALVpc5fo3CYvctSV712XGeuFH6kStmf7SI6snae9
 
Ej4hEaaH6U6EeH5Ty0dD/eATHnoXFYXhz+7Dxc+NtHrldUXCpsHldTr/W4heVt6y
 
huZmvGDNOeUi/c7xmlGEw9MeOCPQPmmcoUmNGeWQQZig1vuOPtKJlt3CmlBh9Qp1
 
fszlpQBG3ioI9HJvcs78POwjftIQ+XfMSc/28iSGJARRa8S9IF6Vm4aZkyeIxRbB
 
qoxhzIw+dMb8Lx6+Ss6v1bWfvwvz5sy9W2dTBRkBzbGJiHshvhLKG6kqWlJsGYRo
 
nce9L9BOlLdKTbcgBwA5DqNVECZWx+dxcB/rBCHsIFIbP9k3k8rUVqlVUW2UAVAU
 
QD7eD1d1zTK1D93UpbZypAiybVHHIs8IEWywTyRbufEhEY4xf1rnEmXiUUz0Lb/D
 
c3FSxzucZP9Lu9SuRu9l5Jmt3tnf2noNjExIESsI9LortNhec4h6X0Nco/GEBgPt
 
COoJEocXqYICDK7G5PDzIr6oOQIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8G
 
A1UdDwEB/wQFAwMHBgAwHQYDVR0OBBYEFDpPnttrAYLx7QIF8NCZwZxO009AMA0G
 
CSqGSIb3DQEBCwUAA4IBgQBmWxhUA30ZBZab8x0oglu7GYfyL4wNF79UYGjLUX1C
 
uEakVqbF7dt1wVDMEu8iA7qyO/LP4J53CUca3l7fxXzM420nS03qN0Ql5hPqI9QH
 
dJJQiinKaOEHgIFwUFWbQ9AVW5m+yrBUK8VioYyx7djDl26Rc1khjx20Xjj+VScY
 
bIonfSs2wH3XTy56LCng/tA8tWQ78e9qKsc01p1GjicUuJeIVI5wKjnptferiRes
 
F2cQ8q0e554WCp1PAZ/sAtjY1J9gWFmg4MA+/eTT/I88KPuniRt0o5yobcdiy+jX
 
XyrtY5gTbGrY83IFE1rxYSbsvFUfAcfm4Pm4pa3GHrr8r9eW2CT5/ZErZdMTPtxt
 
B1QyExx9FK4+cPC1zMy+gTNdqenA12rOK62BtZ38jXiOmf2883kEqibh8bEROhYe
 
xEcN1c0810Gf/05PmkR8jF5XKCH7H8akVSJ5obExCWilJjQObkYBI8egQRPFyy2g
 
jgypn2kiGJBkYnU4qTS4aQM=
 
-----END CERTIFICATE-----
roles/common/tests/data/x509/ca3-not-deployed.cert.pem
Show inline comments
 
deleted file
roles/common/tests/data/x509/ca3-servercert.cert.pem
Show inline comments
 
deleted file
roles/common/tests/test_parameters_optional.py
Show inline comments
 
@@ -35,14 +35,23 @@ def test_bash_prompt_content(File):
 
    assert "export PS1='\\[\\e]0;\\u@\\h: \\w\\a\\]${debian_chroot:+($debian_chroot)}\\u@\\h[test]:\\w\\$ '" in config.content
 

	
 

	
 
def test_common_installed_packages_common(Package):
 
def test_common_installed_packages_common(Ansible, Package):
 
    """
 
    Tests that user-provided common packages have been installed.
 
    """
 

	
 
    debian_release = Ansible("setup")["ansible_facts"]["ansible_distribution_release"]
 

	
 
    assert Package('units').is_installed
 
    assert Package('gnutls-bin').is_installed
 
    assert Package('libmariadb-client-lgpl-dev-compat').is_installed
 

	
 
    # Different name of package in different Debian releases.
 
    if debian_release == 'jessie':
 
        assert Package('libmariadb-client-lgpl-dev-compat').is_installed
 
    elif debian_release == 'stretch':
 
        assert Package('libmariadbclient-dev-compat').is_installed
 
    else:
 
        raise Exception("Cannot run this test on debian release: %s" % debian_release)
 

	
 

	
 
def test_ssh_login_mechanisms():
 
@@ -62,16 +71,19 @@ def test_ssh_login_mechanisms():
 
        assert err.allowed_types == ['publickey']
 

	
 

	
 
def test_mariadb_mysql_config_symlink(File):
 
def test_mariadb_mysql_config_symlink(Ansible, File):
 
    """
 
    Tests if symbolic link has been set-up for mariadb_config binary to be
 
    accessible as mysql_config as well.
 

	
 
    Only applicable to Debian Jessie.
 
    """
 

	
 
    mysql_config = File('/usr/bin/mysql_config')
 
    if Ansible("setup")["ansible_facts"]["ansible_distribution_release"] == 'jessie':
 
        mysql_config = File('/usr/bin/mysql_config')
 

	
 
    assert mysql_config.is_symlink
 
    assert mysql_config.linked_to == '/usr/bin/mariadb_config'
 
        assert mysql_config.is_symlink
 
        assert mysql_config.linked_to == '/usr/bin/mariadb_config'
 

	
 

	
 
def test_emacs_electric_indent_mode(File):
 
@@ -181,13 +193,13 @@ def test_ca_certificates(File):
 
    assert ca1_cert_symlink.is_symlink
 
    assert ca1_cert_symlink.linked_to == '/usr/local/share/ca-certificates/cacert1.crt'
 

	
 
    ca1_cert_hash_1 = File('/etc/ssl/certs/3ce70b58.1')
 
    ca1_cert_hash_1 = File('/etc/ssl/certs/3ce70b58.0')
 
    assert ca1_cert_hash_1.is_symlink
 
    assert ca1_cert_hash_1.linked_to == '/usr/local/share/ca-certificates/cacert1.crt'
 

	
 
    ca1_cert_hash_2 = File('/etc/ssl/certs/49f72a44.1')
 
    assert ca1_cert_hash_2.is_symlink
 
    assert ca1_cert_hash_2.linked_to == '/usr/local/share/ca-certificates/cacert1.crt'
 
    ca1_cert_hash_1 = File('/etc/ssl/certs/49f72a44.0')
 
    assert ca1_cert_hash_1.is_symlink
 
    assert ca1_cert_hash_1.linked_to == '/usr/local/share/ca-certificates/cacert1.crt'
 

	
 
    ca2_cert = File('/usr/local/share/ca-certificates/cacert2.crt')
 
    assert ca2_cert.is_file
 
@@ -199,13 +211,13 @@ def test_ca_certificates(File):
 
    assert ca2_cert_symlink.is_symlink
 
    assert ca2_cert_symlink.linked_to == '/usr/local/share/ca-certificates/cacert2.crt'
 

	
 
    ca2_cert_hash_1 = File('/etc/ssl/certs/3ce70b58.0')
 
    ca2_cert_hash_1 = File('/etc/ssl/certs/a52eec00.0')
 
    assert ca2_cert_hash_1.is_symlink
 
    assert ca2_cert_hash_1.linked_to == '/usr/local/share/ca-certificates/cacert2.crt'
 

	
 
    ca2_cert_hash_2 = File('/etc/ssl/certs/49f72a44.0')
 
    assert ca2_cert_hash_2.is_symlink
 
    assert ca2_cert_hash_2.linked_to == '/usr/local/share/ca-certificates/cacert2.crt'
 
    ca2_cert_hash_1 = File('/etc/ssl/certs/a0d2e9e4.0')
 
    assert ca2_cert_hash_1.is_symlink
 
    assert ca2_cert_hash_1.linked_to == '/usr/local/share/ca-certificates/cacert2.crt'
 

	
 

	
 
def test_ferm_base_rules(Command, File, Sudo):
0 comments (0 inline, 0 general)