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