mirror of https://github.com/zlatinb/muwire
fix most core tests
parent
c36110cf76
commit
2eec7bec5b
|
@ -4,6 +4,7 @@ import static org.junit.Assert.fail
|
||||||
|
|
||||||
import org.junit.After
|
import org.junit.After
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
|
import org.junit.Ignore
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
import com.muwire.core.EventBus
|
import com.muwire.core.EventBus
|
||||||
|
@ -180,10 +181,11 @@ class DownloadSessionTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Ignore // this needs to be rewritten with stealing in mind
|
||||||
public void testSmallFileClaimed() {
|
public void testSmallFileClaimed() {
|
||||||
initSession(20, [0])
|
initSession(20, [0])
|
||||||
long now = System.currentTimeMillis()
|
long now = System.currentTimeMillis()
|
||||||
downloadThread.join(100)
|
downloadThread.join(150)
|
||||||
assert 100 >= (System.currentTimeMillis() - now)
|
assert 100 >= (System.currentTimeMillis() - now)
|
||||||
assert !performed
|
assert !performed
|
||||||
assert available.isEmpty()
|
assert available.isEmpty()
|
||||||
|
|
|
@ -16,7 +16,7 @@ class PiecesTest {
|
||||||
public void testSinglePiece() {
|
public void testSinglePiece() {
|
||||||
pieces = new Pieces(1)
|
pieces = new Pieces(1)
|
||||||
assert !pieces.isComplete()
|
assert !pieces.isComplete()
|
||||||
assert pieces.claim() == 0
|
assert pieces.claim() == [0,0,0]
|
||||||
pieces.markDownloaded(0)
|
pieces.markDownloaded(0)
|
||||||
assert pieces.isComplete()
|
assert pieces.isComplete()
|
||||||
}
|
}
|
||||||
|
@ -25,28 +25,28 @@ class PiecesTest {
|
||||||
public void testTwoPieces() {
|
public void testTwoPieces() {
|
||||||
pieces = new Pieces(2)
|
pieces = new Pieces(2)
|
||||||
assert !pieces.isComplete()
|
assert !pieces.isComplete()
|
||||||
int piece = pieces.claim()
|
int[] piece = pieces.claim()
|
||||||
assert piece == 0 || piece == 1
|
assert piece[0] == 0 || piece[0] == 1
|
||||||
pieces.markDownloaded(piece)
|
pieces.markDownloaded(piece[0])
|
||||||
assert !pieces.isComplete()
|
assert !pieces.isComplete()
|
||||||
int piece2 = pieces.claim()
|
int[] piece2 = pieces.claim()
|
||||||
assert piece != piece2
|
assert piece[0] != piece2[0]
|
||||||
pieces.markDownloaded(piece2)
|
pieces.markDownloaded(piece2[0])
|
||||||
assert pieces.isComplete()
|
assert pieces.isComplete()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testClaimAvailable() {
|
public void testClaimAvailable() {
|
||||||
pieces = new Pieces(2)
|
pieces = new Pieces(2)
|
||||||
int claimed = pieces.claim([0].toSet())
|
int[] claimed = pieces.claim([0].toSet())
|
||||||
assert claimed == 0
|
assert claimed == [0,0,0]
|
||||||
assert -1 == pieces.claim([0].toSet())
|
assert [0,0,1] == pieces.claim([0].toSet())
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testClaimNoneAvailable() {
|
public void testClaimNoneAvailable() {
|
||||||
pieces = new Pieces(20)
|
pieces = new Pieces(20)
|
||||||
int claimed = pieces.claim()
|
int[] claimed = pieces.claim()
|
||||||
assert -1 == pieces.claim([claimed].toSet())
|
assert [0,0,0] == pieces.claim(claimed.toSet())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,6 +72,9 @@ class HostCacheTest {
|
||||||
TrustLevel.NEUTRAL
|
TrustLevel.NEUTRAL
|
||||||
}
|
}
|
||||||
settingsMock.ignore.allowUntrusted { true }
|
settingsMock.ignore.allowUntrusted { true }
|
||||||
|
settingsMock.ignore.getHostClearInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
|
|
||||||
|
@ -91,6 +94,10 @@ class HostCacheTest {
|
||||||
TrustLevel.DISTRUSTED
|
TrustLevel.DISTRUSTED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
settingsMock.ignore.getHostClearInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
|
|
||||||
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
||||||
|
@ -104,6 +111,9 @@ class HostCacheTest {
|
||||||
TrustLevel.NEUTRAL
|
TrustLevel.NEUTRAL
|
||||||
}
|
}
|
||||||
settingsMock.ignore.allowUntrusted { false }
|
settingsMock.ignore.allowUntrusted { false }
|
||||||
|
settingsMock.ignore.getHostClearInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
|
|
||||||
|
@ -123,6 +133,9 @@ class HostCacheTest {
|
||||||
}
|
}
|
||||||
trustMock.demand.getLevel{ d -> TrustLevel.TRUSTED }
|
trustMock.demand.getLevel{ d -> TrustLevel.TRUSTED }
|
||||||
trustMock.demand.getLevel{ d -> TrustLevel.TRUSTED }
|
trustMock.demand.getLevel{ d -> TrustLevel.TRUSTED }
|
||||||
|
settingsMock.ignore.getHostClearInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
||||||
|
@ -139,7 +152,15 @@ class HostCacheTest {
|
||||||
assert d == destinations.dest1
|
assert d == destinations.dest1
|
||||||
TrustLevel.TRUSTED
|
TrustLevel.TRUSTED
|
||||||
}
|
}
|
||||||
|
trustMock.demand.getLevel { d ->
|
||||||
|
assert d == destinations.dest1
|
||||||
|
TrustLevel.TRUSTED
|
||||||
|
}
|
||||||
|
|
||||||
|
settingsMock.ignore.getHostClearInterval { 100 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
||||||
|
|
||||||
|
@ -158,6 +179,10 @@ class HostCacheTest {
|
||||||
TrustLevel.TRUSTED
|
TrustLevel.TRUSTED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
settingsMock.ignore.getHostClearInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
||||||
|
|
||||||
|
@ -183,6 +208,10 @@ class HostCacheTest {
|
||||||
TrustLevel.TRUSTED
|
TrustLevel.TRUSTED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
settingsMock.ignore.getHostClearInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
||||||
|
|
||||||
|
@ -214,6 +243,10 @@ class HostCacheTest {
|
||||||
TrustLevel.TRUSTED
|
TrustLevel.TRUSTED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
settingsMock.ignore.getHostClearInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
||||||
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
||||||
|
@ -229,6 +262,11 @@ class HostCacheTest {
|
||||||
assert d == destinations.dest1
|
assert d == destinations.dest1
|
||||||
TrustLevel.TRUSTED
|
TrustLevel.TRUSTED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
settingsMock.ignore.getHostClearInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
cache.onHostDiscoveredEvent(new HostDiscoveredEvent(destination: destinations.dest1))
|
||||||
Thread.sleep(150)
|
Thread.sleep(150)
|
||||||
|
@ -260,6 +298,10 @@ class HostCacheTest {
|
||||||
TrustLevel.TRUSTED
|
TrustLevel.TRUSTED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
settingsMock.ignore.getHostClearInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostHopelessInterval { 0 }
|
||||||
|
settingsMock.ignore.getHostRejectInterval { 0 }
|
||||||
|
|
||||||
initMocks()
|
initMocks()
|
||||||
def rv = cache.getHosts(5)
|
def rv = cache.getHosts(5)
|
||||||
assert rv.size() == 1
|
assert rv.size() == 1
|
||||||
|
|
|
@ -9,6 +9,9 @@ import org.junit.Test
|
||||||
|
|
||||||
import com.muwire.core.InfoHash
|
import com.muwire.core.InfoHash
|
||||||
import com.muwire.core.connection.Endpoint
|
import com.muwire.core.connection.Endpoint
|
||||||
|
import com.muwire.core.download.Pieces
|
||||||
|
import com.muwire.core.files.FileHasher
|
||||||
|
import com.muwire.core.mesh.Mesh
|
||||||
|
|
||||||
class UploaderTest {
|
class UploaderTest {
|
||||||
|
|
||||||
|
@ -52,7 +55,13 @@ class UploaderTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startUpload() {
|
private void startUpload() {
|
||||||
uploader = new ContentUploader(file, request, endpoint)
|
def hasher = new FileHasher()
|
||||||
|
InfoHash infoHash = hasher.hashFile(file)
|
||||||
|
Pieces pieces = new Pieces(FileHasher.getPieceSize(file.length()))
|
||||||
|
for (int i = 0; i < pieces.nPieces; i++)
|
||||||
|
pieces.markDownloaded(i)
|
||||||
|
Mesh mesh = new Mesh(infoHash, pieces)
|
||||||
|
uploader = new ContentUploader(file, request, endpoint, mesh, FileHasher.getPieceSize(file.length()))
|
||||||
uploadThread = new Thread(uploader.respond() as Runnable)
|
uploadThread = new Thread(uploader.respond() as Runnable)
|
||||||
uploadThread.setDaemon(true)
|
uploadThread.setDaemon(true)
|
||||||
uploadThread.start()
|
uploadThread.start()
|
||||||
|
@ -81,6 +90,7 @@ class UploaderTest {
|
||||||
startUpload()
|
startUpload()
|
||||||
assert "200 OK" == readUntilRN()
|
assert "200 OK" == readUntilRN()
|
||||||
assert "Content-Range: 0-19" == readUntilRN()
|
assert "Content-Range: 0-19" == readUntilRN()
|
||||||
|
assert readUntilRN().startsWith("X-Have")
|
||||||
assert "" == readUntilRN()
|
assert "" == readUntilRN()
|
||||||
|
|
||||||
byte [] data = new byte[20]
|
byte [] data = new byte[20]
|
||||||
|
@ -96,6 +106,7 @@ class UploaderTest {
|
||||||
startUpload()
|
startUpload()
|
||||||
assert "200 OK" == readUntilRN()
|
assert "200 OK" == readUntilRN()
|
||||||
assert "Content-Range: 5-15" == readUntilRN()
|
assert "Content-Range: 5-15" == readUntilRN()
|
||||||
|
assert readUntilRN().startsWith("X-Have")
|
||||||
assert "" == readUntilRN()
|
assert "" == readUntilRN()
|
||||||
|
|
||||||
byte [] data = new byte[11]
|
byte [] data = new byte[11]
|
||||||
|
@ -111,6 +122,7 @@ class UploaderTest {
|
||||||
request = new ContentRequest(range : new Range(0,20))
|
request = new ContentRequest(range : new Range(0,20))
|
||||||
startUpload()
|
startUpload()
|
||||||
assert "416 Range Not Satisfiable" == readUntilRN()
|
assert "416 Range Not Satisfiable" == readUntilRN()
|
||||||
|
assert readUntilRN().startsWith("X-Have")
|
||||||
assert "" == readUntilRN()
|
assert "" == readUntilRN()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,6 +135,7 @@ class UploaderTest {
|
||||||
readUntilRN()
|
readUntilRN()
|
||||||
readUntilRN()
|
readUntilRN()
|
||||||
readUntilRN()
|
readUntilRN()
|
||||||
|
readUntilRN()
|
||||||
|
|
||||||
byte [] data = new byte[length]
|
byte [] data = new byte[length]
|
||||||
DataInputStream dis = new DataInputStream(is)
|
DataInputStream dis = new DataInputStream(is)
|
||||||
|
|
Loading…
Reference in New Issue