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] + )