コード例 #1
0
    def test_curate_license(self):
        files = sample_data.files()

        # Make sure, no curations
        for f in files['included']:
            # No curation yet, so no 'scancode_manifestor'
            self.assertFalse('scancode_manifestor' in f)
            #print(f['path'] + ": " + str(f['license_expressions']) )

        self.utils._curate_license(files, "x11", "mit")

        for f in files['included']:
            if f['name'] == "readme.txt":
                # find the file readme.txt, which is licensed under x11 but curated to mit

                # curation, so 'scancode_manifestor' and 'curated_license' in there
                self.assertTrue('scancode_manifestor' in f)
                self.assertTrue('curated_license' in f['scancode_manifestor'])

                # only one original license
                self.assertTrue(len(f['license_expressions']) == 1)

                # original license should be "x11"
                self.assertTrue(f['license_expressions'][0] == "x11")

                # curated license should be "mit"
                self.assertTrue(
                    f['scancode_manifestor']['curated_license'] == "mit")

            else:
                # No curation, so no 'scancode_manifestor'
                #print(json.dumps(f, indent=4))
                self.assertFalse('scancode_manifestor' in f)
コード例 #2
0
    def test_include_only_license(self):

        files = sample_data.files()

        self.assertTrue(len(files['included']) == 6)
        self.assertTrue(len(files['excluded']) == 0)

        self.utils._filter_generic(files, FilterAttribute.LICENSE,
                                   "gpl-2.0-or-later", FilterAction.INCLUDE,
                                   FilterModifier.ANY)

        self.assertTrue(len(files['included']) == 2)
        self.assertTrue(len(files['excluded']) == 4)

        #print("inc: " + str(len(files['included'])))
        #for f in files['included']:
        #    import json
        #    print(" * " + str(f['path']) + str(f['license_expressions']))
        #print("exc: " + str(len(files['excluded'])))
        #for f in files['excluded']:
        #    print(" * " + str(f['path']) + str(f['license_expressions']))
        #print("")

        # try include ONLY license
        self.utils._filter_generic(files, FilterAttribute.LICENSE,
                                   "gpl-2.0-or-later", FilterAction.INCLUDE,
                                   FilterModifier.ONLY)

        self.assertTrue(len(files['included']) == 1)
        self.assertTrue(len(files['excluded']) == 5)
コード例 #3
0
 def test_dir_licenses(self):
     files = sample_data.files()
     dir = sample_data.sample_dir("git/dit")
     lic_list = list(self.utils._dir_licenses(files, dir, "included"))
     lic_list.sort()
     right_list = [
         'bsd-new', 'gpl-2.0-or-later', 'gpl-3.0-only', 'gpl-3.0-or-later',
         'mit'
     ]
     self.assertTrue(right_list == lic_list)
コード例 #4
0
    def test_include_bad_indata(self):
        files = sample_data.files()

        # None as liste
        self.assertRaises(
            Exception, lambda: self.utils._filter_generic(
                None, FilterAttribute.PATH, "onkey", FilterAction.INCLUDE,
                FilterModifier.ANY))

        # Existing but faulty list
        self.assertRaises(
            Exception, lambda: self.utils._filter_generic([
            ], FilterAttribute.PATH, "onkey", FilterAction.INCLUDE,
                                                          FilterModifier.ANY))
        # No filter
        self.assertRaises(
            Exception, lambda: self.utils._filter_generic(
                files, None, "onkey", FilterAction.INCLUDE, FilterModifier.ANY)
        )

        # Incorrect filter
        self.assertRaises(
            Exception, lambda: self.utils._filter_generic(
                files, "incrorect indata", "onkey", FilterAction.INCLUDE,
                FilterModifier.ANY))

        # Incorrect filter action
        self.assertRaises(
            Exception, lambda: self.utils._filter_generic(
                files, FilterAttribute.PATH, "onkey", None, FilterModifier.ANY)
        )

        # Incorrect filter action
        self.assertRaises(
            Exception, lambda: self.utils._filter_generic(
                files, FilterAttribute.PATH, "onkey", "incorrect data",
                FilterModifier.ANY))
        # None as modifier
        self.assertRaises(
            Exception, lambda: self.utils._filter_generic(
                files, FilterAttribute.PATH, "onkey", FilterAction.INCLUDE,
                None))
        # Incorrect modifier
        self.assertRaises(
            Exception, lambda: self.utils._filter_generic(
                files, FilterAttribute.PATH, "onkey", FilterAction.INCLUDE,
                "incorrect data"))
コード例 #5
0
    def test_exclude_path(self):

        files = sample_data.files()

        self.assertTrue(len(files['included']) == 6)
        self.assertTrue(len(files['excluded']) == 0)

        self.utils._filter_generic(files, FilterAttribute.PATH, "onkey",
                                   FilterAction.EXCLUDE, FilterModifier.ANY)

        self.assertTrue(len(files['included']) == 3)
        self.assertTrue(len(files['excluded']) == 3)

        # try include same files, no change
        self.utils._filter_generic(files, FilterAttribute.PATH, "onkey",
                                   FilterAction.EXCLUDE, FilterModifier.ANY)

        self.assertTrue(len(files['included']) == 3)
        self.assertTrue(len(files['excluded']) == 3)
コード例 #6
0
    def test_include_license(self):

        files = sample_data.files()

        self.assertTrue(len(files['included']) == 6)
        self.assertTrue(len(files['excluded']) == 0)

        self.utils._filter_generic(files, FilterAttribute.LICENSE, "mit",
                                   FilterAction.INCLUDE, FilterModifier.ANY)

        self.assertTrue(len(files['included']) == 1)
        self.assertTrue(len(files['excluded']) == 5)

        # try include same files, no change
        self.utils._filter_generic(files, FilterAttribute.LICENSE, "mit",
                                   FilterAction.INCLUDE, FilterModifier.ANY)

        self.assertTrue(len(files['included']) == 1)
        self.assertTrue(len(files['excluded']) == 5)