fix persister tests
This commit is contained in:
@@ -8,10 +8,12 @@ import com.muwire.core.DownloadedFile
|
|||||||
import com.muwire.core.EventBus
|
import com.muwire.core.EventBus
|
||||||
import com.muwire.core.InfoHash
|
import com.muwire.core.InfoHash
|
||||||
import com.muwire.core.SharedFile
|
import com.muwire.core.SharedFile
|
||||||
|
import com.muwire.core.util.DataUtil
|
||||||
|
|
||||||
import groovy.json.JsonOutput
|
import groovy.json.JsonOutput
|
||||||
import groovy.util.GroovyTestCase
|
import groovy.util.GroovyTestCase
|
||||||
import net.i2p.data.Base32
|
import net.i2p.data.Base32
|
||||||
|
import net.i2p.data.Base64
|
||||||
|
|
||||||
class PersisterServiceLoadingTest {
|
class PersisterServiceLoadingTest {
|
||||||
|
|
||||||
@@ -65,10 +67,10 @@ class PersisterServiceLoadingTest {
|
|||||||
InfoHash ih1 = fh.hashFile(sharedFile1)
|
InfoHash ih1 = fh.hashFile(sharedFile1)
|
||||||
|
|
||||||
def json = [:]
|
def json = [:]
|
||||||
json.file = sharedFile1.getCanonicalFile().toString()
|
json.file = getSharedFileJsonName(sharedFile1)
|
||||||
json.length = 1
|
json.length = 1
|
||||||
json.infoHash = Base32.encode(ih1.getRoot())
|
json.infoHash = Base64.encode(ih1.getRoot())
|
||||||
json.hashList = [Base32.encode(ih1.getHashList())]
|
json.hashList = [Base64.encode(ih1.getHashList())]
|
||||||
|
|
||||||
json = JsonOutput.toJson(json)
|
json = JsonOutput.toJson(json)
|
||||||
|
|
||||||
@@ -86,6 +88,11 @@ class PersisterServiceLoadingTest {
|
|||||||
assert loadedFile.infoHash == ih1
|
assert loadedFile.infoHash == ih1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getSharedFileJsonName(File sharedFile) {
|
||||||
|
def encoded = DataUtil.encodei18nString(sharedFile.getCanonicalFile().toString())
|
||||||
|
Base64.encode(encoded)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test1SharedFile2Pieces() {
|
public void test1SharedFile2Pieces() {
|
||||||
writeToSharedFile(sharedFile1, (0x1 << 18) + 1)
|
writeToSharedFile(sharedFile1, (0x1 << 18) + 1)
|
||||||
@@ -95,15 +102,15 @@ class PersisterServiceLoadingTest {
|
|||||||
assert ih1.getHashList().length == 2 * 32
|
assert ih1.getHashList().length == 2 * 32
|
||||||
|
|
||||||
def json = [:]
|
def json = [:]
|
||||||
json.file = sharedFile1.getCanonicalFile().toString()
|
json.file = getSharedFileJsonName(sharedFile1)
|
||||||
json.length = sharedFile1.length()
|
json.length = sharedFile1.length()
|
||||||
json.infoHash = Base32.encode ih1.getRoot()
|
json.infoHash = Base64.encode ih1.getRoot()
|
||||||
|
|
||||||
byte [] tmp = new byte[32]
|
byte [] tmp = new byte[32]
|
||||||
System.arraycopy(ih1.getHashList(), 0, tmp, 0, 32)
|
System.arraycopy(ih1.getHashList(), 0, tmp, 0, 32)
|
||||||
String hash1 = Base32.encode(tmp)
|
String hash1 = Base64.encode(tmp)
|
||||||
System.arraycopy(ih1.getHashList(), 32, tmp, 0, 32)
|
System.arraycopy(ih1.getHashList(), 32, tmp, 0, 32)
|
||||||
String hash2 = Base32.encode(tmp)
|
String hash2 = Base64.encode(tmp)
|
||||||
json.hashList = [hash1, hash2]
|
json.hashList = [hash1, hash2]
|
||||||
|
|
||||||
json = JsonOutput.toJson(json)
|
json = JsonOutput.toJson(json)
|
||||||
@@ -135,18 +142,18 @@ class PersisterServiceLoadingTest {
|
|||||||
File persisted = initPersisted()
|
File persisted = initPersisted()
|
||||||
|
|
||||||
def json1 = [:]
|
def json1 = [:]
|
||||||
json1.file = sharedFile1.getCanonicalFile().toString()
|
json1.file = getSharedFileJsonName(sharedFile1)
|
||||||
json1.length = 1
|
json1.length = 1
|
||||||
json1.infoHash = Base32.encode(ih1.getRoot())
|
json1.infoHash = Base64.encode(ih1.getRoot())
|
||||||
json1.hashList = [Base32.encode(ih1.getHashList())]
|
json1.hashList = [Base64.encode(ih1.getHashList())]
|
||||||
|
|
||||||
json1 = JsonOutput.toJson(json1)
|
json1 = JsonOutput.toJson(json1)
|
||||||
|
|
||||||
def json2 = [:]
|
def json2 = [:]
|
||||||
json2.file = sharedFile2.getCanonicalFile().toString()
|
json2.file = getSharedFileJsonName(sharedFile2)
|
||||||
json2.length = 2
|
json2.length = 2
|
||||||
json2.infoHash = Base32.encode(ih2.getRoot())
|
json2.infoHash = Base64.encode(ih2.getRoot())
|
||||||
json2.hashList = [Base32.encode(ih2.getHashList())]
|
json2.hashList = [Base64.encode(ih2.getHashList())]
|
||||||
|
|
||||||
json2 = JsonOutput.toJson(json2)
|
json2 = JsonOutput.toJson(json2)
|
||||||
|
|
||||||
@@ -176,10 +183,10 @@ class PersisterServiceLoadingTest {
|
|||||||
|
|
||||||
Destinations dests = new Destinations()
|
Destinations dests = new Destinations()
|
||||||
def json1 = [:]
|
def json1 = [:]
|
||||||
json1.file = sharedFile1.getCanonicalFile().toString()
|
json1.file = getSharedFileJsonName(sharedFile1)
|
||||||
json1.length = 1
|
json1.length = 1
|
||||||
json1.infoHash = Base32.encode(ih1.getRoot())
|
json1.infoHash = Base64.encode(ih1.getRoot())
|
||||||
json1.hashList = [Base32.encode(ih1.getHashList())]
|
json1.hashList = [Base64.encode(ih1.getHashList())]
|
||||||
json1.sources = [ dests.dest1.toBase64(), dests.dest2.toBase64()]
|
json1.sources = [ dests.dest1.toBase64(), dests.dest2.toBase64()]
|
||||||
|
|
||||||
json1 = JsonOutput.toJson(json1)
|
json1 = JsonOutput.toJson(json1)
|
||||||
|
|||||||
@@ -9,9 +9,11 @@ import com.muwire.core.DownloadedFile
|
|||||||
import com.muwire.core.EventBus
|
import com.muwire.core.EventBus
|
||||||
import com.muwire.core.InfoHash
|
import com.muwire.core.InfoHash
|
||||||
import com.muwire.core.SharedFile
|
import com.muwire.core.SharedFile
|
||||||
|
import com.muwire.core.util.DataUtil
|
||||||
|
|
||||||
import groovy.json.JsonSlurper
|
import groovy.json.JsonSlurper
|
||||||
import net.i2p.data.Base32
|
import net.i2p.data.Base32
|
||||||
|
import net.i2p.data.Base64
|
||||||
|
|
||||||
class PersisterServiceSavingTest {
|
class PersisterServiceSavingTest {
|
||||||
|
|
||||||
@@ -29,7 +31,7 @@ class PersisterServiceSavingTest {
|
|||||||
f = new File("build.gradle")
|
f = new File("build.gradle")
|
||||||
f = f.getCanonicalFile()
|
f = f.getCanonicalFile()
|
||||||
ih = fh.hashFile(f)
|
ih = fh.hashFile(f)
|
||||||
fileSource = new Object() {
|
fileSource = new FileManager(eventBus) {
|
||||||
Map<File, SharedFile> getSharedFiles() {
|
Map<File, SharedFile> getSharedFiles() {
|
||||||
Map<File, SharedFile> rv = new HashMap<>()
|
Map<File, SharedFile> rv = new HashMap<>()
|
||||||
rv.put(f, sf)
|
rv.put(f, sf)
|
||||||
@@ -46,6 +48,10 @@ class PersisterServiceSavingTest {
|
|||||||
ps?.stop()
|
ps?.stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String fromB64(String text) {
|
||||||
|
DataUtil.readi18nString(Base64.decode(text))
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testSavingSharedFile() {
|
void testSavingSharedFile() {
|
||||||
sf = new SharedFile(f, ih)
|
sf = new SharedFile(f, ih)
|
||||||
@@ -57,10 +63,10 @@ class PersisterServiceSavingTest {
|
|||||||
JsonSlurper jsonSlurper = new JsonSlurper()
|
JsonSlurper jsonSlurper = new JsonSlurper()
|
||||||
persisted.eachLine {
|
persisted.eachLine {
|
||||||
def json = jsonSlurper.parseText(it)
|
def json = jsonSlurper.parseText(it)
|
||||||
assert json.file == f.toString()
|
assert fromB64(json.file) == f.toString()
|
||||||
assert json.length == f.length()
|
assert json.length == f.length()
|
||||||
assert json.infoHash == Base32.encode(ih.getRoot())
|
assert json.infoHash == Base64.encode(ih.getRoot())
|
||||||
assert json.hashList == [Base32.encode(ih.getHashList())]
|
assert json.hashList == [Base64.encode(ih.getHashList())]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,10 +82,10 @@ class PersisterServiceSavingTest {
|
|||||||
JsonSlurper jsonSlurper = new JsonSlurper()
|
JsonSlurper jsonSlurper = new JsonSlurper()
|
||||||
persisted.eachLine {
|
persisted.eachLine {
|
||||||
def json = jsonSlurper.parseText(it)
|
def json = jsonSlurper.parseText(it)
|
||||||
assert json.file == f.toString()
|
assert fromB64(json.file) == f.toString()
|
||||||
assert json.length == f.length()
|
assert json.length == f.length()
|
||||||
assert json.infoHash == Base32.encode(ih.getRoot())
|
assert json.infoHash == Base64.encode(ih.getRoot())
|
||||||
assert json.hashList == [Base32.encode(ih.getHashList())]
|
assert json.hashList == [Base64.encode(ih.getHashList())]
|
||||||
assert json.sources.size() == 2
|
assert json.sources.size() == 2
|
||||||
assert json.sources.contains(dests.dest1.toBase64())
|
assert json.sources.contains(dests.dest1.toBase64())
|
||||||
assert json.sources.contains(dests.dest2.toBase64())
|
assert json.sources.contains(dests.dest2.toBase64())
|
||||||
|
|||||||
Reference in New Issue
Block a user