http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/datastorage/filesystem/ViewFsCarbonFileTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/datastorage/filesystem/ViewFsCarbonFileTest.java b/core/src/test/java/org/apache/carbondata/core/datastorage/filesystem/ViewFsCarbonFileTest.java new file mode 100644 index 0000000..9cdef3a --- /dev/null +++ b/core/src/test/java/org/apache/carbondata/core/datastorage/filesystem/ViewFsCarbonFileTest.java @@ -0,0 +1,311 @@ +/* + * 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.carbondata.core.datastorage.filesystem; + +import mockit.Mock; +import mockit.MockUp; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileStatus; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.fs.viewfs.ViewFileSystem; +import org.apache.hadoop.hdfs.DistributedFileSystem; +import org.apache.hadoop.hdfs.web.WebHdfsFileSystem; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + + +public class ViewFsCarbonFileTest { + + private static ViewFSCarbonFile viewFSCarbonFile; + private static FileStatus fileStatus; + private static FileStatus fileStatusWithOutDirectoryPermission; + private static String fileName; + private static File file; + + + @BeforeClass + static public void setUp() { + file = new File("Test.carbondata"); + if (!file.exists()) + try { + file.createNewFile(); + } catch (IOException e) { + e.printStackTrace(); + } + try { + FileOutputStream oFile = new FileOutputStream(file, true); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + + fileStatus = new FileStatus(12L, true, 60, 120l, 180L, new Path(file.getAbsolutePath())); + fileStatusWithOutDirectoryPermission = new FileStatus(12L, false, 60, 120l, 180L, new Path(file.getAbsolutePath())); + fileName = file.getAbsolutePath(); + viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); + } + + @AfterClass + static public void cleanUp() { + file.delete(); + } + + @Test + public void testRenameForceForException() throws IOException { + + new MockUp<Path>() { + @Mock + public FileSystem getFileSystem(Configuration conf) throws IOException { + throw new IOException(); + } + + }; + viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); + viewFSCarbonFile.renameForce(fileName); + } + + @Test + public void testListFilesWithOutDirectoryPermission() { + viewFSCarbonFile = new ViewFSCarbonFile(fileStatusWithOutDirectoryPermission); + assertTrue(viewFSCarbonFile.listFiles() == null); + } + + @Test + public void testConstructorWithFilePath() { + viewFSCarbonFile = new ViewFSCarbonFile(file.getAbsolutePath()); + assertTrue(viewFSCarbonFile instanceof ViewFSCarbonFile); + } + + @Test + public void testListFilesForNullListStatus() { + viewFSCarbonFile = new ViewFSCarbonFile(fileStatusWithOutDirectoryPermission); + new MockUp<Path>() { + @Mock + public FileSystem getFileSystem(Configuration conf) throws IOException { + return new ViewFileSystem(); + } + + }; + new MockUp<ViewFileSystem>() { + @Mock + public FileStatus[] listStatus(Path var1) throws IOException { + + return null; + } + + }; + new MockUp<ViewFileSystem>() { + @Mock + public boolean delete(Path var1, boolean var2) throws IOException { + + return true; + } + + }; + //public boolean delete(Path var1, boolean var2) throws IOException; + viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); + assertTrue(viewFSCarbonFile.listFiles().length == 0); + } + + @Test + public void testListDirectory() { + viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); + new MockUp<Path>() { + @Mock + public FileSystem getFileSystem(Configuration conf) throws IOException { + return new ViewFileSystem(); + } + + }; + new MockUp<ViewFileSystem>() { + @Mock + public FileStatus[] listStatus(Path var1) throws IOException { + + FileStatus[] fileStatus = new FileStatus[]{new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName))}; + return fileStatus; + } + + }; + + assertTrue(viewFSCarbonFile.listFiles().length == 1); + } + + @Test + public void testListFilesForException() throws IOException { + viewFSCarbonFile = new ViewFSCarbonFile(fileStatusWithOutDirectoryPermission); + + new MockUp<FileStatus>() { + @Mock + public Path getPath() { + return new Path(file.getAbsolutePath()); + } + + }; + new MockUp<Path>() { + @Mock + public FileSystem getFileSystem(Configuration conf) throws IOException { + throw new IOException(); + } + + }; + new MockUp<ViewFileSystem>() { + @Mock + public FileStatus[] listStatus(Path var1) throws IOException { + + throw new IOException(); + } + + }; + viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); + viewFSCarbonFile.listFiles(); + } + + @Test + public void testListFilesWithCarbonFilter() { + CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { + + @Override + public boolean accept(CarbonFile file) { + return true; + } + }; + viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); + assertTrue(viewFSCarbonFile.listFiles(carbonFileFilter).length == 1); + } + + @Test + public void testlistFilesWithoutFilter() { + CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { + + @Override + public boolean accept(CarbonFile file) { + return false; + } + }; + new MockUp<Path>() { + @Mock + public FileSystem getFileSystem(Configuration conf) throws IOException { + return new ViewFileSystem(); + } + + }; + new MockUp<ViewFileSystem>() { + @Mock + public FileStatus[] listStatus(Path var1) throws IOException { + + FileStatus[] fileStatus = new FileStatus[]{new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName))}; + return fileStatus; + } + + }; + viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); + assertTrue(viewFSCarbonFile.listFiles(carbonFileFilter).length == 0); + } + + @Test + public void testGetParentFIle() { + new MockUp<Path>() { + @Mock + public FileSystem getFileSystem(Configuration conf) throws IOException { + return new DistributedFileSystem(); + } + + }; + new MockUp<Path>() { + @Mock + public Path getParent() { + return new Path(file.getAbsolutePath() + ); + } + + }; + new MockUp<FileStatus>() { + @Mock + public Path getPath() { + return new Path(file.getAbsolutePath()); + } + + }; + new MockUp<DistributedFileSystem>() { + @Mock + public FileStatus getFileStatus(Path f) throws IOException { + + return new FileStatus(12L, true, 60, 120l, 180L, new Path(file.getAbsolutePath())); + } + + }; + + viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); + assertFalse(viewFSCarbonFile.getParentFile().equals(null)); + } + + @Test + public void testForNonDisributedSystem() { + viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); + new MockUp<Path>() { + @Mock + public FileSystem getFileSystem(Configuration conf) throws IOException { + return new WebHdfsFileSystem(); + } + + }; + assertFalse(viewFSCarbonFile.renameForce(fileName)); + } + + @Test + public void testrenameForceForViewFileSystem() { + new MockUp<Path>() { + @Mock + public FileSystem getFileSystem(Configuration conf) throws IOException { + return new ViewFileSystem(); + } + + }; + new MockUp<ViewFileSystem>() { + @Mock + public boolean delete(Path f, boolean recursive) throws + IOException { + return true; + + } + + }; + new MockUp<ViewFileSystem>() { + @Mock + public boolean rename(Path src, Path dst) throws IOException { + return true; + + } + + }; + + assertTrue(viewFSCarbonFile.renameForce(fileName)); + + } +}
http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/datastorage/store/columnar/ColumnarKeyStoreDataHolderUnitTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/datastorage/store/columnar/ColumnarKeyStoreDataHolderUnitTest.java b/core/src/test/java/org/apache/carbondata/core/datastorage/store/columnar/ColumnarKeyStoreDataHolderUnitTest.java deleted file mode 100644 index 9ff0677..0000000 --- a/core/src/test/java/org/apache/carbondata/core/datastorage/store/columnar/ColumnarKeyStoreDataHolderUnitTest.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * 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.carbondata.core.datastorage.store.columnar; - -import java.util.List; - -import org.junit.BeforeClass; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -public class ColumnarKeyStoreDataHolderUnitTest { - - private static ColumnarKeyStoreDataHolder columnarKeyStoreDataHolder; - private static ColumnarKeyStoreMetadata columnarKeyStoreMetadata; - - @BeforeClass public static void setup() { - byte[] keyBlockData = new byte[] { 16, 8, 32, 40, 8, 8, 8 }; - int eachRowSize = 2; - int[] reverseIndex = new int[] { 1, 5, 6, 3, 8 }; - columnarKeyStoreMetadata = new ColumnarKeyStoreMetadata(eachRowSize); - columnarKeyStoreMetadata.setColumnReverseIndex(reverseIndex); - columnarKeyStoreDataHolder = - new ColumnarKeyStoreDataHolder(keyBlockData, columnarKeyStoreMetadata); - } - - @Test public void testGetSurrogateKeyWithNullINGetColumnReverseIndex() { - byte[] keyBlockData = new byte[] { 16, 8, 32, 40, 8, 8, 8 }; - int eachRowSize = 1; - ColumnarKeyStoreMetadata columnarKeyStoreMetadata = new ColumnarKeyStoreMetadata(eachRowSize); - ColumnarKeyStoreDataHolder columnarKeyStoreDataHolderNew = - new ColumnarKeyStoreDataHolder(keyBlockData, columnarKeyStoreMetadata); - int columnIndex = 5; - int expected_result = 8; - int result = columnarKeyStoreDataHolderNew.getSurrogateKey(columnIndex); - assertEquals(expected_result, result); - } - - @Test public void testGetSurrogateKeyWithNullINGetColumnReverseIndexAndRowSizeTwo() { - byte[] keyBlockData = new byte[] { 16, 8, 32, 40, 8, 8, 8 }; - int eachRowSize = 2; - ColumnarKeyStoreMetadata columnarKeyStoreMetadata = new ColumnarKeyStoreMetadata(eachRowSize); - ColumnarKeyStoreDataHolder columnarKeyStoreDataHolderNew = - new ColumnarKeyStoreDataHolder(keyBlockData, columnarKeyStoreMetadata); - int columnIndex = 0; - int expected_result = 4104; - int result = columnarKeyStoreDataHolderNew.getSurrogateKey(columnIndex); - assertEquals(expected_result, result); - } - - @Test public void testGetSurrogateKeyWithNotNullINGetColumnReverseIndex() { - int columnIndex = 0; - int expected_result = 8232; - int result = columnarKeyStoreDataHolder.getSurrogateKey(columnIndex); - assertEquals(expected_result, result); - } - - @Test(expected = ArrayIndexOutOfBoundsException.class) - public void testExceptionInGetSurrogateKey() { - int columnIndex = 10; - int expected_result = 8232; - int result = columnarKeyStoreDataHolder.getSurrogateKey(columnIndex); - assertEquals(expected_result, result); - } - - @Test public void testGetSurrogateKeyWithListOfByteWhileCreatingObject() { - byte[] keyBlockData = new byte[] { 32, 64, 32, 40, 64, 8, 8 }; - List<byte[]> noDictionaryValBasedKeyBlockData = new java.util.ArrayList<>(); - noDictionaryValBasedKeyBlockData.add(keyBlockData); - new ColumnarKeyStoreDataHolder(columnarKeyStoreMetadata); - int columnIndex = 0; - int expected_result = 8232; - int result = columnarKeyStoreDataHolder.getSurrogateKey(columnIndex); - assertEquals(expected_result, result); - } - -} http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/AlluxioCarbonFileTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/AlluxioCarbonFileTest.java b/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/AlluxioCarbonFileTest.java deleted file mode 100644 index f78e77c..0000000 --- a/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/AlluxioCarbonFileTest.java +++ /dev/null @@ -1,295 +0,0 @@ -/* - * 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.carbondata.core.datastorage.store.filesystem; - -import mockit.Mock; -import mockit.MockUp; -import org.apache.carbondata.core.datastorage.store.filesystem.AlluxioCarbonFile; -import org.apache.carbondata.core.datastorage.store.filesystem.CarbonFile; -import org.apache.carbondata.core.datastorage.store.filesystem.CarbonFileFilter; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FileStatus; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Options; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hdfs.DistributedFileSystem; -import org.apache.hadoop.hdfs.web.WebHdfsFileSystem; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -public class AlluxioCarbonFileTest { - - private static AlluxioCarbonFile alluxioCarbonFile; - private static FileStatus fileStatus; - private static FileStatus fileStatusWithOutDirectoryPermission; - private static String fileName; - private static File file; - - - @BeforeClass - static public void setUp() { - file = new File("Test.carbondata"); - if (!file.exists()) - try { - file.createNewFile(); - } catch (IOException e) { - e.printStackTrace(); - } - try { - FileOutputStream oFile = new FileOutputStream(file, true); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - - fileStatus = new FileStatus(12L, true, 60, 120l, 180L, new Path(file.getAbsolutePath())); - fileStatusWithOutDirectoryPermission = new FileStatus(12L, false, 60, 120l, 180L, new Path(file.getAbsolutePath())); - fileName = file.getAbsolutePath(); - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - } - - @AfterClass - static public void cleanUp() { - file.delete(); - } - - @Test - public void testRenameForceForException() throws IOException { - - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - throw new IOException(); - } - - }; - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - alluxioCarbonFile.renameForce(fileName); - } - - @Test - public void testListFilesWithOutDirectoryPermission() { - alluxioCarbonFile = new AlluxioCarbonFile(fileStatusWithOutDirectoryPermission); - assertTrue(alluxioCarbonFile.listFiles() == null); - } - - @Test - public void testConstructorWithFilePath() { - alluxioCarbonFile = new AlluxioCarbonFile(file.getAbsolutePath()); - assertTrue(alluxioCarbonFile instanceof AlluxioCarbonFile); - } - - @Test - public void testListFilesForNullListStatus() { - alluxioCarbonFile = new AlluxioCarbonFile(fileStatusWithOutDirectoryPermission); - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - return null; - } - - }; - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - assertTrue(alluxioCarbonFile.listFiles().length == 0); - } - - @Test - public void testListDirectory() { - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - FileStatus[] fileStatus = new FileStatus[]{new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName))}; - return fileStatus; - } - - }; - - assertTrue(alluxioCarbonFile.listFiles().length == 1); - } - - @Test - public void testListFilesForException() throws IOException { - alluxioCarbonFile = new AlluxioCarbonFile(fileStatusWithOutDirectoryPermission); - - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(file.getAbsolutePath()); - } - - }; - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - throw new IOException(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - throw new IOException(); - } - - }; - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - alluxioCarbonFile.listFiles(); - } - - @Test - public void testListFilesWithCarbonFilter() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - - @Override - public boolean accept(CarbonFile file) { - return true; - } - }; - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - assertTrue(alluxioCarbonFile.listFiles(carbonFileFilter).length == 1); - } - - @Test - public void testlistFilesWithoutFilter() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - - @Override - public boolean accept(CarbonFile file) { - return false; - } - }; - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - FileStatus[] fileStatus = new FileStatus[]{new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName))}; - return fileStatus; - } - - }; - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - assertTrue(alluxioCarbonFile.listFiles(carbonFileFilter).length == 0); - } - - @Test - public void testGetParentFile() { - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<Path>() { - @Mock - public Path getParent() { - return new Path(file.getAbsolutePath() - ); - } - - }; - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(file.getAbsolutePath()); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus getFileStatus(Path path) throws IOException { - - return new FileStatus(12L, true, 60, 120l, 180L, new Path(file.getAbsolutePath())); - } - - }; - - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - assertFalse(alluxioCarbonFile.getParentFile().equals(null)); - } - - @Test - public void testForNonDisributedSystem() { - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new WebHdfsFileSystem(); - } - - }; - assertFalse(alluxioCarbonFile.renameForce(fileName)); - } - - @Test - public void testrenameForceForDisributedSystem() { - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public void rename(Path src, Path dst, final Options.Rename... options) throws IOException { - - } - - }; - - alluxioCarbonFile = new AlluxioCarbonFile(fileStatus); - assertTrue(alluxioCarbonFile.renameForce(fileName)); - - } -} http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/HDFSCarbonFileTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/HDFSCarbonFileTest.java b/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/HDFSCarbonFileTest.java deleted file mode 100644 index ffaace1..0000000 --- a/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/HDFSCarbonFileTest.java +++ /dev/null @@ -1,402 +0,0 @@ -/* - * 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.carbondata.core.datastorage.store.filesystem; - -import mockit.Mock; -import mockit.MockUp; -import org.apache.carbondata.common.logging.LogService; -import org.apache.carbondata.common.logging.LogServiceFactory; -import org.apache.carbondata.core.datastorage.store.filesystem.CarbonFile; -import org.apache.carbondata.core.datastorage.store.filesystem.CarbonFileFilter; -import org.apache.carbondata.core.datastorage.store.filesystem.HDFSCarbonFile; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FileStatus; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Options; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hdfs.DistributedFileSystem; -import org.apache.hadoop.hdfs.web.WebHdfsFileSystem; -import org.apache.hadoop.util.Progressable; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import java.io.BufferedWriter; -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - - -public class HDFSCarbonFileTest { - - private static final LogService LOGGER = - LogServiceFactory.getLogService(HDFSCarbonFile.class.getName()); - private static HDFSCarbonFile hdfsCarbonFile; - private static FileStatus fileStatus = null; - private static FileStatus fileStatusWithOutDirectoryPermission; - private static String fileName = null; - private static FileSystem fs = null; - private static Path pt; - - @BeforeClass - static public void setUp() throws IOException { - Configuration config = new Configuration(); -//adding local hadoop configuration - config.addResource(new Path("core-site.xml")); - config.addResource(new Path("hdfs-site.xml")); - fileName = "Test.carbondata"; //this path is HDFS path - pt = new Path(fileName); - fs = FileSystem.get(new Configuration(config)); - fs.create(pt); - if (fs.exists(pt)) { - OutputStream os = fs.create(pt, - new Progressable() { - public void progress() { - LOGGER.info("Started Writing to File==="); - } - }); - BufferedWriter br = new BufferedWriter(new OutputStreamWriter(os, "UTF-8")); - br.write("Hello World"); - br.close(); - fs.close(); - - fileStatus = new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName)); - fileStatusWithOutDirectoryPermission = new FileStatus(12L, false, 60, 120l, 180L, new Path(fileName)); - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - - } - } - - @AfterClass - static public void cleanUp() { - try { - fs.delete(pt, true); - } catch (IOException e) { - LOGGER.error("Exception Occured" + e.getMessage()); - } - } - - @Test - public void testRenameForceForException() throws IOException { - - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - throw new IOException(); - } - - }; - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - hdfsCarbonFile.renameForce(fileName); - } - - @Test - public void testListFilesWithOutDirectoryPermission() { - hdfsCarbonFile = new HDFSCarbonFile(fileStatusWithOutDirectoryPermission); - new MockUp<FileStatus>() { - @Mock - public boolean isDirectory() { - return false; - } - - }; - - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(fileName); - } - - }; - assertEquals(hdfsCarbonFile.listFiles(), null); - } - - @Test - public void testConstructorWithFilePath() { - hdfsCarbonFile = new HDFSCarbonFile(fileName); - assertTrue(hdfsCarbonFile instanceof HDFSCarbonFile); - } - - @Test - public void testListFilesForNullListStatus() { - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - return null; - } - - }; - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - assertEquals(hdfsCarbonFile.listFiles().length, 0); - } - - @Test - public void testListDirectory() { - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - FileStatus[] fileStatus = new FileStatus[]{new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName))}; - return fileStatus; - } - - }; - - assertEquals(hdfsCarbonFile.listFiles().length, 1); - } - - @Test - public void testListFilesForException() throws IOException { - new HDFSCarbonFile(fileStatusWithOutDirectoryPermission); - - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(fileName); - } - - }; - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - throw new IOException(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - throw new IOException(); - } - - }; - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - hdfsCarbonFile.listFiles(); - } - - @Test - public void testListFilesWithCarbonFilter() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - - @Override - public boolean accept(CarbonFile file) { - return true; - } - }; - new MockUp<FileStatus>() { - @Mock - public boolean isDirectory() { - return true; - } - - }; - - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(fileName); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - FileStatus fileStatus[] = new FileStatus[]{new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName))}; - return fileStatus; - } - - }; - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - assertEquals(hdfsCarbonFile.listFiles(carbonFileFilter).length, 1); - } - - @Test - public void testlistFilesWithoutFilter() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - - @Override - public boolean accept(CarbonFile file) { - return false; - } - }; - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - FileStatus[] fileStatus = new FileStatus[]{new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName))}; - return fileStatus; - } - - }; - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - assertEquals(hdfsCarbonFile.listFiles(carbonFileFilter).length, 0); - } - - @Test - public void testGetParentFileForNull() { - - new MockUp<Path>() { - @Mock - public Path getParent() { - return null; - } - - }; - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(fileName); - } - - }; - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(fileName); - } - - }; - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - assertEquals(hdfsCarbonFile.getParentFile(), null); - } - - @Test - public void testGetParentFile() { - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<Path>() { - @Mock - public Path getParent() { - return new Path(fileName); - } - - }; - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(fileName); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus getFileStatus(Path file) throws IOException { - - return new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName)); - } - - }; - - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - assertTrue(hdfsCarbonFile.getParentFile() instanceof CarbonFile); - } - - @Test - public void testForNonDisributedSystem() { - new HDFSCarbonFile(fileStatus); - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new WebHdfsFileSystem(); - } - - }; - assertEquals(hdfsCarbonFile.renameForce(fileName), false); - } - - @Test - public void testrenameForceForDisributedSystem() { - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public void rename(Path src, Path dst, final Options.Rename... options) throws IOException { - - } - - }; - hdfsCarbonFile = new HDFSCarbonFile(fileStatus); - assertEquals(hdfsCarbonFile.renameForce(fileName), true); - - } -} - http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/LocalCarbonFileTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/LocalCarbonFileTest.java b/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/LocalCarbonFileTest.java deleted file mode 100644 index 6ea4a9b..0000000 --- a/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/LocalCarbonFileTest.java +++ /dev/null @@ -1,472 +0,0 @@ -/* - * 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.carbondata.core.datastorage.store.filesystem; - -import mockit.Mock; -import mockit.MockUp; -import org.apache.carbondata.core.datastorage.store.filesystem.CarbonFile; -import org.apache.carbondata.core.datastorage.store.filesystem.CarbonFileFilter; -import org.apache.carbondata.core.datastorage.store.filesystem.LocalCarbonFile; -import org.apache.carbondata.core.datastorage.store.impl.FileFactory; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import sun.nio.ch.FileChannelImpl; - -import java.io.*; -import java.nio.channels.ReadableByteChannel; -import java.util.Objects; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - - -public class LocalCarbonFileTest { - - private static LocalCarbonFile localCarbonFile; - private static File file; - private static File dir; - private static FileOutputStream oFile; - - @BeforeClass - static public void setUp() { - file = new File("Test.carbondata"); - dir = new File("Testdir.carbondata"); - if (!file.exists()) - try { - file.createNewFile(); - dir.mkdir(); - } catch (IOException e) { - e.printStackTrace(); - } - try { - oFile = new FileOutputStream(file, true); - - - byte[] bytes = "core java api".getBytes(); - - oFile.write(bytes); - } catch (FileNotFoundException e) { - e.printStackTrace(); - localCarbonFile = new LocalCarbonFile(file); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @AfterClass - static public void cleanUp() { - file.delete(); - dir.delete(); - - } - - @Test - public void testListFilesWithCarbonFileFilterAndWithOutOutDirectoryPermission() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - @Override - public boolean accept(CarbonFile file) { - return false; - } - }; - new MockUp<File>() { - @Mock - public boolean isDirectory() { - return false; - } - - - }; - assertTrue(localCarbonFile.listFiles(carbonFileFilter) == null); - } - - @Test - public void testListFilesWithOutDirPermission() { - localCarbonFile = new LocalCarbonFile(file); - new MockUp<File>() { - @Mock - public boolean isDirectory() { - return false; - } - }; - assertTrue(localCarbonFile.listFiles() == null); - } - - @Test - public void testCreateNewFileForException() throws IOException { - localCarbonFile = new LocalCarbonFile(new File("")); - assertTrue(!localCarbonFile.createNewFile()); - } - - @Test - public void testCheckIfFileExists() throws IOException { - localCarbonFile = new LocalCarbonFile(new File("")); - assertTrue(!localCarbonFile.exists()); - } - - @Test - public void testRenameForce() { - localCarbonFile = new LocalCarbonFile(file); - assertTrue(localCarbonFile.renameForce("Testdb.carbon")); - File file1 = new File("Testdb.carbon"); - if (file1.exists()) { - file1.delete(); - } - } - - @Test - public void testRenameTo() { - localCarbonFile = new LocalCarbonFile(file); - assertTrue(!localCarbonFile.renameTo("Testdb.carbon")); - } - - @Test - public void testsetLastModifiedTime() { - localCarbonFile = new LocalCarbonFile(file); - assertTrue(!localCarbonFile.setLastModifiedTime(50L)); - } - - @Test - public void testtruncate() { - localCarbonFile = new LocalCarbonFile(file); - final int[] counter = {0}; - new MockUp<FileFactory>() { - @Mock - public FileFactory.FileType getFileType(String path) { - { - return FileFactory.FileType.LOCAL; - } - } - }; - new MockUp<FileFactory>() { - @Mock - public boolean isFileExist(String filePath, FileFactory.FileType fileType) throws IOException { - { - return true; - } - } - }; - new MockUp<CarbonFile>() { - @Mock - boolean delete() { - return true; - } - }; - new MockUp<FileFactory>() { - @Mock - public boolean createNewFile(String filePath, FileFactory.FileType fileType) throws IOException { - { - return true; - } - } - }; - new MockUp<FileFactory>() { - @Mock - public CarbonFile getCarbonFile(String path, FileFactory.FileType fileType) { - { - return new LocalCarbonFile(path); - } - } - }; - new MockUp<CarbonFile>() { - @Mock - boolean delete() { - return true; - } - }; - - new MockUp<FileChannelImpl>() { - @Mock - public long transferFrom(ReadableByteChannel var1, long var2, long var4) throws IOException { - if (counter[0] == 0) { - counter[0] = counter[0] + 1; - return 0L; - } else { - return 1L; - } - } - }; - new MockUp<CarbonFile>() { - @Mock - boolean renameForce(String changetoName) { - return true; - } - }; - localCarbonFile = new LocalCarbonFile(file); - assertTrue(localCarbonFile.truncate(file.getName(), 1L)); - } - - @Test - public void testtruncateForException() throws IOException { - localCarbonFile = new LocalCarbonFile(file); - new MockUp<FileFactory>() { - @Mock - public FileFactory.FileType getFileType(String path) { - { - return FileFactory.FileType.LOCAL; - } - } - }; - new MockUp<FileFactory>() { - @Mock - public boolean isFileExist(String filePath, FileFactory.FileType fileType) throws IOException { - { - return true; - } - } - }; - new MockUp<FileFactory>() { - @Mock - public CarbonFile getCarbonFile(String path, FileFactory.FileType fileType) { - { - return new LocalCarbonFile(path); - } - } - }; - new MockUp<CarbonFile>() { - @Mock - boolean delete() { - return true; - } - }; - new MockUp<FileFactory>() { - @Mock - public boolean createNewFile(String filePath, FileFactory.FileType fileType) throws IOException { - { - throw new IOException(); - } - } - }; - - - localCarbonFile.truncate(file.getName(), 2L); - } - - @Test - public void testListFilesWithDirPermission() { - localCarbonFile = new LocalCarbonFile(file); - new MockUp<File>() { - @Mock - public boolean isDirectory() { - return true; - } - }; - new MockUp<File>() { - @Mock - public File[] listFiles() { - return null; - } - - - }; - localCarbonFile = new LocalCarbonFile(dir); - assertTrue(localCarbonFile.listFiles().length == 0); - } - - @Test - public void testListFilesWithCarbonFileFilterAndDirectoryPermission() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - @Override - public boolean accept(CarbonFile file) { - return true; - } - }; - new MockUp<File>() { - @Mock - public boolean isDirectory() { - return true; - } - }; - new MockUp<File>() { - @Mock - public File[] listFiles(FileFilter filter) { - - File[] file = new File[]{dir}; - return file; - } - - - }; - - localCarbonFile = new LocalCarbonFile(dir); - - assertTrue(localCarbonFile.listFiles(carbonFileFilter).length == 1); - } - - @Test - public void testListFilesForNullWithCarbonFileFilterAndDirectoryPermission() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - @Override - public boolean accept(CarbonFile file) { - return true; - } - }; - new MockUp<File>() { - @Mock - public File[] listFiles(FileFilter filter) { - return null; - } - - - }; - new MockUp<File>() { - @Mock - public boolean isDirectory() { - return false; - } - - @Mock - public File[] listFiles(FileFilter filter) { - return null; - } - - - }; - localCarbonFile = new LocalCarbonFile(dir); - - assertTrue(localCarbonFile.listFiles(carbonFileFilter) == null); - } - - @Test - public void testListFilesForEmptyFileArrayWithCarbonFileFilter() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - @Override - public boolean accept(CarbonFile file) { - return true; - } - }; - new MockUp<CarbonFileFilter>() { - @Mock - boolean accept(CarbonFile file) { - return true; - } - }; - new MockUp<File>() { - @Mock - public File[] listFiles(FileFilter filter) { - return null; - } - }; - new MockUp<File>() { - @Mock - public boolean isDirectory() { - return true; - } - - @Mock - public File[] listFiles(FileFilter filter) { - return null; - } - }; - localCarbonFile = new LocalCarbonFile(dir); - - assertTrue(localCarbonFile.listFiles(carbonFileFilter).length == 0); - } - - @Test - public void testFilesForConnicalPath() { - - new MockUp<File>() { - @Mock - public String getCanonicalPath() throws IOException { - return "testFile"; - } - - - }; - localCarbonFile = new LocalCarbonFile(dir); - - assertTrue(Objects.equals(localCarbonFile.getCanonicalPath(), "testFile")); - } - - @Test - public void testFilesForConnicalPathException() throws IOException { - - new MockUp<File>() { - @Mock - public String getCanonicalPath() throws IOException { - throw new IOException(); - } - - - }; - localCarbonFile = new LocalCarbonFile(dir); - - localCarbonFile.getCanonicalPath(); - } - - @Test - public void testFilesForAbsolutePath() { - - new MockUp<File>() { - @Mock - public String getAbsolutePath() { - return "testFile"; - } - - - }; - localCarbonFile = new LocalCarbonFile(dir); - - assertEquals(localCarbonFile.getAbsolutePath(), "testFile"); - } - - @Test - public void testFilesForGetPath() { - - new MockUp<File>() { - @Mock - public String getPath() { - return "testFile"; - } - - - }; - localCarbonFile = new LocalCarbonFile(dir); - - assertEquals(localCarbonFile.getPath(), "testFile"); - } - - @Test - public void testFilesForFileExists() { - - localCarbonFile = new LocalCarbonFile(new File("")); - assertEquals(localCarbonFile.exists(), false); - } - - @Test - public void testRenameForceForFileNotExists() { - new MockUp<File>() { - @Mock - public boolean exists() { - return false; - } - - @Mock - public boolean renameTo(File dest) { - return true; - } - }; - - localCarbonFile = new LocalCarbonFile("demo.txt"); - - assertEquals(localCarbonFile.renameForce("Test.carbondata"), true); - } -} http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/ViewFsCarbonFileTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/ViewFsCarbonFileTest.java b/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/ViewFsCarbonFileTest.java deleted file mode 100644 index de37fc7..0000000 --- a/core/src/test/java/org/apache/carbondata/core/datastorage/store/filesystem/ViewFsCarbonFileTest.java +++ /dev/null @@ -1,314 +0,0 @@ -/* - * 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.carbondata.core.datastorage.store.filesystem; - -import mockit.Mock; -import mockit.MockUp; -import org.apache.carbondata.core.datastorage.store.filesystem.CarbonFile; -import org.apache.carbondata.core.datastorage.store.filesystem.CarbonFileFilter; -import org.apache.carbondata.core.datastorage.store.filesystem.ViewFSCarbonFile; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FileStatus; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.fs.viewfs.ViewFileSystem; -import org.apache.hadoop.hdfs.DistributedFileSystem; -import org.apache.hadoop.hdfs.web.WebHdfsFileSystem; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - - -public class ViewFsCarbonFileTest { - - private static ViewFSCarbonFile viewFSCarbonFile; - private static FileStatus fileStatus; - private static FileStatus fileStatusWithOutDirectoryPermission; - private static String fileName; - private static File file; - - - @BeforeClass - static public void setUp() { - file = new File("Test.carbondata"); - if (!file.exists()) - try { - file.createNewFile(); - } catch (IOException e) { - e.printStackTrace(); - } - try { - FileOutputStream oFile = new FileOutputStream(file, true); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - - fileStatus = new FileStatus(12L, true, 60, 120l, 180L, new Path(file.getAbsolutePath())); - fileStatusWithOutDirectoryPermission = new FileStatus(12L, false, 60, 120l, 180L, new Path(file.getAbsolutePath())); - fileName = file.getAbsolutePath(); - viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); - } - - @AfterClass - static public void cleanUp() { - file.delete(); - } - - @Test - public void testRenameForceForException() throws IOException { - - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - throw new IOException(); - } - - }; - viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); - viewFSCarbonFile.renameForce(fileName); - } - - @Test - public void testListFilesWithOutDirectoryPermission() { - viewFSCarbonFile = new ViewFSCarbonFile(fileStatusWithOutDirectoryPermission); - assertTrue(viewFSCarbonFile.listFiles() == null); - } - - @Test - public void testConstructorWithFilePath() { - viewFSCarbonFile = new ViewFSCarbonFile(file.getAbsolutePath()); - assertTrue(viewFSCarbonFile instanceof ViewFSCarbonFile); - } - - @Test - public void testListFilesForNullListStatus() { - viewFSCarbonFile = new ViewFSCarbonFile(fileStatusWithOutDirectoryPermission); - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new ViewFileSystem(); - } - - }; - new MockUp<ViewFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - return null; - } - - }; - new MockUp<ViewFileSystem>() { - @Mock - public boolean delete(Path var1, boolean var2) throws IOException { - - return true; - } - - }; - //public boolean delete(Path var1, boolean var2) throws IOException; - viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); - assertTrue(viewFSCarbonFile.listFiles().length == 0); - } - - @Test - public void testListDirectory() { - viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new ViewFileSystem(); - } - - }; - new MockUp<ViewFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - FileStatus[] fileStatus = new FileStatus[]{new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName))}; - return fileStatus; - } - - }; - - assertTrue(viewFSCarbonFile.listFiles().length == 1); - } - - @Test - public void testListFilesForException() throws IOException { - viewFSCarbonFile = new ViewFSCarbonFile(fileStatusWithOutDirectoryPermission); - - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(file.getAbsolutePath()); - } - - }; - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - throw new IOException(); - } - - }; - new MockUp<ViewFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - throw new IOException(); - } - - }; - viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); - viewFSCarbonFile.listFiles(); - } - - @Test - public void testListFilesWithCarbonFilter() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - - @Override - public boolean accept(CarbonFile file) { - return true; - } - }; - viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); - assertTrue(viewFSCarbonFile.listFiles(carbonFileFilter).length == 1); - } - - @Test - public void testlistFilesWithoutFilter() { - CarbonFileFilter carbonFileFilter = new CarbonFileFilter() { - - @Override - public boolean accept(CarbonFile file) { - return false; - } - }; - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new ViewFileSystem(); - } - - }; - new MockUp<ViewFileSystem>() { - @Mock - public FileStatus[] listStatus(Path var1) throws IOException { - - FileStatus[] fileStatus = new FileStatus[]{new FileStatus(12L, true, 60, 120l, 180L, new Path(fileName))}; - return fileStatus; - } - - }; - viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); - assertTrue(viewFSCarbonFile.listFiles(carbonFileFilter).length == 0); - } - - @Test - public void testGetParentFIle() { - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new DistributedFileSystem(); - } - - }; - new MockUp<Path>() { - @Mock - public Path getParent() { - return new Path(file.getAbsolutePath() - ); - } - - }; - new MockUp<FileStatus>() { - @Mock - public Path getPath() { - return new Path(file.getAbsolutePath()); - } - - }; - new MockUp<DistributedFileSystem>() { - @Mock - public FileStatus getFileStatus(Path f) throws IOException { - - return new FileStatus(12L, true, 60, 120l, 180L, new Path(file.getAbsolutePath())); - } - - }; - - viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); - assertFalse(viewFSCarbonFile.getParentFile().equals(null)); - } - - @Test - public void testForNonDisributedSystem() { - viewFSCarbonFile = new ViewFSCarbonFile(fileStatus); - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new WebHdfsFileSystem(); - } - - }; - assertFalse(viewFSCarbonFile.renameForce(fileName)); - } - - @Test - public void testrenameForceForViewFileSystem() { - new MockUp<Path>() { - @Mock - public FileSystem getFileSystem(Configuration conf) throws IOException { - return new ViewFileSystem(); - } - - }; - new MockUp<ViewFileSystem>() { - @Mock - public boolean delete(Path f, boolean recursive) throws - IOException { - return true; - - } - - }; - new MockUp<ViewFileSystem>() { - @Mock - public boolean rename(Path src, Path dst) throws IOException { - return true; - - } - - }; - - assertTrue(viewFSCarbonFile.renameForce(fileName)); - - } -} http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/ColumnGroupDimensionDataChunkTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/ColumnGroupDimensionDataChunkTest.java b/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/ColumnGroupDimensionDataChunkTest.java index 0fe8e63..7d7c7d0 100644 --- a/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/ColumnGroupDimensionDataChunkTest.java +++ b/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/ColumnGroupDimensionDataChunkTest.java @@ -30,8 +30,8 @@ import org.apache.carbondata.core.keygenerator.KeyGenException; import org.apache.carbondata.core.keygenerator.KeyGenerator; import org.apache.carbondata.core.keygenerator.mdkey.MultiDimKeyVarLengthGenerator; import org.apache.carbondata.core.util.CarbonUtil; -import org.apache.carbondata.scan.executor.infos.KeyStructureInfo; -import org.apache.carbondata.scan.executor.util.QueryUtil; +import org.apache.carbondata.core.scan.executor.infos.KeyStructureInfo; +import org.apache.carbondata.core.scan.executor.util.QueryUtil; import org.junit.BeforeClass; import org.junit.Test; http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/FixedLengthDimensionDataChunkTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/FixedLengthDimensionDataChunkTest.java b/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/FixedLengthDimensionDataChunkTest.java index b5cf412..bd5ba96 100644 --- a/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/FixedLengthDimensionDataChunkTest.java +++ b/core/src/test/java/org/apache/carbondata/core/datastore/chunk/impl/FixedLengthDimensionDataChunkTest.java @@ -23,7 +23,7 @@ import static org.junit.Assert.assertEquals; import java.util.Arrays; -import org.apache.carbondata.scan.executor.infos.KeyStructureInfo; +import org.apache.carbondata.core.scan.executor.infos.KeyStructureInfo; import org.junit.BeforeClass; import org.junit.Test; http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/datastore/chunk/reader/measure/CompressedMeasureChunkFileBasedReaderTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/datastore/chunk/reader/measure/CompressedMeasureChunkFileBasedReaderTest.java b/core/src/test/java/org/apache/carbondata/core/datastore/chunk/reader/measure/CompressedMeasureChunkFileBasedReaderTest.java index 4cb8cc6..29fe16d 100644 --- a/core/src/test/java/org/apache/carbondata/core/datastore/chunk/reader/measure/CompressedMeasureChunkFileBasedReaderTest.java +++ b/core/src/test/java/org/apache/carbondata/core/datastore/chunk/reader/measure/CompressedMeasureChunkFileBasedReaderTest.java @@ -1,29 +1,31 @@ package org.apache.carbondata.core.datastore.chunk.reader.measure; -import static junit.framework.TestCase.assertEquals; - import java.io.IOException; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; -import mockit.Mock; -import mockit.MockUp; - +import org.apache.carbondata.core.datastorage.FileHolder; +import org.apache.carbondata.core.datastorage.compression.MeasureMetaDataModel; +import org.apache.carbondata.core.datastorage.compression.WriterCompressModel; +import org.apache.carbondata.core.datastorage.dataholder.CarbonWriteDataHolder; +import org.apache.carbondata.core.datastorage.impl.data.compressed + .HeavyCompressedDoubleArrayDataInMemoryStore; import org.apache.carbondata.core.datastore.chunk.MeasureColumnDataChunk; -import org.apache.carbondata.core.datastore.chunk.reader.measure.v1.CompressedMeasureChunkFileBasedReaderV1; +import org.apache.carbondata.core.datastore.chunk.reader.measure + .v1.CompressedMeasureChunkFileBasedReaderV1; +import org.apache.carbondata.core.metadata.ValueEncoderMeta; import org.apache.carbondata.core.metadata.blocklet.BlockletInfo; import org.apache.carbondata.core.metadata.blocklet.datachunk.DataChunk; -import org.apache.carbondata.core.datastorage.store.FileHolder; -import org.apache.carbondata.core.datastorage.store.compression.MeasureMetaDataModel; -import org.apache.carbondata.core.datastorage.store.compression.WriterCompressModel; -import org.apache.carbondata.core.datastorage.store.dataholder.CarbonWriteDataHolder; -import org.apache.carbondata.core.datastorage.util.StoreFactory; -import org.apache.carbondata.core.metadata.ValueEncoderMeta; import org.apache.carbondata.core.util.ValueCompressionUtil; + +import mockit.Mock; +import mockit.MockUp; import org.junit.BeforeClass; import org.junit.Test; +import static junit.framework.TestCase.assertEquals; + public class CompressedMeasureChunkFileBasedReaderTest { static CompressedMeasureChunkFileBasedReaderV1 compressedMeasureChunkFileBasedReader; @@ -67,7 +69,7 @@ public class CompressedMeasureChunkFileBasedReaderTest { dataHolder[0].initialiseBigDecimalValues(1); dataHolder[0].setWritableBigDecimalValueByIndex(0, new long[]{2L,1L}); byte[][] writableMeasureDataArray = - StoreFactory.createDataStore(writerCompressModel).getWritableMeasureDataArray(dataHolder) + new HeavyCompressedDoubleArrayDataInMemoryStore(writerCompressModel).getWritableMeasureDataArray(dataHolder) .clone(); return writableMeasureDataArray[0]; } @@ -89,7 +91,7 @@ public class CompressedMeasureChunkFileBasedReaderTest { dataHolder[0].initialiseBigDecimalValues(1); dataHolder[0].setWritableBigDecimalValueByIndex(0, new long[]{2L,1L}); byte[][] writableMeasureDataArray = - StoreFactory.createDataStore(writerCompressModel).getWritableMeasureDataArray(dataHolder) + new HeavyCompressedDoubleArrayDataInMemoryStore(writerCompressModel).getWritableMeasureDataArray(dataHolder) .clone(); return writableMeasureDataArray[0]; } http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/reader/CarbonDictionaryReaderImplTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/reader/CarbonDictionaryReaderImplTest.java b/core/src/test/java/org/apache/carbondata/core/reader/CarbonDictionaryReaderImplTest.java index b8a97c4..59ac840 100644 --- a/core/src/test/java/org/apache/carbondata/core/reader/CarbonDictionaryReaderImplTest.java +++ b/core/src/test/java/org/apache/carbondata/core/reader/CarbonDictionaryReaderImplTest.java @@ -25,8 +25,8 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; -import org.apache.carbondata.common.ext.PathFactory; -import org.apache.carbondata.common.factory.CarbonCommonFactory; +import org.apache.carbondata.core.service.impl.PathFactory; +import org.apache.carbondata.core.service.CarbonCommonFactory; import org.apache.carbondata.core.CarbonTableIdentifier; import org.apache.carbondata.core.ColumnIdentifier; import org.apache.carbondata.core.service.PathService; http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/reader/sortindex/CarbonDictionarySortIndexReaderImplTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/reader/sortindex/CarbonDictionarySortIndexReaderImplTest.java b/core/src/test/java/org/apache/carbondata/core/reader/sortindex/CarbonDictionarySortIndexReaderImplTest.java index 9b62235..e1e0e94 100644 --- a/core/src/test/java/org/apache/carbondata/core/reader/sortindex/CarbonDictionarySortIndexReaderImplTest.java +++ b/core/src/test/java/org/apache/carbondata/core/reader/sortindex/CarbonDictionarySortIndexReaderImplTest.java @@ -26,8 +26,8 @@ import java.util.UUID; import org.apache.carbondata.core.CarbonTableIdentifier; import org.apache.carbondata.core.ColumnIdentifier; -import org.apache.carbondata.core.datastorage.store.filesystem.CarbonFile; -import org.apache.carbondata.core.datastorage.store.impl.FileFactory; +import org.apache.carbondata.core.datastorage.filesystem.CarbonFile; +import org.apache.carbondata.core.datastorage.impl.FileFactory; import org.apache.carbondata.core.util.CarbonUtil; import org.apache.carbondata.core.writer.CarbonDictionaryWriter; import org.apache.carbondata.core.writer.CarbonDictionaryWriterImpl; http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedResultCollectorTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedResultCollectorTest.java b/core/src/test/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedResultCollectorTest.java new file mode 100644 index 0000000..1b2f533 --- /dev/null +++ b/core/src/test/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedResultCollectorTest.java @@ -0,0 +1,154 @@ +/* + * 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.carbondata.core.scan.collector.impl; + + +public class DictionaryBasedResultCollectorTest { + +// private static DictionaryBasedResultCollector dictionaryBasedResultCollector; +// private static BlockExecutionInfo blockExecutionInfo; +// +// @BeforeClass public static void setUp() { +// blockExecutionInfo = new BlockExecutionInfo(); +// KeyStructureInfo keyStructureInfo = new KeyStructureInfo(); +// blockExecutionInfo.setKeyStructureInfo(keyStructureInfo); +// AggregatorInfo aggregatorInfo = new AggregatorInfo(); +// aggregatorInfo.setMeasureOrdinals(new int[] { 10, 20, 30, 40 }); +// aggregatorInfo.setMeasureExists(new boolean[] { true, false, false, false }); +// aggregatorInfo.setDefaultValues(new Object[] { 1, 2, 3, 4 }); +// aggregatorInfo.setMeasureDataTypes( +// new DataType[] { DataType.INT, DataType.TIMESTAMP, DataType.INT, DataType.INT }); +// blockExecutionInfo.setAggregatorInfo(aggregatorInfo); +// QueryDimension queryDimension1 = new QueryDimension("QDCol1"); +// queryDimension1.setQueryOrder(1); +// ColumnSchema columnSchema = new ColumnSchema(); +// queryDimension1.setDimension(new CarbonDimension(columnSchema, 0, 0, 0, 0)); +// QueryDimension queryDimension2 = new QueryDimension("QDCol2"); +// queryDimension2.setQueryOrder(2); +// queryDimension2.setDimension(new CarbonDimension(columnSchema, 1, 1, 1, 1)); +// QueryDimension queryDimension3 = new QueryDimension("QDCol3"); +// queryDimension3.setQueryOrder(3); +// queryDimension3.setDimension(new CarbonDimension(columnSchema, 2, 0, 0, 0)); +// QueryDimension queryDimension4 = new QueryDimension("QDCol4"); +// queryDimension4.setQueryOrder(4); +// queryDimension4.setDimension(new CarbonDimension(columnSchema, 3, 0, 0, 0)); +// blockExecutionInfo.setQueryDimensions( +// new QueryDimension[] { queryDimension1, queryDimension2, queryDimension3, +// queryDimension4 }); +// QueryMeasure queryMeasure1 = new QueryMeasure("QMCol1"); +// queryMeasure1.setQueryOrder(1); +// QueryMeasure queryMeasure2 = new QueryMeasure("QMCol2"); +// queryMeasure1.setQueryOrder(2); +// QueryMeasure queryMeasure3 = new QueryMeasure("QMCol3"); +// queryMeasure1.setQueryOrder(3); +// QueryMeasure queryMeasure4 = new QueryMeasure("QMCol4"); +// queryMeasure1.setQueryOrder(4); +// blockExecutionInfo.setQueryMeasures( +// new QueryMeasure[] { queryMeasure1, queryMeasure2, queryMeasure3, queryMeasure4 }); +// Map<Integer, GenericQueryType> complexDimensionInfoMap = new HashMap<>(); +// complexDimensionInfoMap.put(1, new ArrayQueryType("name1", "parent1", 1)); +// complexDimensionInfoMap.put(2, new ArrayQueryType("name2", "parent2", 2)); +// complexDimensionInfoMap.put(3, new ArrayQueryType("name3", "parent3", 3)); +// complexDimensionInfoMap.put(4, new ArrayQueryType("name4", "parent4", 4)); +// blockExecutionInfo.setComplexDimensionInfoMap(complexDimensionInfoMap); +// dictionaryBasedResultCollector = new DictionaryBasedResultCollector(blockExecutionInfo); +// } +// +// @Test public void testToCollectData() { +// new MockUp<CarbonUtil>() { +// @SuppressWarnings("unused") @Mock boolean[] getDictionaryEncodingArray( +// QueryDimension[] queryDimensions) { +// return new boolean[] { true, false, true, true }; +// } +// +// @SuppressWarnings("unused") @Mock boolean[] getDirectDictionaryEncodingArray( +// QueryDimension[] queryDimensions) { +// return new boolean[] { true, true, false, false }; +// } +// +// @SuppressWarnings("unused") @Mock boolean[] getComplexDataTypeArray( +// QueryDimension[] queryDimensions) { +// return new boolean[] { false, false, true, false }; +// } +// }; +// new MockUp<DataTypeUtil>() { +// @SuppressWarnings("unused") @Mock Object getDataBasedOnDataType(String data, +// DataType actualDataType) { +// return 1; +// } +// }; +// +// new MockUp<NonFilterQueryScannedResult>() { +// @SuppressWarnings("unused") @Mock int[] getDictionaryKeyIntegerArray() { +// this.getMockInstance().incrementCounter(); +// System.out.println("Mocked"); +// return new int[] { 1, 2 }; +// } +// +// @SuppressWarnings("unused") @Mock String[] getNoDictionaryKeyStringArray() { +// return new String[] { "1", "2" }; +// } +// +// @SuppressWarnings("unused") @Mock byte[][] getComplexTypeKeyArray() { +// return new byte[][] { { 1, 2 }, { 1, 2 } }; +// } +// +// @SuppressWarnings("unused") @Mock public MeasureColumnDataChunk getMeasureChunk(int ordinal) { +// MeasureColumnDataChunk measureColumnDataChunk = new MeasureColumnDataChunk(); +// PresenceMeta presenceMeta = new PresenceMeta(); +// BitSet bitSet = new BitSet(); +// bitSet.set(1); +// presenceMeta.setBitSet(bitSet); +// measureColumnDataChunk.setNullValueIndexHolder(presenceMeta); +// CarbonReadDataHolder carbonReadDataHolder = new CarbonReadDataHolder(); +// carbonReadDataHolder.setReadableLongValues(new long[] { 1 }); +// measureColumnDataChunk.setMeasureDataHolder(carbonReadDataHolder); +// return measureColumnDataChunk; +// } +// }; +// +// new MockUp<DirectDictionaryKeyGeneratorFactory>() { +// @SuppressWarnings("unused") @Mock DirectDictionaryGenerator getDirectDictionaryGenerator( +// DataType dataType) { +// if (dataType == DataType.TIMESTAMP) return new TimeStampDirectDictionaryGenerator( +// CarbonCommonConstants.CARBON_TIMESTAMP_DEFAULT_FORMAT); +// else return null; +// } +// }; +// new MockUp<TimeStampDirectDictionaryGenerator>() { +// @SuppressWarnings("unused") @Mock Object getValueFromSurrogate(int key) { +// return 100L; +// } +// }; +// +// new MockUp<ArrayQueryType>() { +// @SuppressWarnings("unused") @Mock Object getDataBasedOnDataTypeFromSurrogates( +// ByteBuffer surrogateData) { +// return ByteBuffer.wrap("1".getBytes()); +// } +// }; +// +// AbstractScannedResult abstractScannedResult = +// new NonFilterQueryScannedResult(blockExecutionInfo); +// abstractScannedResult.setNumberOfRows(2); +// List<Object[]> result = dictionaryBasedResultCollector.collectData(abstractScannedResult, 2); +// int expectedResult = 2; +// assertThat(result.size(), is(equalTo(expectedResult))); +// } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/scan/collector/impl/RawBasedResultCollectorTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/scan/collector/impl/RawBasedResultCollectorTest.java b/core/src/test/java/org/apache/carbondata/core/scan/collector/impl/RawBasedResultCollectorTest.java new file mode 100644 index 0000000..a87e272 --- /dev/null +++ b/core/src/test/java/org/apache/carbondata/core/scan/collector/impl/RawBasedResultCollectorTest.java @@ -0,0 +1,132 @@ +/* + * 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.carbondata.core.scan.collector.impl; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; + +public class RawBasedResultCollectorTest { +// +// private static RawBasedResultCollector rawBasedResultCollector; +// private static BlockExecutionInfo blockExecutionInfo; +// private static KeyGenerator keyGenerator; +// +// @BeforeClass public static void setUp() { +// keyGenerator = new MockUp<KeyGenerator>() { +// @SuppressWarnings("unused") @Mock long[] getKeyArray(byte[] key, int[] maskedByteRanges) { +// return new long[] { 1, 2 }; +// } +// +// @SuppressWarnings("unused") @Mock byte[] generateKey(long[] keys) throws KeyGenException { +// return new byte[] { 1, 2 }; +// } +// +// }.getMockInstance(); +// +// blockExecutionInfo = new BlockExecutionInfo(); +// KeyStructureInfo keyStructureInfo = new KeyStructureInfo(); +// keyStructureInfo.setKeyGenerator(keyGenerator); +// keyStructureInfo.setMaxKey(new byte[] { 1, 2 }); +// keyStructureInfo.setMaskedBytes(new int[] { 1, 2 }); +// keyStructureInfo.setMaskByteRanges(new int[] { 1, 2 }); +// blockExecutionInfo.setKeyStructureInfo(keyStructureInfo); +// AggregatorInfo aggregatorInfo = new AggregatorInfo(); +// aggregatorInfo.setMeasureOrdinals(new int[] { 10, 20, 30, 40 }); +// aggregatorInfo.setMeasureExists(new boolean[] { true, false, false, false }); +// aggregatorInfo.setDefaultValues(new Object[] { 1, 2, 3, 4 }); +// aggregatorInfo.setMeasureDataTypes( +// new DataType[] { DataType.INT, DataType.TIMESTAMP, DataType.INT, DataType.INT }); +// QueryMeasure queryMeasure1 = new QueryMeasure("QMCol1"); +// queryMeasure1.setQueryOrder(1); +// QueryMeasure queryMeasure2 = new QueryMeasure("QMCol2"); +// queryMeasure1.setQueryOrder(2); +// QueryMeasure queryMeasure3 = new QueryMeasure("QMCol3"); +// queryMeasure1.setQueryOrder(3); +// QueryMeasure queryMeasure4 = new QueryMeasure("QMCol4"); +// queryMeasure1.setQueryOrder(4); +// QueryDimension queryDimension1 = new QueryDimension("QDCol1"); +// queryDimension1.setQueryOrder(1); +// ColumnSchema columnSchema = new ColumnSchema(); +// queryDimension1.setDimension(new CarbonDimension(columnSchema, 0, 0, 0, 0)); +// QueryDimension queryDimension2 = new QueryDimension("QDCol2"); +// queryDimension2.setQueryOrder(2); +// queryDimension2.setDimension(new CarbonDimension(columnSchema, 1, 1, 1, 1)); +// QueryDimension queryDimension3 = new QueryDimension("QDCol3"); +// queryDimension3.setQueryOrder(3); +// queryDimension3.setDimension(new CarbonDimension(columnSchema, 2, 0, 0, 0)); +// QueryDimension queryDimension4 = new QueryDimension("QDCol4"); +// queryDimension4.setQueryOrder(4); +// queryDimension4.setDimension(new CarbonDimension(columnSchema, 3, 0, 0, 0)); +// blockExecutionInfo.setQueryDimensions( +// new QueryDimension[] { queryDimension1, queryDimension2, queryDimension3, +// queryDimension4 }); +// blockExecutionInfo.setQueryMeasures( +// new QueryMeasure[] { queryMeasure1, queryMeasure2, queryMeasure3, queryMeasure4 }); +// blockExecutionInfo.setFixedKeyUpdateRequired(true); +// blockExecutionInfo.setAggregatorInfo(aggregatorInfo); +// blockExecutionInfo.setMaskedByteForBlock(new int[] { 1, 2 }); +// blockExecutionInfo.setBlockKeyGenerator(keyGenerator); +// rawBasedResultCollector = new RawBasedResultCollector(blockExecutionInfo); +// } +// +// @Test public void testToCollectData() { +// +// new MockUp<NonFilterQueryScannedResult>() { +// @SuppressWarnings("unused") @Mock byte[] getDictionaryKeyArray() { +// this.getMockInstance().incrementCounter(); +// return new byte[] { 1, 2 }; +// } +// +// @SuppressWarnings("unused") @Mock byte[][] getNoDictionaryKeyArray() { +// return new byte[][] { { 1, 2 } }; +// } +// +// @SuppressWarnings("unused") @Mock byte[][] getComplexTypeKeyArray() { +// return new byte[][] { { 1, 2 }, { 1, 2 } }; +// } +// +// @SuppressWarnings("unused") @Mock public MeasureColumnDataChunk getMeasureChunk(int ordinal) { +// MeasureColumnDataChunk measureColumnDataChunk = new MeasureColumnDataChunk(); +// PresenceMeta presenceMeta = new PresenceMeta(); +// BitSet bitSet = new BitSet(); +// bitSet.set(1); +// presenceMeta.setBitSet(bitSet); +// measureColumnDataChunk.setNullValueIndexHolder(presenceMeta); +// CarbonReadDataHolder carbonReadDataHolder = new CarbonReadDataHolder(); +// carbonReadDataHolder.setReadableLongValues(new long[] { 1 }); +// measureColumnDataChunk.setMeasureDataHolder(carbonReadDataHolder); +// return measureColumnDataChunk; +// } +// }; +// +// new MockUp<QueryUtil>() { +// @SuppressWarnings("unused") @Mock byte[] getMaskedKey(byte[] data, byte[] maxKey, +// int[] maskByteRanges, int byteCount) { +// return new byte[] { 1, 2 }; +// } +// }; +// +// AbstractScannedResult abstractScannedResult = +// new NonFilterQueryScannedResult(blockExecutionInfo); +// abstractScannedResult.setNumberOfRows(2); +// List<Object[]> result = rawBasedResultCollector.collectData(abstractScannedResult, 2); +// int expectedResult = 2; +// assertThat(result.size(), is(equalTo(expectedResult))); +// } +} http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/952cf517/core/src/test/java/org/apache/carbondata/core/scan/complextypes/ArrayQueryTypeTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/carbondata/core/scan/complextypes/ArrayQueryTypeTest.java b/core/src/test/java/org/apache/carbondata/core/scan/complextypes/ArrayQueryTypeTest.java new file mode 100644 index 0000000..a7b31e3 --- /dev/null +++ b/core/src/test/java/org/apache/carbondata/core/scan/complextypes/ArrayQueryTypeTest.java @@ -0,0 +1,57 @@ +/* + * 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.carbondata.core.scan.complextypes; + +import java.nio.ByteBuffer; + +import org.junit.BeforeClass; +import org.junit.Test; + +import static org.pentaho.di.core.util.Assert.assertNotNull; +import static org.pentaho.di.core.util.Assert.assertNull; + +public class ArrayQueryTypeTest { + + private static ArrayQueryType arrayQueryType; + + @BeforeClass public static void setUp() { + String name = "test"; + String parentName = "testParent"; + int blockIndex = 1; + arrayQueryType = new ArrayQueryType(name, parentName, blockIndex); + } + + @Test public void testGetDataBasedOnDataTypeFromSurrogatesForNull() { + ByteBuffer surrogateData = ByteBuffer.allocate(10); + surrogateData.put(0, (byte) 0xFF); + surrogateData.put(1, (byte) 0xFF); + surrogateData.put(2, (byte) 0xFF); + surrogateData.put(3, (byte) 0xFF); + assertNull(arrayQueryType.getDataBasedOnDataTypeFromSurrogates(surrogateData)); + } + + @Test public void testGetDataBasedOnDataTypeFromSurrogates() { + ByteBuffer surrogateData = ByteBuffer.allocate(10); + surrogateData.put(3, (byte) 1); + arrayQueryType.setName("testName"); + arrayQueryType.setParentname("testName"); + arrayQueryType.addChildren(arrayQueryType); + assertNotNull(arrayQueryType.getDataBasedOnDataTypeFromSurrogates(surrogateData)); + } +}