diff --git a/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/FromJobConfig.java b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/FromJobConfig.java index 68a1d7ac..98d10a06 100644 --- a/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/FromJobConfig.java +++ b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/FromJobConfig.java @@ -20,7 +20,7 @@ import org.apache.sqoop.model.ConfigClass; import org.apache.sqoop.model.Input; import org.apache.sqoop.model.Validator; -import org.apache.sqoop.validation.validators.DatasetURIValidator; +import org.apache.sqoop.connector.kite.validators.DatasetURIValidator; @ConfigClass public class FromJobConfig { diff --git a/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java index 07ee8cff..8f00ce78 100644 --- a/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java +++ b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/configuration/ToJobConfig.java @@ -21,7 +21,7 @@ import org.apache.sqoop.model.ConfigClass; import org.apache.sqoop.model.Input; import org.apache.sqoop.model.Validator; -import org.apache.sqoop.validation.validators.DatasetURIValidator; +import org.apache.sqoop.connector.kite.validators.DatasetURIValidator; import org.apache.sqoop.validation.validators.NotNull; @ConfigClass diff --git a/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/validators/DatasetURIValidator.java similarity index 87% rename from common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java rename to connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/validators/DatasetURIValidator.java index ad298eda..e9c26eda 100644 --- a/common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java +++ b/connector/connector-kite/src/main/java/org/apache/sqoop/connector/kite/validators/DatasetURIValidator.java @@ -15,12 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.sqoop.validation.validators; +package org.apache.sqoop.connector.kite.validators; import com.google.common.base.Strings; import org.apache.sqoop.classification.InterfaceAudience; import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.validation.Status; +import org.apache.sqoop.validation.validators.AbstractValidator; import java.util.regex.Pattern; @@ -31,8 +32,7 @@ @InterfaceStability.Unstable public class DatasetURIValidator extends AbstractValidator { - private static final Pattern DATASET_URI_PATTERN = Pattern - .compile("^dataset:(hive|hdfs|file):.*$"); + private static final Pattern DATASET_URI_PATTERN = Pattern.compile("^dataset:(hive|hdfs|file):.*$"); @Override public void validate(String uri) { diff --git a/connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/validators/TestDatasetURIValidator.java b/connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/validators/TestDatasetURIValidator.java new file mode 100644 index 00000000..920461e5 --- /dev/null +++ b/connector/connector-kite/src/test/java/org/apache/sqoop/connector/kite/validators/TestDatasetURIValidator.java @@ -0,0 +1,79 @@ +/** + * 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.sqoop.connector.kite.validators; + +import org.apache.sqoop.validation.Status; +import org.apache.sqoop.validation.validators.AbstractValidator; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import static org.testng.Assert.assertEquals; + +/** + */ +public class TestDatasetURIValidator { + + AbstractValidator validator = new DatasetURIValidator(); + + @BeforeMethod(alwaysRun = true) + public void resetValidator() { + validator.reset(); + } + + @Test + public void testNull() { + validator.validate(null); + assertEquals(validator.getStatus(), Status.ERROR); + assertEquals(validator.getMessages().size(), 1); + } + + @Test + public void testEmpty() { + validator.validate(""); + assertEquals(validator.getStatus(), Status.ERROR); + assertEquals(validator.getMessages().size(), 1); + } + + @Test + public void testRandomString() { + validator.validate("!@#$%"); + assertEquals(validator.getStatus(), Status.ERROR); + assertEquals(validator.getMessages().size(), 1); + } + + @Test + public void testHdfsDataset() { + validator.validate("dataset:hive:"); + assertEquals(validator.getStatus(), Status.OK); + assertEquals(validator.getMessages().size(), 0); + } + + @Test + public void testHiveDataset() { + validator.validate("dataset:hive:"); + assertEquals(validator.getStatus(), Status.OK); + assertEquals(validator.getMessages().size(), 0); + } + + @Test + public void testFileDataset() { + validator.validate("dataset:file:"); + assertEquals(validator.getStatus(), Status.OK); + assertEquals(validator.getMessages().size(), 0); + } +}