public void testScheduleOurHash() { V1Poll p = testV1polls[0]; p.m_pollstate = V1Poll.PS_WAIT_HASH; // no time has elapsed - so we should be able to schedule our hash assertTrue(p.scheduleOurHash()); // half the time has elapsed so we should be able to schedule our hash TimeBase.step(p.m_deadline.getRemainingTime() / 2); assertTrue(p.scheduleOurHash()); // all of the time has elapsed we should not be able to schedule our hash TimeBase.step(p.m_deadline.getRemainingTime() - 1000); assertFalse(p.scheduleOurHash()); p.m_pollstate = V1Poll.PS_COMPLETE; }
/** test for method stopVote(..) */ public void testStopVote() { V1Poll p = testV1polls[1]; p.m_pendingVotes = 3; p.stopVoteCheck(); assertEquals(2, p.m_pendingVotes); p.m_pollstate = V1Poll.PS_COMPLETE; }
/** test for method vote(..) */ public void testVote() { V1Poll p = testV1polls[1]; p.m_hash = ByteArray.makeRandomBytes(20); try { p.castOurVote(); } catch (IllegalStateException e) { // the socket isn't inited and should squack } p.m_pollstate = V1Poll.PS_COMPLETE; }
/** test for method stopPoll(..) */ public void testStopPoll() { V1Poll p = testV1polls[1]; p.m_tally.quorum = 10; p.m_tally.numAgree = 7; p.m_tally.numDisagree = 3; p.m_pollstate = V1Poll.PS_WAIT_TALLY; p.stopPoll(); assertTrue(p.m_pollstate == V1Poll.PS_COMPLETE); p.startPoll(); assertTrue(p.m_pollstate == V1Poll.PS_COMPLETE); }
/** test for method voteInPoll(..) */ public void testVoteInPoll() { V1Poll p = testV1polls[1]; p.m_tally.quorum = 10; p.m_tally.numAgree = 5; p.m_tally.numDisagree = 2; p.m_tally.wtAgree = 2000; p.m_tally.wtDisagree = 200; p.m_hash = ByteArray.makeRandomBytes(20); try { p.voteInPoll(); } catch (IllegalStateException e) { // the socket isn't inited and should squack } p.m_tally.numAgree = 20; try { p.voteInPoll(); } catch (NullPointerException npe) { // the socket isn't inited and should squack } p.m_pollstate = V1Poll.PS_COMPLETE; }
public static V1Poll createCompletedPoll( LockssDaemon daemon, ArchivalUnit au, V1LcapMessage testmsg, int numAgree, int numDisagree, PollManager pollmanager) throws Exception { log.debug( "createCompletedPoll: au: " + au.toString() + " peer " + testmsg.getOriginatorId() + " votes " + numAgree + "/" + numDisagree); CachedUrlSetSpec cusSpec = null; if ((testmsg.getLwrBound() != null) && (testmsg.getLwrBound().equals(PollSpec.SINGLE_NODE_LWRBOUND))) { cusSpec = new SingleNodeCachedUrlSetSpec(testmsg.getTargetUrl()); } else { cusSpec = new RangeCachedUrlSetSpec( testmsg.getTargetUrl(), testmsg.getLwrBound(), testmsg.getUprBound()); } CachedUrlSet cus = au.makeCachedUrlSet(cusSpec); PollSpec spec = new PollSpec(cus, Poll.V1_CONTENT_POLL); ((MockCachedUrlSet) spec.getCachedUrlSet()).setHasContent(false); V1Poll p = null; if (testmsg.isContentPoll()) { p = new V1ContentPoll( spec, pollmanager, testmsg.getOriginatorId(), testmsg.getChallenge(), testmsg.getDuration(), testmsg.getHashAlgorithm()); } else if (testmsg.isNamePoll()) { p = new V1NamePoll( spec, pollmanager, testmsg.getOriginatorId(), testmsg.getChallenge(), testmsg.getDuration(), testmsg.getHashAlgorithm()); } else if (testmsg.isVerifyPoll()) { p = new V1VerifyPoll( spec, pollmanager, testmsg.getOriginatorId(), testmsg.getChallenge(), testmsg.getDuration(), testmsg.getHashAlgorithm(), testmsg.getVerifier()); } assertNotNull(p); p.setMessage(testmsg); p.m_tally.quorum = numAgree + numDisagree; p.m_tally.numAgree = numAgree; p.m_tally.numDisagree = numDisagree; p.m_tally.wtAgree = 2000; p.m_tally.wtDisagree = 200; p.m_tally.localEntries = makeEntries(1, 3); p.m_tally.votedEntries = makeEntries(1, 5); p.m_tally.votedEntries.remove(1); p.m_pollstate = V1Poll.PS_COMPLETE; p.m_callerID = testmsg.getOriginatorId(); log.debug3("poll " + p.toString()); p.m_tally.tallyVotes(); return p; }
public void testStartPoll() { V1Poll p = testV1polls[0]; p.startPoll(); assertEquals(V1Poll.PS_WAIT_HASH, p.m_pollstate); p.m_pollstate = V1Poll.PS_COMPLETE; }