}
public void testConstraintOR()
throws Exception
{
ArchivaArtifact artifact;
artifact = createArtifact( "test-one", "1.0" );
artifact.getModel().setChecksumMD5( MD5_HASH1 );
artifactDao.saveArtifact( artifact );
artifact = createArtifact( "test-one", "1.1" );
artifact.getModel().setChecksumMD5( MD5_HASH1 );
artifactDao.saveArtifact( artifact );
artifact = createArtifact( "test-one", "1.2" );
artifact.getModel().setChecksumMD5( MD5_HASH1 );
artifactDao.saveArtifact( artifact );
artifact = createArtifact( "test-two", "1.0" );
artifact.getModel().setChecksumMD5( MD5_HASH1 );
artifactDao.saveArtifact( artifact );
artifact = createArtifact( "test-two", "2.0" );
artifact.getModel().setChecksumMD5( MD5_HASH3 );
artifactDao.saveArtifact( artifact );
artifact = createArtifact( "test-two", "2.1" );
artifact.getModel().setChecksumMD5( MD5_HASH2 );
artifactDao.saveArtifact( artifact );
artifact = createArtifact( "test-two", "3.0" );
artifact.getModel().setChecksumMD5( MD5_HASH2 );
artifactDao.saveArtifact( artifact );
assertConstraint( "Artifacts by MD5 Checksum", 4, new ArtifactsByChecksumConstraint( MD5_HASH1, "" ) );
assertConstraint( "Artifacts by MD5 Checksum", 2, new ArtifactsByChecksumConstraint( MD5_HASH2, "" ) );
assertConstraint( "Artifacts by MD5 Checksum", 1, new ArtifactsByChecksumConstraint( MD5_HASH3, "" ) );