summaryrefslogtreecommitdiffstats
path: root/tools/pharos-dashboard/jenkins/tests.py
diff options
context:
space:
mode:
authorJack Morgan <jack.morgan@intel.com>2016-08-22 14:13:06 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2016-08-22 14:13:06 +0000
commitc121ae90322dac5cf72e98450c89ff7e5131b20c (patch)
tree51b6c58e102777649940686915da48aab5971fac /tools/pharos-dashboard/jenkins/tests.py
parente4649cce49068942ef754746fdd5bc75636075de (diff)
parent3b5ef3b0a88247eeafeee878de528aad71f9fd4b (diff)
Merge "Split the dashboard into different apps, add tests"
Diffstat (limited to 'tools/pharos-dashboard/jenkins/tests.py')
-rw-r--r--tools/pharos-dashboard/jenkins/tests.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/pharos-dashboard/jenkins/tests.py b/tools/pharos-dashboard/jenkins/tests.py
new file mode 100644
index 00000000..b1414515
--- /dev/null
+++ b/tools/pharos-dashboard/jenkins/tests.py
@@ -0,0 +1,42 @@
+from unittest import TestCase
+
+import jenkins.adapter as jenkins
+
+
+# Tests that the data we get with the jenkinsadapter contains all the
+# data we need. These test will fail if;
+# - there is no internet connection
+# - the opnfv jenkins url has changed
+# - the jenkins api has changed
+# - jenkins is not set up / there is no data
+class JenkinsAdapterTestCase(TestCase):
+ def test_get_all_slaves(self):
+ slaves = jenkins.get_all_slaves()
+ self.assertTrue(len(slaves) > 0)
+ for slave in slaves:
+ self.assertTrue('displayName' in slave)
+ self.assertTrue('idle' in slave)
+ self.assertTrue('offline' in slave)
+
+ def test_get_ci_slaves(self):
+ slaves = jenkins.get_ci_slaves()
+ self.assertTrue(len(slaves) > 0)
+ for slave in slaves:
+ self.assertTrue('nodeName' in slave)
+
+ def test_get_all_jobs(self):
+ jobs = jenkins.get_all_jobs()
+ lastBuild = False
+ self.assertTrue(len(jobs) > 0)
+ for job in jobs:
+ self.assertTrue('displayName' in job)
+ self.assertTrue('url' in job)
+ self.assertTrue('lastBuild' in job)
+ if job['lastBuild'] is not None:
+ lastBuild = True
+ self.assertTrue('building' in job['lastBuild'])
+ self.assertTrue('fullDisplayName' in job['lastBuild'])
+ self.assertTrue('result' in job['lastBuild'])
+ self.assertTrue('timestamp' in job['lastBuild'])
+ self.assertTrue('builtOn' in job['lastBuild'])
+ self.assertTrue(lastBuild)