HBASE-26567 Remove IndexType from ChunkCreator (#3947)
[hbase.git] / hbase-server / src / test / java / org / apache / hadoop / hbase / client / TestCloneSnapshotFromClientCustomSFT.java
blob53b7f58d9bb6405d5d705b790fd8c46161f4ac8d
1 /**
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 package org.apache.hadoop.hbase.client;
20 import static org.junit.Assert.assertEquals;
21 import static org.junit.Assert.assertThrows;
23 import java.io.IOException;
24 import org.apache.hadoop.hbase.HBaseClassTestRule;
25 import org.apache.hadoop.hbase.TableName;
26 import org.apache.hadoop.hbase.regionserver.storefiletracker.StoreFileTrackerFactory;
27 import org.apache.hadoop.hbase.testclassification.ClientTests;
28 import org.apache.hadoop.hbase.testclassification.LargeTests;
29 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
30 import org.junit.ClassRule;
31 import org.junit.Test;
32 import org.junit.experimental.categories.Category;
34 @Category({ LargeTests.class, ClientTests.class })
35 public class TestCloneSnapshotFromClientCustomSFT extends CloneSnapshotFromClientTestBase{
37 @ClassRule
38 public static final HBaseClassTestRule CLASS_RULE =
39 HBaseClassTestRule.forClass(TestCloneSnapshotFromClientCustomSFT.class);
41 public static final String CLONE_SFT = "FILE";
43 @Test
44 public void testCloneSnapshotWithCustomSFT() throws IOException, InterruptedException {
45 TableName clonedTableName =
46 TableName.valueOf(getValidMethodName() + "-" + EnvironmentEdgeManager.currentTime());
48 admin.cloneSnapshot(snapshotName1, clonedTableName, false, CLONE_SFT);
49 verifyRowCount(TEST_UTIL, clonedTableName, snapshot1Rows);
51 TableDescriptor td = admin.getDescriptor(clonedTableName);
52 assertEquals(CLONE_SFT, td.getValue(StoreFileTrackerFactory.TRACKER_IMPL));
54 TEST_UTIL.deleteTable(clonedTableName);
57 @Test
58 public void testCloneSnapshotWithIncorrectCustomSFT() throws IOException, InterruptedException {
59 TableName clonedTableName =
60 TableName.valueOf(getValidMethodName() + "-" + EnvironmentEdgeManager.currentTime());
62 IOException ioException = assertThrows(IOException.class, () -> {
63 admin.cloneSnapshot(snapshotName1, clonedTableName, false, "IncorrectSFT");
64 });
66 assertEquals(
67 "java.lang.RuntimeException: java.lang.RuntimeException: " +
68 "java.lang.ClassNotFoundException: Class IncorrectSFT not found",
69 ioException.getMessage());