Ejemplo n.º 1
0
 def test_extract_npm_licenses_global_multiple(self):
     data = json.loads("""{
         "name": "name",
         "licenses": [{"type":"MIT"}, {"type":"Apache"}]
     }""")
     name = extract_npm_license(data, "Unknown")
     self.assertEqual(name, "MIT AND Apache")
Ejemplo n.º 2
0
 def test_extract_npm_licenses_global_empty(self):
     data = json.loads("""{
         "name": "name",
         "licenses": []
     }""")
     name = extract_npm_license(data, "Unknown")
     self.assertEqual(name, None)
Ejemplo n.º 3
0
 def test_extract_npm_license_simple(self):
     data = json.loads("""{
         "name": "name",
         "license": "MIT"
     }""")
     name = extract_npm_license(data, "Unknown")
     self.assertEqual(name, "MIT")
Ejemplo n.º 4
0
 def test_extract_npm_licenses_global_single_string(self):
     data = json.loads("""{
         "name": "name",
         "licenses": ["MIT"]
     }""")
     name = extract_npm_license(data, "Unknown")
     self.assertEqual(name, "MIT")
Ejemplo n.º 5
0
 def test_extract_npm_license_no_versions(self):
     data = json.loads(
         """{
         "name": "name"
     }"""
     )
     name = extract_npm_license(data, "1.0.0")
     self.assertEqual(name, None)
Ejemplo n.º 6
0
 def test_extract_npm_license_None_version(self):
     data = json.loads(
         """{
         "name": "name"
     }"""
     )
     name = extract_npm_license(data, "Unknown")
     self.assertEqual(name, None)
Ejemplo n.º 7
0
 def test_extract_npm_license_no_version_license(self):
     data = json.loads("""{
         "name": "name",
         "versions": {
             "1.0.0": {}
         }
     }""")
     name = extract_npm_license(data, "1.0.0")
     self.assertEqual(name, UNKNOWN)
Ejemplo n.º 8
0
 def test_extract_npm_license_no_version(self):
     data = json.loads("""{
         "name": "name",
         "versions": {
             "6.6.6": {
                 "license": "APACHE"
             }
         }
     }""")
     name = extract_npm_license(data, "1.0.0")
     self.assertEqual(name, None)
Ejemplo n.º 9
0
 def test_extract_npm_licenses_specific_version_multiple(self):
     data = json.loads("""{
         "name": "name",
          "versions": {
             "1.0.0": {
                 "licenses": [{"type":"MIT"}, {"type":"Apache"}]
             }
         }
     }""")
     name = extract_npm_license(data, "1.0.0")
     self.assertEqual(name, "MIT AND Apache")
Ejemplo n.º 10
0
 def test_extract_npm_license_global_priority(self):
     data = json.loads("""{
         "name": "name",
         "versions": {
             "1.0.0": {
                 "license": "APACHE"
             }
         },
         "license": "MIT"
     }""")
     name = extract_npm_license(data, "1.0.0")
     self.assertEqual(name, "MIT")
Ejemplo n.º 11
0
    async def fetch_concurrent(urls):
        loop = asyncio.get_event_loop()
        async with aiohttp.ClientSession() as session:
            tasks = []
            for url, version in urls:
                tasks.append(loop.create_task(fetch(session, url, version)))

            for result in asyncio.as_completed(tasks):
                try:
                    output, version = await result
                    page = json.loads(output)
                    if ("name") in page:
                        license_map[f"{page['name']}@{version}"] = extract_npm_license(
                            page, version
                        )

                except json.JSONDecodeError:
                    pass
Ejemplo n.º 12
0
 def test_extract_npm_license_None_data(self):
     name = extract_npm_license(None, None)
     self.assertEqual(name, None)