Package org.cassandraunit.dataset.yaml

Source Code of org.cassandraunit.dataset.yaml.ClasspathYamlDataSetTest

package org.cassandraunit.dataset.yaml;

import me.prettyprint.hector.api.ddl.ColumnIndexType;
import me.prettyprint.hector.api.ddl.ColumnType;
import me.prettyprint.hector.api.ddl.ComparatorType;
import org.cassandraunit.dataset.DataSet;
import org.cassandraunit.dataset.ParseException;
import org.cassandraunit.model.ColumnFamilyModel;
import org.cassandraunit.model.ColumnModel;
import org.cassandraunit.model.StrategyModel;
import org.cassandraunit.type.GenericTypeEnum;
import org.junit.Test;

import java.util.List;
import static org.cassandraunit.SampleDataSetChecker.assertThatKeyspaceModelWithCompositeTypeIsOk;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertThat;

/**
* @author Jeremy Sevellec
* @author Marc Carre (#27)
*/
public class ClasspathYamlDataSetTest {

  @Test
  public void shouldGetAYamlDataSetStructure() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetDefaultValues.yaml");
    assertThat(dataSet, notNullValue());
    assertThat(dataSet.getKeyspace(), notNullValue());
    assertThat(dataSet.getKeyspace().getName(), is("beautifulKeyspaceName"));
    assertThat(dataSet.getKeyspace().getReplicationFactor(), is(1));
    assertThat(dataSet.getKeyspace().getStrategy(), is(StrategyModel.SIMPLE_STRATEGY));

    assertThat(dataSet.getColumnFamilies(), notNullValue());
    assertThat(dataSet.getColumnFamilies().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(0).getName(), is("columnFamily1"));
    assertThat(dataSet.getColumnFamilies().get(0).getType(), is(ColumnType.STANDARD));
    assertThat(dataSet.getColumnFamilies().get(0).getKeyType().getTypeName(),
        is(ComparatorType.BYTESTYPE.getTypeName()));
    assertThat(dataSet.getColumnFamilies().get(0).getComparatorType().getTypeName(),
        is(ComparatorType.BYTESTYPE.getTypeName()));
    assertThat(dataSet.getColumnFamilies().get(0).getSubComparatorType(), nullValue());
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfNull() {
    DataSet dataSet = new ClassPathYamlDataSet(null);
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfDataSetNotExist() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/unknown.yaml");
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfDataSetEmpty() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadMissingKeyspaceName.yaml");
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfMissingKeyspaceName() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadMissingKeyspaceName.yaml");
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfInvalidStrategy() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadUnknownStrategy.yaml");
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfMissingColumnFamilyName() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadMissingColumnFamilyName.yaml");
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfInvalidColumnFamilyType() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadInvalidColumnFamilyType.yaml");
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfInvalidRowKeyType() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadInvalidKeyType.yaml");
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfInvalidComparatorType() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadInvalidComparatorType.yaml");
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfInvalidSubComparatorType() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadInvalidSubComparatorType.yaml");
    dataSet.getKeyspace();
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAYamlDataSetStructureBecauseOfInvalidDefaultColumnValueType() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadInvalidDefaultColumnValueType.yaml");
    dataSet.getKeyspace();
  }

  @Test
  public void shouldGetAYamlDataSetWithData() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetDefaultValues.yaml");
    assertThat(dataSet, notNullValue());
    assertThat(dataSet.getKeyspace(), notNullValue());

