Package com.netflix.priam.defaultimpl

Source Code of com.netflix.priam.defaultimpl.StandardTunerTest

package com.netflix.priam.defaultimpl;

import java.io.File;
import java.io.IOException;

import com.google.common.io.Files;
import com.netflix.priam.FakeConfiguration;
import com.netflix.priam.IConfiguration;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class StandardTunerTest
{
    /* note: these are, more or less, arbitrary paritioner class names. as long as the tests exercise the code, all is good */
    private static final String A_PARTITIONER = "com.netflix.priam.utils.NonexistentPartitioner";
    private static final String RANDOM_PARTITIONER = "org.apache.cassandra.dht.RandomPartitioner";
    private static final String MURMUR_PARTITIONER = "org.apache.cassandra.dht.Murmur3Partitioner";
    private static final String BOP_PARTITIONER = "org.apache.cassandra.dht.ByteOrderedPartitioner";

    private IConfiguration config;
    private StandardTuner tuner;

    @Before
    public void setup()
    {

        config = new FakeConfiguration();
        tuner = new StandardTuner(config);
    }

    @Test
    public void derivePartitioner_NullYamlEntry()
    {
        String partitioner = tuner.derivePartitioner(null, A_PARTITIONER);
        assertEquals(A_PARTITIONER, partitioner);
    }

    @Test
    public void derivePartitioner_EmptyYamlEntry()
    {
        String partitioner = tuner.derivePartitioner("", A_PARTITIONER);
        assertEquals(A_PARTITIONER, partitioner);
    }

    @Test
    public void derivePartitioner_RandomPartitioner()
    {
        String partitioner = tuner.derivePartitioner(RANDOM_PARTITIONER, RANDOM_PARTITIONER);
        assertEquals(RANDOM_PARTITIONER, partitioner);
    }

    @Test
    public void derivePartitioner_MurmurPartitioner()
    {
        String partitioner = tuner.derivePartitioner(MURMUR_PARTITIONER, MURMUR_PARTITIONER);
        assertEquals(MURMUR_PARTITIONER, partitioner);
    }

    @Test
    public void derivePartitioner_BOPPartitionerInYaml()
    {
        String partitioner = tuner.derivePartitioner(BOP_PARTITIONER, MURMUR_PARTITIONER);
        assertEquals(BOP_PARTITIONER, partitioner);
    }

    @Test
    public void derivePartitioner_BOPPartitionerInConfig()
    {
        String partitioner = tuner.derivePartitioner(RANDOM_PARTITIONER, BOP_PARTITIONER);
        assertEquals(BOP_PARTITIONER, partitioner);
    }

    @Test
    public void dump() throws IOException
    {
        String target = "/tmp/priam_test.yaml";
        Files.copy(new File("src/main/resources/incr-restore-cassandra.yaml"), new File("/tmp/priam_test.yaml"));
        tuner.writeAllProperties(target, "your_host", "YourSeedProvider");
    }
}
TOP

Related Classes of com.netflix.priam.defaultimpl.StandardTunerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.