/*
* JBoss, Home of Professional Open Source
* Copyright 2012 Red Hat Inc. and/or its affiliates and other contributors
* as indicated by the @authors tag. All rights reserved.
*/
package org.jboss.elasticsearch.river.remote.mgm.incrementalupdate;
import java.io.IOException;
import junit.framework.Assert;
import org.elasticsearch.common.io.stream.BytesStreamInput;
import org.elasticsearch.common.io.stream.BytesStreamOutput;
import org.junit.Test;
/**
* Unit test for {@link IncrementalUpdateRequest}.
*
* @author Vlastimil Elias (velias at redhat dot com)
*/
public class IncrementalUpdateRequestTest {
@Test
public void constructor_empty() {
{
IncrementalUpdateRequest tested = new IncrementalUpdateRequest();
tested.setRiverName("myriver");
tested.setSpaceKey("AAA");
Assert.assertEquals("myriver", tested.getRiverName());
Assert.assertEquals("AAA", tested.getSpaceKey());
}
}
@Test
public void constructor_filling() {
try {
new IncrementalUpdateRequest(null, "AAA");
Assert.fail("IllegalArgumentException must be thrown");
} catch (IllegalArgumentException e) {
// OK
}
{
IncrementalUpdateRequest tested = new IncrementalUpdateRequest("myriver", null);
Assert.assertEquals("myriver", tested.getRiverName());
Assert.assertNull(tested.getSpaceKey());
Assert.assertFalse(tested.isSpaceKeyRequest());
}
{
IncrementalUpdateRequest tested = new IncrementalUpdateRequest("myriver", "AAA");
Assert.assertEquals("myriver", tested.getRiverName());
Assert.assertEquals("AAA", tested.getSpaceKey());
Assert.assertTrue(tested.isSpaceKeyRequest());
}
}
@Test
public void serialization() throws IOException {
{
IncrementalUpdateRequest testedSrc = new IncrementalUpdateRequest();
IncrementalUpdateRequest testedTarget = performserialization(testedSrc);
Assert.assertNull(testedTarget.getRiverName());
Assert.assertNull(testedTarget.getSpaceKey());
}
{
IncrementalUpdateRequest testedSrc = new IncrementalUpdateRequest("myriver", null);
IncrementalUpdateRequest testedTarget = performserialization(testedSrc);
Assert.assertEquals("myriver", testedTarget.getRiverName());
Assert.assertNull(testedTarget.getSpaceKey());
}
{
IncrementalUpdateRequest testedSrc = new IncrementalUpdateRequest("myriver", "ORG");
IncrementalUpdateRequest testedTarget = performserialization(testedSrc);
Assert.assertEquals("myriver", testedTarget.getRiverName());
Assert.assertEquals("ORG", testedTarget.getSpaceKey());
}
}
/**
* @param testedSrc
* @return
* @throws IOException
*/
private IncrementalUpdateRequest performserialization(IncrementalUpdateRequest testedSrc) throws IOException {
BytesStreamOutput out = new BytesStreamOutput();
testedSrc.writeTo(out);
IncrementalUpdateRequest testedTarget = new IncrementalUpdateRequest();
testedTarget.readFrom(new BytesStreamInput(out.bytes()));
return testedTarget;
}
}