private void assertEqualMessages(V3LcapMessage a, V3LcapMessage b) throws Exception { assertTrue(a.getOriginatorId() == b.getOriginatorId()); assertEquals(a.getOpcode(), b.getOpcode()); assertEquals(a.getTargetUrl(), b.getTargetUrl()); assertEquals(a.getArchivalId(), b.getArchivalId()); assertEquals(a.getProtocolVersion(), b.getProtocolVersion()); assertEquals(a.getPollerNonce(), b.getPollerNonce()); assertEquals(a.getVoterNonce(), b.getVoterNonce()); assertEquals(a.getVoterNonce2(), b.getVoterNonce2()); assertEquals(a.getPluginVersion(), b.getPluginVersion()); assertEquals(a.getHashAlgorithm(), b.getHashAlgorithm()); assertEquals(a.isVoteComplete(), b.isVoteComplete()); assertEquals(a.getRepairDataLength(), b.getRepairDataLength()); assertEquals(a.getLastVoteBlockURL(), b.getLastVoteBlockURL()); assertIsomorphic(a.getNominees(), b.getNominees()); List aBlocks = new ArrayList(); List bBlocks = new ArrayList(); for (VoteBlocksIterator iter = a.getVoteBlockIterator(); iter.hasNext(); ) { aBlocks.add(iter.next()); } for (VoteBlocksIterator iter = b.getVoteBlockIterator(); iter.hasNext(); ) { bBlocks.add(iter.next()); } assertTrue(aBlocks.equals(bBlocks)); // TODO: Figure out how to test time. }
public void testNoOpMessageCreation() throws Exception { // Without voterNonce2 V3LcapMessage noopMsg = V3LcapMessage.makeNoOpMsg(m_testID, m_testBytes, m_testBytes, theDaemon); // With voterNonce2 V3LcapMessage noopMsg2 = V3LcapMessage.makeNoOpMsg(m_testID, m_testBytes, m_testBytes, m_testBytes, theDaemon); // now check the fields we expect to be valid assertEquals(V3LcapMessage.MSG_NO_OP, noopMsg.getOpcode()); assertTrue(m_testID == noopMsg.getOriginatorId()); assertEquals(m_testBytes, noopMsg.getPollerNonce()); assertEquals(m_testBytes, noopMsg.getVoterNonce()); assertEquals(null, noopMsg.getVoterNonce2()); assertEquals(null, noopMsg.getVoteBlocks()); assertEquals(V3LcapMessage.EST_ENCODED_HEADER_LENGTH, noopMsg.getEstimatedEncodedLength()); // Same for msg with voterNonce2 assertEquals(V3LcapMessage.MSG_NO_OP, noopMsg2.getOpcode()); assertTrue(m_testID == noopMsg2.getOriginatorId()); assertEquals(m_testBytes, noopMsg2.getPollerNonce()); assertEquals(m_testBytes, noopMsg2.getVoterNonce()); assertEquals(m_testBytes, noopMsg2.getVoterNonce2()); assertEquals(null, noopMsg2.getVoteBlocks()); assertEquals(V3LcapMessage.EST_ENCODED_HEADER_LENGTH, noopMsg2.getEstimatedEncodedLength()); }
public void testNoOpEncoding() throws Exception { V3LcapMessage noopMsg = V3LcapMessage.makeNoOpMsg(m_testID, m_testBytes, m_testBytes, theDaemon); InputStream fromMsg = noopMsg.getInputStream(); V3LcapMessage msg = new V3LcapMessage(fromMsg, tempDir, theDaemon); // now test to see if we got back what we started with assertTrue(m_testID == msg.getOriginatorId()); assertEquals(V3LcapMessage.MSG_NO_OP, msg.getOpcode()); assertEquals(m_testBytes, msg.getPollerNonce()); assertEquals(m_testBytes, msg.getVoterNonce()); assertEquals(null, msg.getVoterNonce2()); }
public void testRandomNoOpMessageCreation() throws Exception { V3LcapMessage noopMsg1 = V3LcapMessage.makeNoOpMsg(m_testID, theDaemon); V3LcapMessage noopMsg2 = V3LcapMessage.makeNoOpMsg(m_testID, theDaemon); // now check the fields we expect to be valid assertEquals(V3LcapMessage.MSG_NO_OP, noopMsg1.getOpcode()); assertEquals(V3LcapMessage.MSG_NO_OP, noopMsg2.getOpcode()); assertTrue(noopMsg1.getOriginatorId() == m_testID); assertTrue(noopMsg1.getOriginatorId() == noopMsg2.getOriginatorId()); assertFalse(noopMsg1.getPollerNonce() == noopMsg2.getPollerNonce()); assertFalse(noopMsg1.getVoterNonce() == noopMsg2.getVoterNonce()); assertEquals(null, noopMsg1.getVoterNonce2()); assertEquals(null, noopMsg2.getVoterNonce2()); assertEquals(null, noopMsg1.getVoteBlocks()); assertEquals(null, noopMsg2.getVoteBlocks()); }
public void testRequestMessageCreation() throws Exception { V3LcapMessage reqMsg = new V3LcapMessage( "ArchivalID_2", "key", "Plug42", m_testBytes, m_testBytes, V3LcapMessage.MSG_REPAIR_REQ, 987654321, m_testID, tempDir, theDaemon); reqMsg.setTargetUrl("http://foo.com/"); for (Iterator ix = m_testVoteBlocks.iterator(); ix.hasNext(); ) { reqMsg.addVoteBlock((VoteBlock) ix.next()); } assertEquals(3, reqMsg.getProtocolVersion()); assertEquals("Plug42", reqMsg.getPluginVersion()); assertTrue(m_testID == reqMsg.getOriginatorId()); assertEquals(V3LcapMessage.MSG_REPAIR_REQ, reqMsg.getOpcode()); assertEquals("ArchivalID_2", reqMsg.getArchivalId()); assertEquals("http://foo.com/", reqMsg.getTargetUrl()); assertEquals(m_testBytes, reqMsg.getPollerNonce()); assertEquals(m_testBytes, reqMsg.getVoterNonce()); assertEquals(null, reqMsg.getVoterNonce2()); List aBlocks = new ArrayList(); List bBlocks = new ArrayList(); for (VoteBlocksIterator iter = m_testMsg.getVoteBlockIterator(); iter.hasNext(); ) { aBlocks.add(iter.next()); } for (VoteBlocksIterator iter = reqMsg.getVoteBlockIterator(); iter.hasNext(); ) { bBlocks.add(iter.next()); } assertEquals(aBlocks, bBlocks); // Actual size of test vote blocks is unpredictable assertTrue(reqMsg.getEstimatedEncodedLength() > V3LcapMessage.EST_ENCODED_HEADER_LENGTH); }