/* * Licensed 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 com.facebook.presto.cassandra; import com.facebook.presto.spi.HostAddress; import com.google.common.collect.ImmutableList; import io.airlift.json.JsonCodec; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; public class TestCassandraSplit { private final JsonCodec<CassandraSplit> codec = JsonCodec.jsonCodec(CassandraSplit.class); private final ImmutableList<HostAddress> addresses = ImmutableList.of( HostAddress.fromParts("127.0.0.1", 44), HostAddress.fromParts("127.0.0.1", 45)); @Test public void testJsonRoundTrip() { CassandraSplit expected = new CassandraSplit("connectorId", "schema1", "table1", "partitionId", "condition", addresses); String json = codec.toJson(expected); CassandraSplit actual = codec.fromJson(json); assertEquals(actual.getConnectorId(), expected.getConnectorId()); assertEquals(actual.getSchema(), expected.getSchema()); assertEquals(actual.getTable(), expected.getTable()); assertEquals(actual.getSplitCondition(), expected.getSplitCondition()); assertEquals(actual.getAddresses(), expected.getAddresses()); } @Test public void testWhereClause() { CassandraSplit split; split = new CassandraSplit( "connectorId", "schema1", "table1", CassandraPartition.UNPARTITIONED_ID, "token(k) >= 0 AND token(k) <= 2", addresses); assertEquals(split.getWhereClause(), " WHERE token(k) >= 0 AND token(k) <= 2"); split = new CassandraSplit( "connectorId", "schema1", "table1", "key = 123", null, addresses); assertEquals(split.getWhereClause(), " WHERE key = 123"); } }