Package org.apache.pig.piggybank.test.evaluation.util.apachelogparser

Source Code of org.apache.pig.piggybank.test.evaluation.util.apachelogparser.TestDateExtractor

/*
* 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.pig.piggybank.test.evaluation.util.apachelogparser;

import junit.framework.TestCase;

import org.apache.pig.data.DefaultTupleFactory;
import org.apache.pig.data.Tuple;
import org.apache.pig.piggybank.evaluation.util.apachelogparser.DateExtractor;
import org.junit.Test;

public class TestDateExtractor extends TestCase {
   
    private Tuple input=DefaultTupleFactory.getInstance().newTuple(1);
   
 
   @Test
    public void testInstantiation() {
        assertNotNull(new DateExtractor());
    }

    @Test
    public void testDefaultFormatters() throws Exception {
        DateExtractor dayExtractor = new DateExtractor();
        // test that GMT conversion moves the day
        input.set(0, "20/Sep/2008:23:53:04 -0600");
        assertEquals("2008-09-21", dayExtractor.exec(input));
       
        // test that if the string is already in GMT, nothing moves
        input.set(0, "20/Sep/2008:23:53:04 -0000");
        assertEquals("2008-09-20", dayExtractor.exec(input));
    }

    @Test
    public void testMZFormatters() throws Exception {
        DateExtractor extractor = new DateExtractor("dd/MMM/yyyy:HH:mm:ss Z", "yyyy-MM-dd", "PST");
        input.set(0, "20/Sep/2008:23:53:04 -0700");
        assertEquals("2008-09-20", extractor.exec(input));
    }
   
    @Test
    public void testFailureThenSuccess() throws Exception {
        DateExtractor dayExtractor = new DateExtractor();
        input.set(0,"dud");
        assertEquals(null, dayExtractor.exec(input));
        input.set(0,"20/Sep/2008:23:53:04 -0000");
        assertEquals("2008-09-20", dayExtractor.exec(input));
    }

    @Test
    public void testPassedOutputFormatter() throws Exception {
        DateExtractor dayExtractor = new DateExtractor("MM-dd-yyyy");
        input.set(0,"20/Sep/2008:23:53:04 -0000");
        assertEquals("09-20-2008", dayExtractor.exec(input));
    }

    @Test
    public void testPassedInputOutputFormatter() throws Exception {
        DateExtractor dayExtractor = new DateExtractor("dd/MMM/yyyy:HH:mm:ss", "MM~dd~yyyy");
        input.set(0,"20/Sep/2008:23:53:04");
        assertEquals("09~20~2008", dayExtractor.exec(input));
    }

    @Test
    public void testPassedOutputInputFormatterYear() throws Exception {
        DateExtractor dayExtractor = new DateExtractor("dd/MMM/yyyy:HH:mm:ss", "yyyy");
        input.set(0,"20/Sep/2008:23:53:04");
        assertEquals("2008", dayExtractor.exec(input));
    }

    @Test
    public void testPassedOutputFormatterYear() throws Exception {
        DateExtractor dayExtractor = new DateExtractor("yyyy");
        input.set(0, "20/Sep/2008:23:53:04 -0600");
        assertEquals("2008", dayExtractor.exec(input));
    }
}
TOP

Related Classes of org.apache.pig.piggybank.test.evaluation.util.apachelogparser.TestDateExtractor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.