    assertThat(dataSet.getColumnFamilies(), notNullValue());
    assertThat(dataSet.getColumnFamilies().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(0).getName(), is("columnFamily1"));
    assertThat(dataSet.getColumnFamilies().get(0).getRows(), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(0).getRows().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0).getKey().getValue(), is("01"));
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0).getKey().getType(),
        is(GenericTypeEnum.BYTES_TYPE));
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0).getColumns(), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0).getColumns().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0).getColumns().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0).getColumns().get(0).getName().getValue(),
        is("02"));
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0).getColumns().get(0).getName().getType(),
        is(GenericTypeEnum.BYTES_TYPE));
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0).getColumns().get(0).getValue().getValue(),
        is("03"));
    assertThat(dataSet.getColumnFamilies().get(0).getRows().get(0).getColumns().get(0).getValue().getType(),
        is(GenericTypeEnum.BYTES_TYPE));

  }

  @Test
  public void shouldGetAYamlDataSetWithDefinedValuesAndData() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetDefinedValues.yaml");
    assertThat(dataSet, notNullValue());
    assertThat(dataSet.getKeyspace(), notNullValue());
    assertThat(dataSet.getKeyspace().getName(), is("beautifulDefinedKeyspaceName"));
    assertThat(dataSet.getKeyspace().getReplicationFactor(), is(1));
    assertThat(dataSet.getKeyspace().getStrategy(), is(StrategyModel.SIMPLE_STRATEGY));

    assertThat(dataSet.getColumnFamilies(), notNullValue());
    assertThat(dataSet.getColumnFamilies().size(), is(4));

        ColumnFamilyModel columnFamily1 = dataSet.getColumnFamilies().get(0);
        assertThat(columnFamily1, notNullValue());
    assertThat(columnFamily1.getName(), is("columnFamily1"));
    assertThat(columnFamily1.getKeyType().getTypeName(),
        is(ComparatorType.UTF8TYPE.getTypeName()));
    assertThat(columnFamily1.getComparatorType().getTypeName(),
        is(ComparatorType.UTF8TYPE.getTypeName()));
    assertThat(columnFamily1.getSubComparatorType(), is(nullValue()));
        assertThat(columnFamily1.getComment(),is("amazing comment"));
        assertThat(columnFamily1.getCompactionStrategy(),is("LeveledCompactionStrategy"));
        assertThat(columnFamily1.getCompactionStrategyOptions().get(0).getName(),is("sstable_size_in_mb"));
        assertThat(columnFamily1.getCompactionStrategyOptions().get(0).getValue(),is("10"));
        assertThat(columnFamily1.getGcGraceSeconds(),is(9999));
        assertThat(columnFamily1.getMaxCompactionThreshold(),is(31));
        assertThat(columnFamily1.getMinCompactionThreshold(),is(3));
        assertThat(columnFamily1.getReadRepairChance(),is(0.1d));
        assertThat(columnFamily1.getReplicationOnWrite(),is(Boolean.FALSE));

    assertThat(columnFamily1.getRows(), notNullValue());
    assertThat(columnFamily1.getRows().size(), is(1));
    assertThat(columnFamily1.getRows().get(0), notNullValue());
    assertThat(columnFamily1.getRows().get(0).getKey().getValue(), is("key01"));
    assertThat(columnFamily1.getRows().get(0).getKey().getType(),
        is(GenericTypeEnum.UTF_8_TYPE));
    assertThat(columnFamily1.getRows().get(0).getColumns(), notNullValue());
    assertThat(columnFamily1.getRows().get(0).getColumns().size(), is(1));
    assertThat(columnFamily1.getRows().get(0).getColumns().get(0), notNullValue());
    assertThat(columnFamily1.getRows().get(0).getColumns().get(0).getName().getValue(),
        is("columnName1"));
    assertThat(columnFamily1.getRows().get(0).getColumns().get(0).getName().getType(),
        is(GenericTypeEnum.UTF_8_TYPE));
    assertThat(columnFamily1.getRows().get(0).getColumns().get(0).getValue().getValue(),
        is("columnValue1"));
    assertThat(columnFamily1.getRows().get(0).getColumns().get(0).getValue().getType(),
        is(GenericTypeEnum.UTF_8_TYPE));

    assertThat(dataSet.getColumnFamilies().get(1), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(1).getName(), is("columnFamily2"));
    assertThat(dataSet.getColumnFamilies().get(1).getKeyType().getTypeName(),
        is(ComparatorType.UTF8TYPE.getTypeName()));
    assertThat(dataSet.getColumnFamilies().get(1).getComparatorType().getTypeName(),
        is(ComparatorType.UTF8TYPE.getTypeName()));
    assertThat(dataSet.getColumnFamilies().get(1).getSubComparatorType().getTypeName(),
        is(ComparatorType.UTF8TYPE.getTypeName()));

    assertThat(dataSet.getColumnFamilies().get(1).getRows(), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(1).getRows().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getKey().getValue(), is("key02"));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getKey().getType(),
        is(GenericTypeEnum.UTF_8_TYPE));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getColumns(), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getColumns().isEmpty(), is(true));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns(), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getName().getValue(),
        is("superColumnName2"));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getName().getType(),
        is(GenericTypeEnum.UTF_8_TYPE));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns(),
        notNullValue());
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().size(),
        is(1));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0),
        notNullValue());
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
        .getName().getValue(), is("columnName2"));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
        .getName().getType(), is(GenericTypeEnum.UTF_8_TYPE));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
        .getValue().getValue(), is("2"));
    assertThat(dataSet.getColumnFamilies().get(1).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
        .getValue().getType(), is(GenericTypeEnum.LONG_TYPE));

  }

  @Test
  public void shouldGetAStandardCounterColumnFamily() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetDefinedValues.yaml");
    assertThat(dataSet.getColumnFamilies().get(2).getRows(), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(2).getRows().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(2).getRows().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(2).getRows().get(0).getKey().getValue(), is("key10"));
    assertThat(dataSet.getColumnFamilies().get(2).getRows().get(0).getKey().getType(),
        is(GenericTypeEnum.UTF_8_TYPE));
    assertThat(dataSet.getColumnFamilies().get(2).getRows().get(0).getColumns(), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(2).getRows().get(0).getColumns().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(2).getRows().get(0).getColumns().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(2).getRows().get(0).getColumns().get(0).getName().getValue(),
        is("columnName11"));
    assertThat(dataSet.getColumnFamilies().get(2).getRows().get(0).getColumns().get(0).getValue().getValue(),
        is("11"));
    assertThat(dataSet.getColumnFamilies().get(2).getRows().get(0).getColumns().get(0).getValue().getType(),
        is(GenericTypeEnum.COUNTER_TYPE));
  }

  @Test
  public void shouldGetASuperCounterColumnFamily() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetDefinedValues.yaml");
    assertThat(dataSet.getColumnFamilies().get(3), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(3).getName(), is("superCounterColumnFamily"));
    assertThat(dataSet.getColumnFamilies().get(3).getRows(), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(3).getRows().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getKey().getValue(), is("key10"));
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getKey().getType(),
        is(GenericTypeEnum.UTF_8_TYPE));
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns(), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns().size(), is(1));
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns().get(0), notNullValue());
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns().get(0).getName().getValue(),
        is("superColumnName11"));
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns().get(0).getColumns(),
        notNullValue());
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns().get(0).getColumns().size(),
        is(1));
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns().get(0).getColumns().get(0),
        notNullValue());
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
        .getName().getValue(), is("columnName111"));
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
        .getValue().getValue(), is("111"));
    assertThat(dataSet.getColumnFamilies().get(3).getRows().get(0).getSuperColumns().get(0).getColumns().get(0)
        .getValue().getType(), is(GenericTypeEnum.COUNTER_TYPE));
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetCounterColumnFamilyBecauseThereIsFunctionOverridingDefaultValueType() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetBadCounterColumnFamilyWithFunction.yaml");
    dataSet.getKeyspace();
  }

  @Test
  public void shouldGetAColumnFamilyWithSecondaryIndex() {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetWithSecondaryIndex.yaml");

    assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(0).getColumnName().getValue(),
        is("columnWithIndexAndUTF8ValidationClass"));
    assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(0).getColumnIndexType(),
        is(ColumnIndexType.KEYS));
    assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(0).getValidationClass(),
        is(ComparatorType.UTF8TYPE));

        assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(1).getColumnName().getValue(),
                is("columnWithIndexAndIndexNameAndUTF8ValidationClass"));
        assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(1).getColumnIndexType(),
                is(ColumnIndexType.KEYS));
        assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(1).getValidationClass(),
                is(ComparatorType.UTF8TYPE));
        assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(1).getIndexName(),is("indexNameOfTheIndex"));

    assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(2).getColumnName().getValue(),
        is("columnWithUTF8ValidationClass"));
    assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(2).getColumnIndexType(), nullValue());
    assertThat(dataSet.getColumnFamilies().get(0).getColumnsMetadata().get(2).getValidationClass(),
        is(ComparatorType.UTF8TYPE));
  }

  @Test
  public void shouldGetAColumnFamilyWithCompositeType() throws Exception {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetWithCompositeType.yaml");
    assertThatKeyspaceModelWithCompositeTypeIsOk(dataSet);
  }

  @Test(expected = ParseException.class)
  public void shouldNotGetAColumnFamilyWithCompositeType() throws Exception {
    DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetWithBadCompositeType.yaml");
    dataSet.getKeyspace();
  }

    @Test
    public void shouldGetAColumnFamilyWithNullColumnValue() {
        DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetWithNullColumnValue.yaml");
        ColumnFamilyModel columnFamilyModel = dataSet.getColumnFamilies().get(0);
        assertThat(columnFamilyModel.getName(), is("columnFamilyWithNullColumnValue"));
        ColumnModel columnModel = columnFamilyModel.getRows().get(0).getColumns().get(0);
        assertThat(columnModel.getName().getValue(), is("columnWithNullColumnValue"));
        assertThat(columnModel.getValue(), nullValue());
    }
   @Test
   public void shouldGetAColumnFamilyWithTimestampedColumn() {
       DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetWithTimestamp.yaml");
       ColumnFamilyModel columnFamilyModel = dataSet.getColumnFamilies().get(0);
       assertThat(columnFamilyModel.getName(), is("columnFamilyWithTimestampedColumn"));
       ColumnModel columnModel = columnFamilyModel.getRows().get(0).getColumns().get(0);
       assertThat(columnModel.getName().getValue(), is("columnWithTimestamp"));
       assertThat(columnModel.getTimestamp(), is(2020L));
   }

    @Test
    public void shouldGetAColumnFamilyWithMetadataAndFunction() {
        DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetWithMetadataAndFunctions.yaml");
        ColumnFamilyModel columnFamilyModel = dataSet.getColumnFamilies().get(0);
        assertThat(columnFamilyModel.getName(), is("columnFamilyWithMetadata"));
        List<ColumnModel> columns = columnFamilyModel.getRows().get(0).getColumns();
        ColumnModel column1 = columns.get(0);
        assertThat(column1.getName().getValue(),is("column1"));
        assertThat(column1.getValue().getValue(),is("1"));
        assertThat(column1.getValue().getType(),is(GenericTypeEnum.LONG_TYPE));

        ColumnModel column2 = columns.get(1);
        assertThat(column2.getName().getValue(),is("column2"));
        assertThat(column2.getValue().getValue(),is("2"));
        assertThat(column2.getValue().getType(),is(GenericTypeEnum.LONG_TYPE));

        ColumnModel column3 = columns.get(2);
        assertThat(column3.getName().getValue(),is("column3"));
        assertThat(column3.getValue().getValue(),is("value3"));
        assertThat(column3.getValue().getType(),is(GenericTypeEnum.UTF_8_TYPE));
    }

    @Test
    public void shouldGetAColumnFamilyWithColumnsInReverseOrder() {
        DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetWithReversedComparatorOnSimpleType.yaml");

        ColumnFamilyModel columnFamilyModel = dataSet.getColumnFamilies().get(0);
        assertThat(columnFamilyModel.getName(), is("columnFamilyWithReversedComparatorOnSimpleType"));
        assertThat(columnFamilyModel.getComparatorType().getTypeName(), is(ComparatorType.UTF8TYPE.getTypeName()));
        assertThat(columnFamilyModel.getComparatorTypeAlias(), is("(reversed=true)"));

        List<ColumnModel> columns = columnFamilyModel.getRows().get(0).getColumns();

        ColumnModel column1 = columns.get(0);
        assertThat(column1.getName().getValue(), is("c"));
        assertThat(column1.getValue().getValue(), is("c"));

        ColumnModel column2 = columns.get(1);
        assertThat(column2.getName().getValue(), is("b"));
        assertThat(column2.getValue().getValue(), is("b"));

        ColumnModel column3 = columns.get(2);
        assertThat(column3.getName().getValue(), is("a"));
        assertThat(column3.getValue().getValue(), is("a"));
    }

    @Test
    public void shouldGetAColumnFamilyWithCompositeColumnsInReverseOrder() {
        DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetWithReversedComparatorOnCompositeTypes.yaml");

        ColumnFamilyModel columnFamilyModel = dataSet.getColumnFamilies().get(0);
        assertThat(columnFamilyModel.getName(), is("columnFamilyWithReversedComparatorOnCompositeTypes"));
        assertThat(columnFamilyModel.getComparatorType().getTypeName(), is(ComparatorType.COMPOSITETYPE.getTypeName()));
        assertThat(columnFamilyModel.getComparatorTypeAlias(), is("(LongType(reversed=true),UTF8Type,IntegerType(reversed=true))"));

        GenericTypeEnum[] expecTedTypesBelongingCompositeType = new GenericTypeEnum[] { GenericTypeEnum.LONG_TYPE, GenericTypeEnum.UTF_8_TYPE,
                GenericTypeEnum.INTEGER_TYPE };
        List<ColumnModel> columns = columnFamilyModel.getRows().get(0).getColumns();

        assertThat(columns.get(0).getName().getType(), is(GenericTypeEnum.COMPOSITE_TYPE));
        assertThat(columns.get(0).getName().getCompositeValues(), is(new String[] { "12", "aa", "11" }));
        assertThat(columns.get(0).getName().getTypesBelongingCompositeType(), is(expecTedTypesBelongingCompositeType));
        assertThat(columns.get(0).getValue().getValue(), is("v6"));

        assertThat(columns.get(1).getName().getType(), is(GenericTypeEnum.COMPOSITE_TYPE));
        assertThat(columns.get(1).getName().getCompositeValues(), is(new String[] { "12", "ab", "12" }));
        assertThat(columns.get(1).getName().getTypesBelongingCompositeType(), is(expecTedTypesBelongingCompositeType));
        assertThat(columns.get(1).getValue().getValue(), is("v5"));

        assertThat(columns.get(2).getName().getType(), is(GenericTypeEnum.COMPOSITE_TYPE));
        assertThat(columns.get(2).getName().getCompositeValues(), is(new String[] { "12", "ab", "11" }));
        assertThat(columns.get(2).getName().getTypesBelongingCompositeType(), is(expecTedTypesBelongingCompositeType));
        assertThat(columns.get(2).getValue().getValue(), is("v4"));

        assertThat(columns.get(3).getName().getType(), is(GenericTypeEnum.COMPOSITE_TYPE));
        assertThat(columns.get(3).getName().getCompositeValues(), is(new String[] { "11", "aa", "11" }));
        assertThat(columns.get(3).getName().getTypesBelongingCompositeType(), is(expecTedTypesBelongingCompositeType));
        assertThat(columns.get(3).getValue().getValue(), is("v3"));

        assertThat(columns.get(4).getName().getType(), is(GenericTypeEnum.COMPOSITE_TYPE));
        assertThat(columns.get(4).getName().getCompositeValues(), is(new String[] { "11", "ab", "12" }));
        assertThat(columns.get(4).getName().getTypesBelongingCompositeType(), is(expecTedTypesBelongingCompositeType));
        assertThat(columns.get(4).getValue().getValue(), is("v2"));

        assertThat(columns.get(5).getName().getType(), is(GenericTypeEnum.COMPOSITE_TYPE));
        assertThat(columns.get(5).getName().getCompositeValues(), is(new String[] { "11", "ab", "11" }));
        assertThat(columns.get(5).getName().getTypesBelongingCompositeType(), is(expecTedTypesBelongingCompositeType));
        assertThat(columns.get(5).getValue().getValue(), is("v1"));
    }


    @Test
    public void shouldGetBinaryData() {
        DataSet dataSet = new ClassPathYamlDataSet("yaml/dataSetWithBinaryData.yaml");
        ColumnFamilyModel columnFamilyModel = dataSet.getColumnFamilies().get(0);
        assertThat(columnFamilyModel.getName(), is("columnFamilyWithBinaryData"));
        List<ColumnModel> columns = columnFamilyModel.getRows().get(0).getColumns();
        ColumnModel column1 = columns.get(0);
        assertThat(column1.getName().getValue(), is("a"));
        assertThat(column1.getValue().getValue(), is("aGVsbG8gd29ybGQh"));
        assertThat(column1.getValue().getType(), is(GenericTypeEnum.BYTES_TYPE));

        ColumnModel column2 = columns.get(1);
        assertThat(column2.getName().getValue(), is("b"));
        assertThat(column2.getValue().getValue(), is("aGVsbG8gd29ybGQh"));
        assertThat(column2.getValue().getType(), is(GenericTypeEnum.BYTES_TYPE));

        ColumnModel column3 = columns.get(2);
        assertThat(column3.getName().getValue(), is("c"));
        assertThat(column3.getValue().getValue(), is("aGVsbG8gd29ybGQh"));
        assertThat(column3.getValue().getType(), is(GenericTypeEnum.BYTES_TYPE));
    }
}
TOP

Related Classes of org.cassandraunit.dataset.yaml.ClasspathYamlDataSetTest

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.