fune/taskcluster/taskgraph/test/test_taskgraph.py
Kalpesh Krishna e5474c6adb Bug 1285755 - Adding a from_json function to TaskGraph and each Task subclass. r=dustin
MozReview-Commit-ID: 8fmALSP8nDs

--HG--
extra : rebase_source : 52729a77206498ca32e716ae3774e21f6329f805
2016-07-11 22:39:04 +05:30

43 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()