summaryrefslogtreecommitdiff
path: root/ick2/projectapi_tests.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-04-19 22:31:01 +0300
committerLars Wirzenius <liw@liw.fi>2018-04-19 22:31:01 +0300
commitf11a8ecd409f280759af7227db52b1e87e389092 (patch)
tree191dc9e4dda2444fb65bcf097056ef37d5a685bc /ick2/projectapi_tests.py
parent04e899ded340bc0fd3afd6b0a62dff22c182e735 (diff)
downloadick2-f11a8ecd409f280759af7227db52b1e87e389092.tar.gz
Change: trigger a project, build all pipelines in the project
Diffstat (limited to 'ick2/projectapi_tests.py')
-rw-r--r--ick2/projectapi_tests.py107
1 files changed, 30 insertions, 77 deletions
diff --git a/ick2/projectapi_tests.py b/ick2/projectapi_tests.py
index 96242ef..2ef1dbe 100644
--- a/ick2/projectapi_tests.py
+++ b/ick2/projectapi_tests.py
@@ -19,6 +19,9 @@ import tempfile
import unittest
+import yaml
+
+
import ick2
@@ -44,15 +47,6 @@ class ProjectAPITests(unittest.TestCase):
self.assertEqual(api.list(), {'projects': []})
def test_creates_project(self):
- pipeline = {
- 'pipeline': 'build',
- 'actions': [
- {'shell': 'step-1'},
- ],
- }
- pipeapi = self.create_pipeline_api()
- pipeapi.create(pipeline)
-
project = {
'project': 'foo',
'pipelines': ['build'],
@@ -61,32 +55,19 @@ class ProjectAPITests(unittest.TestCase):
},
}
api = self.create_api()
-
new = api.create(project)
project['next_build_id'] = None
self.assertEqual(new, project)
self.assertEqual(api.list(), {'projects': [new]})
- self.assertEqual(api.get_pipeline('foo', 'build'), {'status': 'idle'})
- self.assertEqual(api.get_pipeline('foo', 'build'), {'status': 'idle'})
+ dirname = os.path.join(self.statedir, 'projects')
+ filename = os.listdir(dirname)[0]
+ obj = yaml.safe_load(open(os.path.join(dirname, filename)))
+ self.assertEqual(api.get_status('foo'), {'status': 'idle'})
- def test_raises_error_when_getting_missing_pipeline(self):
- project = {
- 'project': 'foo',
- 'pipelines': [
- {
- 'pipeline': 'build',
- 'actions': [
- {
- 'shell': 'step-1',
- },
- ],
- },
- ],
- }
+ def test_raises_error_when_getting_missing_project_status(self):
api = self.create_api()
- api.create(project)
with self.assertRaises(ick2.NotFound):
- api.get_pipeline('foo', 'does-not-exist')
+ api.get_status('does-not-exist')
def test_loads_projects_from_state_directory(self):
project = {
@@ -141,61 +122,33 @@ class ProjectAPITests(unittest.TestCase):
with self.assertRaises(ick2.NotFound):
api.delete('foo')
- def test_updates_pipeline_status(self):
- pipeline = {
- 'pipeline': 'build',
- 'actions': [
- {'shell': 'step-1'},
- ],
- }
- pipeapi = self.create_pipeline_api()
- pipeapi.create(pipeline)
-
+ def test_updates_project_status(self):
project = {
'project': 'foo',
- 'pipelines': ['build'],
}
api = self.create_api()
api.create(project)
- self.assertEqual(api.get_pipeline('foo', 'build'), {'status': 'idle'})
- self.assertEqual(pipeapi.show('build'), pipeline)
-
- with self.assertRaises(ick2.WrongPipelineStatus):
- api.set_pipeline('building', 'foo', 'build')
-
- api.set_pipeline('triggered', 'foo', 'build')
- self.assertEqual(pipeapi.show('build'), pipeline)
- self.assertEqual(
- api.get_pipeline('foo', 'build'),
- {'status': 'triggered'}
- )
-
- with self.assertRaises(ick2.WrongPipelineStatus):
- api.set_pipeline('idle', 'foo', 'build')
-
- api.set_pipeline('building', 'foo', 'build')
- self.assertEqual(pipeapi.show('build'), pipeline)
- self.assertEqual(
- api.get_pipeline('foo', 'build'),
- {'status': 'building'}
- )
-
- with self.assertRaises(ick2.WrongPipelineStatus):
- api.set_pipeline('triggered', 'foo', 'build')
-
- api.set_pipeline('idle', 'foo', 'build')
- self.assertEqual(pipeapi.show('build'), pipeline)
- self.assertEqual(
- api.get_pipeline('foo', 'build'),
- {'status': 'idle'}
- )
+ self.assertEqual(api.get_status('foo'), {'status': 'idle'})
+
+ with self.assertRaises(ick2.WrongProjectStatus):
+ api.set_status('foo', 'build')
+
+ api.set_status('foo', 'triggered')
+ self.assertEqual(api.get_status('foo'), {'status': 'triggered'})
+
+ with self.assertRaises(ick2.WrongProjectStatus):
+ api.set_status('foo', 'idle')
+
+ api.set_status('foo', 'building')
+ self.assertEqual(api.get_status('foo'), {'status': 'building'})
+
+ with self.assertRaises(ick2.WrongProjectStatus):
+ api.set_status('foo', 'triggered')
+
+ api.set_status('foo', 'idle')
+ self.assertEqual(api.get_status('foo'), {'status': 'idle'})
def test_raises_error_updating_status_of_missing_pipeline(self):
- project = {
- 'project': 'foo',
- 'pipelines': [],
- }
api = self.create_api()
- api.create(project)
with self.assertRaises(ick2.NotFound):
- api.set_pipeline('idle', 'foo', 'build')
+ api.set_status('does-not-exist', 'triggered')