~canonical-is-sa/charms/xenial/jenkins/trunk

« back to all changes in this revision

Viewing changes to tests/nrpe.py

  • Committer: Jacek Nykis
  • Date: 2017-11-09 11:29:09 UTC
  • Revision ID: jacek.nykis@canonical.com-20171109112909-icukk8ta15sqraen
Commiting compose charm. See https://github.com/jenkinsci/jenkins-charm/pull/44 and RT#106744

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from deployment import DeploymentTest
 
2
from basic import BasicDeploymentSpec
 
3
 
 
4
 
 
5
class NRPEDeploymentSpec(BasicDeploymentSpec):
 
6
 
 
7
    def _pre_setup_10_website(self):
 
8
        """Set up the deployment in the class."""
 
9
        self.deployment.add("nrpe")
 
10
        self.deployment.relate("jenkins:nrpe-external-master",
 
11
                               "nrpe:nrpe-external-master")
 
12
 
 
13
 
 
14
class NRPEDeploymentTest(DeploymentTest):
 
15
 
 
16
    def _verify_nrpe(self):
 
17
        nrpe_file = '/etc/nagios/nrpe.d/check_jenkins_http.cfg'
 
18
        nagios_cmd = "sudo -u nagios $(grep -e " + \
 
19
                     "'/usr/lib/nagios/plugins/check_http' " + \
 
20
                     "{} | cut -d'=' -f2-)".format(nrpe_file)
 
21
        _, return_code = self.spec.jenkins.run(nagios_cmd)
 
22
        self.assertEqual(return_code, 0)
 
23
 
 
24
    def test_00_nrpe_relation(self):
 
25
        """Validate that the Jenkins nagios check is setup."""
 
26
        self._verify_nrpe()
 
27
 
 
28
    def test_10_nrpe_relation_url_change(self):
 
29
        """Validate the Jenkins nagios check after a url change."""
 
30
        charm_name = self.spec.deployment.charm_name
 
31
        public_url = "http://public.jenkins:8080/jenkins"
 
32
        self.spec.deployment.configure(charm_name, {"public-url": public_url})
 
33
        self.spec.deployment.sentry.wait()
 
34
 
 
35
        self._verify_nrpe()