org.apache.oodt.cas.protocol.http.TestHttpProtocol.java Source code

Java tutorial

Introduction

Here is the source code for org.apache.oodt.cas.protocol.http.TestHttpProtocol.java

Source

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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.apache.oodt.cas.protocol.http;

//JUnit imports
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.List;
import java.util.Scanner;

import org.apache.commons.io.FileUtils;
import org.apache.oodt.cas.protocol.ProtocolFile;
import org.apache.oodt.cas.protocol.auth.NoAuthentication;
import org.apache.oodt.cas.protocol.exceptions.ProtocolException;
import org.apache.oodt.cas.protocol.http.util.HttpUtils;

import junit.framework.TestCase;

/**
 * Test class for {@link HttpProtocol}.
 * 
 * @author bfoster
 */
public class TestHttpProtocol extends TestCase {

    public void testConnection() throws InstantiationException, ProtocolException {
        HttpProtocol httpProtocol = new HttpProtocol();
        assertFalse(httpProtocol.connected());
        httpProtocol.connect("svn.apache.org", new NoAuthentication());
        assertTrue(httpProtocol.connected());
    }

    public void testLSandCD() throws ProtocolException, InstantiationException {
        HttpProtocol httpProtocol = new HttpProtocol();
        httpProtocol.connect("svn.apache.org", new NoAuthentication());
        assertTrue(httpProtocol.connected());
        httpProtocol.cd(new ProtocolFile(
                "repos/asf/oodt/trunk/protocol/http/src/main/java/org/apache/oodt/cas/protocol/http", true));
        List<ProtocolFile> files = httpProtocol.ls();
        boolean foundFile = false;
        for (ProtocolFile file : files) {
            if (file.getName().equals("HttpProtocol.java")) {
                foundFile = true;
                break;
            }
        }
        assertTrue(foundFile);
    }

    public void testPWD() throws ProtocolException {
        HttpProtocol httpProtocol = new HttpProtocol();
        httpProtocol.connect("svn.apache.org", new NoAuthentication());
        assertTrue(httpProtocol.connected());
        ProtocolFile gotoDir = new ProtocolFile(httpProtocol.pwd(),
                "repos/asf/oodt/trunk/protocol/http/src/test/java/org/apache/oodt/cas/protocol/http", true);
        httpProtocol.cd(gotoDir);
        ProtocolFile currentDir = httpProtocol.pwd();
        System.out.println(gotoDir.getAbsoluteFile());
        System.out.println(currentDir.getAbsoluteFile());
        assertEquals(gotoDir, currentDir);
    }

    public void testGET() throws ProtocolException, IOException {
        HttpProtocol httpProtocol = new HttpProtocol();
        httpProtocol.connect("svn.apache.org", new NoAuthentication());
        assertTrue(httpProtocol.connected());
        httpProtocol.cd(new ProtocolFile(
                "repos/asf/oodt/trunk/protocol/http/src/test/java/org/apache/oodt/cas" + "/protocol/http", true));
        File bogus = File.createTempFile("bogus", "bogus");
        File tmpDir = new File(bogus.getParentFile(), "TestHttpProtocol");
        bogus.delete();
        tmpDir.mkdirs();
        File toFile = new File(tmpDir, "TestHttpProtocol.java");
        httpProtocol.get(new ProtocolFile("TestHttpProtocol.java", false), toFile);
        assertTrue(toFile.exists());
        assertNotSame(0, toFile.length());

        String fileContent = "";
        Scanner scanner = new Scanner(toFile);
        while (scanner.hasNextLine()) {
            fileContent += scanner.nextLine();
        }
        assertEquals(fileContent,
                HttpUtils.readUrl(HttpUtils.connect(
                        new URL("http://svn.apache.org/repos/asf/oodt/" + "trunk/protocol/http/src/test/java/org/"
                                + "apache/oodt/cas/protocol/http/" + "TestHttpProtocol.java"))));
        FileUtils.forceDelete(tmpDir);
    }
}