Package com.socrata.datasync.job

Source Code of com.socrata.datasync.job.PortJobTest

package com.socrata.datasync.job;

import com.socrata.datasync.PortMethod;
import com.socrata.datasync.PublishDataset;
import com.socrata.datasync.config.CommandLineOptions;
import junit.framework.TestCase;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;

public class PortJobTest {

    private PortJob job;
    CommandLineParser parser;
    CommandLineOptions cmd;

    public static final String PATH_TO_SAVED_SPJ_V0dot3 = "src/test/resources/job_saved_v0.3.spj";

    @Before
    public void initialize() {
        job = new PortJob();
        parser = new PosixParser();
        cmd = new CommandLineOptions();
    }


    @Test
    public void testNewJobFileDeserialization() throws IOException {
        job = new PortJob(PATH_TO_SAVED_SPJ_V0dot3);

        TestCase.assertEquals(PortMethod.copy_all, job.getPortMethod());
        TestCase.assertEquals("https://louis.demo.socrata.com", job.getSourceSiteDomain());
        TestCase.assertEquals("w8e5-buaa", job.getSourceSetID());
        TestCase.assertEquals("https://louis.demo.socrata.com", job.getSinkSiteDomain());
        TestCase.assertEquals(PublishDataset.publish, job.getPublishDataset());
    }

    @Test
    public void testValidationOfArgs() throws ParseException {

        String[] goodArgs = {"-pm", "copy_all", "-pd1", "srcDomain", "-pi1", "4x4", "-pd2", "sinkDomain"};
        String[] incompleteArgs1 = {"-pd1", "srcDomain", "-pi1", "4x4", "-pd2", "sinkDomain"};
        String[] incompleteArgs2 = {"-pm", "copy_all", "-pi1", "4x4", "-pd2", "sinkDomain"};
        String[] incompleteArgs3 = {"-pm", "copy_all", "-pd1", "srcDomain", "-pd2", "sinkDomain"};
        String[] incompleteArgs4 = {"-pm", "copy_all", "-pd1", "srcDomain", "-pi1", "4x4"};
        String[] invalidArgs1 = {"-pm", "invalid", "-pd1", "srcDomain", "-pi1", "4x4", "-pd2", "sinkDomain"};

        TestCase.assertTrue(job.validateArgs(parser.parse(cmd.options, goodArgs)));
        TestCase.assertFalse(job.validateArgs(parser.parse(cmd.options, incompleteArgs1)));
        TestCase.assertFalse(job.validateArgs(parser.parse(cmd.options, incompleteArgs2)));
        TestCase.assertFalse(job.validateArgs(parser.parse(cmd.options, incompleteArgs3)));
        TestCase.assertFalse(job.validateArgs(parser.parse(cmd.options, incompleteArgs4)));
        TestCase.assertFalse(job.validateArgs(parser.parse(cmd.options, invalidArgs1)));
    }

    @Test
    public void testConfiguration() throws ParseException {
        String[] args = {"-pm", "copy_all", "-pd1", "srcDomain", "-pi1", "4x4", "-pd2", "sinkDomain"};
        job.configure(parser.parse(cmd.options, args));

        TestCase.assertEquals(job.getPortMethod().toString(), PortMethod.copy_all.toString());
        TestCase.assertEquals(job.getSourceSiteDomain(), args[3]);
        TestCase.assertEquals(job.getSourceSetID(), args[5]);
        TestCase.assertEquals(job.getSinkSiteDomain(), args[7]);
    }
}
TOP

Related Classes of com.socrata.datasync.job.PortJobTest

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.