From 5d92f12f8e33506c986efdf366371a372f3594bb Mon Sep 17 00:00:00 2001 From: d11wtq Date: Sun, 8 Jun 2014 10:58:13 +0000 Subject: [PATCH] Add unit tests for include_links in get_services() Signed-off-by: Chris Corbyn --- tests/unit/project_test.py | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/tests/unit/project_test.py b/tests/unit/project_test.py index 7c0ee4cd9..0703ae782 100644 --- a/tests/unit/project_test.py +++ b/tests/unit/project_test.py @@ -93,3 +93,44 @@ class ProjectTest(unittest.TestCase): ) project = Project('test', [web, console], None) self.assertEqual(project.get_services(['console']), [console]) + + def test_get_services_with_include_links(self): + db = Service( + project='figtest', + name='db', + ) + web = Service( + project='figtest', + name='web', + links=[(db, 'database')] + ) + cache = Service( + project='figtest', + name='cache' + ) + console = Service( + project='figtest', + name='console', + links=[(web, 'web')] + ) + project = Project('test', [web, db, cache, console], None) + self.assertEqual( + project.get_services(['console'], include_links=True), + [db, web, console] + ) + + def test_get_services_removes_duplicates_following_links(self): + db = Service( + project='figtest', + name='db', + ) + web = Service( + project='figtest', + name='web', + links=[(db, 'database')] + ) + project = Project('test', [web, db], None) + self.assertEqual( + project.get_services(['web', 'db'], include_links=True), + [db, web] + )