Back to Repositories

Testing HBase Connection Configuration in Canal

This test suite validates HBase connectivity and configuration settings in the Canal client adapter. It focuses on establishing and verifying basic HBase connections through ZooKeeper integration.

Test Coverage Overview

The test coverage focuses on fundamental HBase connection validation and configuration verification.

Key areas tested include:
  • HBase configuration initialization
  • ZooKeeper connection parameters
  • Table existence verification
  • Basic HbaseTemplate functionality

Implementation Analysis

The testing approach employs JUnit to verify HBase connectivity through the Canal client adapter. It implements a straightforward configuration setup pattern using HBaseConfiguration and validates connection through the HbaseTemplate utility class.

Technical implementation includes:
  • Direct HBaseConfiguration creation
  • ZooKeeper quorum configuration
  • Port and parent znode specification

Technical Details

Testing tools and configuration:
  • JUnit 4 testing framework
  • HBaseConfiguration utility
  • Local ZooKeeper instance (127.0.0.1:2181)
  • Custom HbaseTemplate for database operations
  • Apache Hadoop Configuration API

Best Practices Demonstrated

The test demonstrates clean integration testing practices for HBase connectivity.

Notable practices include:
  • Explicit configuration parameter setting
  • Isolated test environment setup
  • Clear separation of configuration and execution logic
  • Use of template pattern for database operations

alibaba/canal

client-adapter/hbase/src/test/java/com/alibaba/otter/canal/client/adapter/hbase/test/HBaseConnectionTest.java

            
package com.alibaba.otter.canal.client.adapter.hbase.test;

import com.alibaba.otter.canal.client.adapter.hbase.support.HbaseTemplate;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.junit.Test;

public class HBaseConnectionTest {

    @Test
    public void test01() {
        Configuration hbaseConfig = HBaseConfiguration.create();
        hbaseConfig.set("hbase.zookeeper.quorum", "127.0.0.1");
        hbaseConfig.set("hbase.zookeeper.property.clientPort", "2181");
        hbaseConfig.set("zookeeper.znode.parent", "/hbase");
        HbaseTemplate hbaseTemplate = new HbaseTemplate(hbaseConfig);
        System.out.println(hbaseTemplate.tableExists("ttt"));
    }
}