Merge "The task attributes substitution is called for all tasks"

This commit is contained in:
Jenkins
2016-05-30 10:17:40 +00:00
committed by Gerrit Code Review
4 changed files with 74 additions and 32 deletions

View File

@@ -134,10 +134,9 @@ class TestTaskSerializerContext(BaseUnitTest):
self.assertTrue(interpreter('old($.attribute).isUndef()'))
class TestDefaultTaskSerializer(BaseUnitTest):
class TestTaskSerializer(BaseUnitTest):
@classmethod
def setUpClass(cls):
cls.serializer_class = task_serializer.DefaultTaskSerializer
cls.context = task_serializer.Context(TransactionContext({
'1': {
'cluster': {'id': 1},
@@ -161,6 +160,13 @@ class TestDefaultTaskSerializer(BaseUnitTest):
}
}))
class TestDefaultTaskSerializer(TestTaskSerializer):
@classmethod
def setUpClass(cls):
super(TestDefaultTaskSerializer, cls).setUpClass()
cls.serializer_class = task_serializer.DefaultTaskSerializer
def check_condition(self, condition, expected):
task_template = {
'id': 'test',
@@ -277,6 +283,32 @@ class TestDefaultTaskSerializer(BaseUnitTest):
)
class TestNoopTaskSerialzer(TestTaskSerializer):
@classmethod
def setUpClass(cls):
super(TestNoopTaskSerialzer, cls).setUpClass()
cls.serializer_class = task_serializer.NoopTaskSerializer
def test_serialize(self):
task_template = {
'id': 'test',
'type': 'skipped',
'parameters': {},
'fail_on_error': True,
'requires': {'yaql_exp': '["deploy_start"]'},
'required_for': ['deploy_end'],
}
serializer = self.serializer_class(self.context, task_template)
serialized = serializer.serialize('1')
self.assertEqual(
{
'id': 'test', 'type': 'skipped', 'fail_on_error': False,
'requires': ['deploy_start'], 'required_for': ['deploy_end']
},
serialized
)
class TestTasksSerializersFactory(BaseUnitTest):
factory_class = task_serializer.TasksSerializersFactory