Files
tubestation/taskcluster/taskgraph/test/test_taskgraph.py
2016-07-11 22:39:04 +05:30

44 lines
1.5 KiB
Python

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from __future__ import absolute_import, print_function, unicode_literals
import unittest
from ..graph import Graph
from ..kind.docker_image import DockerImageTask
from ..kind.legacy import LegacyTask
from ..taskgraph import TaskGraph
from mozunit import main
class TestTargetTasks(unittest.TestCase):
def test_from_json(self):
legacy_dict = {
'attributes': {'kind': 'legacy'},
'task': {},
'dependencies': {},
'label': 'a',
'kind_implementation': 'taskgraph.kind.legacy:LegacyTask'
}
graph = TaskGraph(tasks={
'a': LegacyTask(kind='legacy',
label='a',
attributes={},
task={},
task_dict=legacy_dict),
'b': DockerImageTask(kind='docker-image',
label='b',
attributes={},
task={"routes": []},
index_paths=[]),
}, graph=Graph(nodes={'a', 'b'}, edges=set()))
tasks, new_graph = TaskGraph.from_json(graph.to_json(), "taskcluster/ci")
self.assertEqual(graph, new_graph)
if __name__ == '__main__':
main()