package org.apache.usergrid.persistence.collection.serialization.impl;
import java.util.UUID;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.apache.usergrid.persistence.collection.guice.TestCollectionModule;
import org.apache.usergrid.persistence.collection.serialization.MvccEntitySerializationStrategy;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl;
import org.apache.usergrid.persistence.core.test.ITRunner;
import org.apache.usergrid.persistence.core.test.UseModules;
import org.apache.usergrid.persistence.model.entity.Id;
import org.apache.usergrid.persistence.model.entity.SimpleId;
import org.apache.usergrid.persistence.model.util.UUIDGenerator;
import com.google.inject.Inject;
import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
/**
* Same tests as v2, we just override some methods to ensure they throw the correct exceptions
*/
@RunWith( ITRunner.class )
@UseModules( TestCollectionModule.class )
public class MvccEntitySerializationStrategyV3ImplTest extends MvccEntitySerializationStrategyV2Test {
@Inject
private MvccEntitySerializationStrategyV3Impl serializationStrategy;
@Override
protected MvccEntitySerializationStrategy getMvccEntitySerializationStrategy() {
return serializationStrategy;
}
@Test( expected = UnsupportedOperationException.class )
public void loadAscendingHistory() throws ConnectionException {
final Id applicationId = new SimpleId( "application" );
final String name = "test";
ApplicationScope context = new ApplicationScopeImpl( applicationId );
final Id entityId = new SimpleId( UUIDGenerator.newTimeUUID(), name );
final UUID version1 = UUIDGenerator.newTimeUUID();
serializationStrategy.loadAscendingHistory( context, entityId, version1, 20 );
}
@Test( expected = UnsupportedOperationException.class )
public void loadDescendingHistory() throws ConnectionException {
final String name = "test";
final Id applicationId = new SimpleId( "application" );
ApplicationScope context = new ApplicationScopeImpl( applicationId );
final Id entityId = new SimpleId( UUIDGenerator.newTimeUUID(), name );
final UUID version1 = UUIDGenerator.newTimeUUID();
serializationStrategy.loadDescendingHistory( context, entityId, version1, 20 );
}
}