Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 2012 JBoss Inc
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  *       http://www.apache.org/licenses/LICENSE-2.0
  *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.drools.guvnor.server.maven;
import static org.apache.commons.codec.digest.DigestUtils.md5Hex;
import static org.apache.commons.codec.digest.DigestUtils.shaHex;
import static org.drools.guvnor.server.maven.cache.FileDownloadUtil.downloadFile;
import static org.drools.guvnor.server.maven.cache.GuvnorArtifactCacheSupport.getURLtoLocalUserMavenRepo;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
public class FileDownloadUtilTest {
    @Test
    public void testDownloadRemoteRepository() throws IOException {
        final String jbossReleaseRepo = "http://repository.jboss.org/nexus/content/repositories/releases/";
        final MavenArtifact artifact = new MavenArtifact"org.drools:knowledge-api:jar:5.3.1.Final:compile" );
        final HttpURLConnection connection = (HttpURLConnectionnew URLartifact.toURLjbossReleaseRepo ) ).openConnection();
        connection.setRequestMethod"HEAD" );
        try {
            final int responseCode = connection.getResponseCode();
            if ( responseCode != 200 ) {
                //won't fail if you can't get access to external resource
                return;
            }
        } catch ( UnknownHostException ex ) {
            //won't fail if you can't reach jboss repo
            return;
        }
        final String finalFileName = System.getProperty"java.io.tmpdir" ) + "/" + artifact.toFileName();
        final File result = downloadFileartifact.toURLjbossReleaseRepo ),
                                          finalFileName );
        assertNotNullresult );
        assertEquals"47c645f0f605790b5d505c7d2f27b745",
                      md5HexgetBytesresult ) ) );
    }
    @Test
    public void testLocalFile() throws IOException {
        final String localMavenRepo = getURLtoLocalUserMavenRepo();
        final MavenArtifact artifact = new MavenArtifact"org.antlr:antlr-runtime:jar:3.3:compile" );
        final String finalFileName = System.getProperty"java.io.tmpdir" ) + "/" + artifact.toFileName();
        final File result = downloadFileartifact.toURLlocalMavenRepo ),
                                          finalFileName );
        assertNotNullresult );
        assertEquals"ccd65b08cbc9b7e90b9facd4d125a133c6f87228",
                      shaHexgetBytesresult ) ) );
    }
    @Test
    public void testNonExistentFile() throws IOException {
        final String localMavenRepo = getURLtoLocalUserMavenRepo();
        final MavenArtifact artifact = new MavenArtifact"org.antlr:antlr-some:jar:3.3:compile" );
        final String finalFileName = System.getProperty"java.io.tmpdir" ) + "/" + artifact.toFileName();
        final File result = downloadFileartifact.toURLlocalMavenRepo ),
                                          finalFileName );
        assertNullresult );
    }
    private byte[] getBytes(File filethrows IOException {
        byte[] bytes = new byte[(intfile.length()];
        FileInputStream fileInputStream = new FileInputStreamfile );
        fileInputStream.readbytes );
        return bytes;
    }
New to GrepCode? Check out our FAQ X