/* * 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.lifecycle; import java.io.IOException; import junit.framework.Assert; import org.elasticsearch.common.io.stream.BytesStreamInput; import org.elasticsearch.common.io.stream.BytesStreamOutput; import org.jboss.elasticsearch.river.remote.mgm.NodeJRMgmBaseRequest; import org.jboss.elasticsearch.river.remote.mgm.lifecycle.JRLifecycleCommand; import org.jboss.elasticsearch.river.remote.mgm.lifecycle.JRLifecycleRequest; import org.jboss.elasticsearch.river.remote.mgm.lifecycle.NodeJRLifecycleRequest; import org.junit.Test; /** * Unit test for {@link NodeJRLifecycleRequest} and {@link NodeJRMgmBaseRequest}. * * @author Vlastimil Elias (velias at redhat dot com) */ public class NodeJRLifecycleRequestTest { @Test public void constructor() { // note nodeId cann't be asserted because private and no getter for it :-( { NodeJRLifecycleRequest tested = new NodeJRLifecycleRequest(); Assert.assertNull(tested.getRequest()); } { JRLifecycleRequest request = new JRLifecycleRequest(); NodeJRLifecycleRequest tested = new NodeJRLifecycleRequest("myNode", request); Assert.assertEquals(request, tested.getRequest()); } } @SuppressWarnings("unused") @Test public void serialization() throws IOException { { JRLifecycleRequest request = new JRLifecycleRequest("my river", JRLifecycleCommand.STOP); NodeJRLifecycleRequest testedSrc = new NodeJRLifecycleRequest("myNode", request); NodeJRLifecycleRequest testedTarget = performSerializationAndBasicAsserts(testedSrc); } { JRLifecycleRequest request = new JRLifecycleRequest("my river 2", JRLifecycleCommand.RESTART); NodeJRLifecycleRequest testedSrc = new NodeJRLifecycleRequest("myNode2", request); NodeJRLifecycleRequest testedTarget = performSerializationAndBasicAsserts(testedSrc); } } private NodeJRLifecycleRequest performSerializationAndBasicAsserts(NodeJRLifecycleRequest testedSrc) throws IOException { BytesStreamOutput out = new BytesStreamOutput(); testedSrc.writeTo(out); NodeJRLifecycleRequest testedTarget = new NodeJRLifecycleRequest(); testedTarget.readFrom(new BytesStreamInput(out.bytes())); Assert.assertEquals(testedSrc.getRequest().getRiverName(), testedTarget.getRequest().getRiverName()); Assert.assertEquals(testedSrc.getRequest().getCommand(), testedTarget.getRequest().getCommand()); return testedTarget; } }