Beispiel #1
0
    def test_jar_rules_field(self):
        field1 = FingerprintedField(
            JarRules(rules=[Duplicate('foo', Duplicate.SKIP)]))
        field1_same = FingerprintedField(
            JarRules(rules=[Duplicate('foo', Duplicate.SKIP)]))
        field2 = FingerprintedField(
            JarRules(rules=[Duplicate('foo', Duplicate.CONCAT)]))
        field3 = FingerprintedField(
            JarRules(rules=[Duplicate('bar', Duplicate.SKIP)]))
        field4 = FingerprintedField(
            JarRules(rules=[
                Duplicate('foo', Duplicate.SKIP),
                Duplicate('bar', Duplicate.SKIP)
            ]))
        field5 = FingerprintedField(
            JarRules(rules=[Duplicate('foo', Duplicate.SKIP),
                            Skip('foo')]))
        field6 = FingerprintedField(
            JarRules(rules=[Duplicate('foo', Duplicate.SKIP)],
                     default_dup_action=Duplicate.FAIL))
        field6_same = FingerprintedField(
            JarRules(rules=[Duplicate('foo', Duplicate.SKIP)],
                     default_dup_action=Duplicate.FAIL))
        field7 = FingerprintedField(JarRules(rules=[Skip('foo')]))
        field8 = FingerprintedField(JarRules(rules=[Skip('bar')]))
        field8_same = FingerprintedField(JarRules(rules=[Skip('bar')]))

        self.assertEquals(field1.fingerprint(), field1_same.fingerprint())
        self.assertEquals(field6.fingerprint(), field6_same.fingerprint())
        self.assertEquals(field8.fingerprint(), field8_same.fingerprint())
        self._assert_fingerprints_not_equal(
            [field1, field2, field3, field4, field5, field6, field7])
Beispiel #2
0
 def test_invalid_apply_pattern(self):
   with self.assertRaisesRegexp(ValueError, r'The supplied apply_pattern is not a string'):
     Skip(None)
   with self.assertRaisesRegexp(ValueError, r'The supplied apply_pattern is not a string'):
     Duplicate(None, Duplicate.SKIP)
   with self.assertRaisesRegexp(ValueError, r'The supplied apply_pattern: \) is not a valid'):
     Skip(r')')
   with self.assertRaisesRegexp(ValueError, r'The supplied apply_pattern: \) is not a valid'):
     Duplicate(r')', Duplicate.SKIP)
Beispiel #3
0
 def test_invalid_apply_pattern(self):
     with self.assertRaisesRegex(ValueError, r"The supplied apply_pattern is not a str"):
         Skip(None)
     with self.assertRaisesRegex(ValueError, r"The supplied apply_pattern is not a str"):
         Duplicate(None, Duplicate.SKIP)
     with self.assertRaisesRegex(ValueError, r"The supplied apply_pattern: \) is not a valid"):
         Skip(r")")
     with self.assertRaisesRegex(ValueError, r"The supplied apply_pattern: \) is not a valid"):
         Duplicate(r")", Duplicate.SKIP)
Beispiel #4
0
 def test_duplicate_rule_no_match(self):
     self.set_options(fail_fast=False)
     task, jvm_binary = self._setup_external_duplicate_with_rules(
         rules=JarRules([Skip('^com/twitter/commons/DoesNotExist.class$')]))
     conflicts_by_binary = task.execute()
     expected = {
         jvm_binary: {
             ('org.example-dups-0.0.1.jar', 'org.example-test-0.0.1.jar'):
             {'com/twitter/commons/Duplicate.class'}
         }
     }
     self.assertEqual(expected, conflicts_by_binary)
Beispiel #5
0
 def test_jar_rule(self):
     dup_rule = Duplicate('foo', Duplicate.REPLACE)
     self.assertEquals('Duplicate(apply_pattern=foo, action=REPLACE)',
                       repr(dup_rule))
     skip_rule = Skip('foo')
     self.assertEquals('Skip(apply_pattern=foo)', repr(skip_rule))
Beispiel #6
0
 def test_jar_rule(self):
     dup_rule = Duplicate("foo", Duplicate.REPLACE)
     self.assertEqual("Duplicate(apply_pattern=foo, action=REPLACE)",
                      repr(dup_rule))
     skip_rule = Skip("foo")
     self.assertEqual("Skip(apply_pattern=foo)", repr(skip_rule))
Beispiel #7
0
 def test_duplicate_rule_skip(self):
     self.set_options(fail_fast=False)
     task, _ = self._setup_external_duplicate_with_rules(
         rules=JarRules([Skip('^com/twitter/commons/Duplicate.class$')]))
     conflicts_by_binary = task.execute()
     self.assertEqual({}, conflicts_by_binary)