def test_empty_dep_tree(self): package_json = {"name": "license", "version": "7.8.8", "dependencies": {}} tree_data = {} tree = get_dependency_tree(tree_data, package_json, {}) self.assertEqual(tree.name, "license") self.assertEqual(tree.version, "7.8.8")
def test_circular_dep_tree(self): package_json = { "name": "license", "version": "7.8.8", "dependencies": { "@babel/helper-create-class-features-plugin": "7.5.5" }, } tree_data = { "@babel/[email protected]": { "name": "@babel/helper-create-class-features-plugin", "version": "7.5.5", "dependencies": { "[email protected]": { "name": "features-plugin", "version": "7.5.5", } }, }, "[email protected]": { "name": "features-plugin", "version": "7.5.5", "dependencies": { "@babel/[email protected]": { "name": "@babel/helper-create-class-features-plugin", "version": "7.5.5", } }, }, } package_map = { "@babel/[email protected]": "7.5.5" } tree = get_dependency_tree(tree_data, package_json, package_map) self.assertEqual(tree.children[0].name, "@babel/helper-create-class-features-plugin") self.assertEqual(tree.children[0].version, "7.5.5") self.assertEqual(tree.children[0].children[0].name, "features-plugin") self.assertEqual(tree.children[0].children[0].version, "7.5.5") self.assertEqual( tree.children[0].children[0].children[0].name, "@babel/helper-create-class-features-plugin", ) self.assertEqual(tree.children[0].children[0].children[0].version, "7.5.5") self.assertEqual( len(tree.children[0].children[0].children[0].children), 0)
def test_simple_dep_tree(self): package_json = { "name": "license", "version": "7.8.8", "dependencies": { "@babel/helper-create-class-features-plugin": "7.5.5" }, } tree_data = { "@babel/[email protected]": { "name": "@babel/helper-create-class-features-plugin", "version": "7.5.5", "dependencies": { "@babel/[email protected]": { "name": "@babel/helper-plugin-utils", "version": "7.0.0", "dependencies": { "[email protected]": { "name": "plugin-utils", "version": "7.0.0", } }, } }, } } package_map = { "@babel/[email protected]": "7.5.5", "@babel/[email protected]": "7.0.0", "[email protected]": "7.0.0", } tree = get_dependency_tree(tree_data, package_json, package_map) self.assertEqual(tree.children[0].name, "@babel/helper-create-class-features-plugin") self.assertEqual(tree.children[0].version, "7.5.5") self.assertEqual(tree.children[0].children[0].name, "@babel/helper-plugin-utils") self.assertEqual(tree.children[0].children[0].version, "7.0.0") self.assertEqual(tree.children[0].children[0].children[0].name, "plugin-utils") self.assertEqual(tree.children[0].children[0].children[0].version, "7.0.0")
def test_multiple_main_dep_tree(self): package_json = { "name": "license", "version": "7.8.8", "dependencies": { "@babel/helper-create-class-features-plugin": "7.5.5", "plugin": "7.5.0", "@license/plugin": "0.5.5", }, } tree_data = { "@babel/[email protected]": { "name": "@babel/helper-create-class-features-plugin", "version": "1.2.3", "dependencies": {}, }, "[email protected]": { "name": "plugin", "version": "1.2.3", "dependencies": {} }, "@license/[email protected]": { "name": "plugin", "version": "0.5.5", "dependencies": {}, }, } package_map = { "@babel/[email protected]": "7.5.5", "@license/[email protected]": "0.5.5", "[email protected]": "7.5.0", } tree = get_dependency_tree(tree_data, package_json, package_map) self.assertEqual(len(tree.children), 3) self.assertEqual(tree.children[0].name, "@babel/helper-create-class-features-plugin") self.assertEqual(tree.children[0].version, "1.2.3") self.assertEqual(tree.children[1].name, "plugin") self.assertEqual(tree.children[1].version, "1.2.3") self.assertEqual(tree.children[2].name, "@license/plugin") self.assertEqual(tree.children[2].version, "0.5.5")