test inplace linking
This commit is contained in:
parent
17f2949e36
commit
fae3db4e58
|
@ -411,6 +411,50 @@ func TestDownloadFileUrl(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestDownloadFileUrl_inplace verifies that inplace setting is respected.
|
||||||
|
func TestDownloadFileUrl_inplace(t *testing.T) {
|
||||||
|
cwd, err := os.Getwd()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Unable to detect working directory: %s", err)
|
||||||
|
}
|
||||||
|
cwd = filepath.ToSlash(cwd)
|
||||||
|
|
||||||
|
// source_path is a file path and source is a network path
|
||||||
|
sourcePath := fmt.Sprintf("%s/test-fixtures/fileurl/%s", cwd, "cake")
|
||||||
|
|
||||||
|
filePrefix := "file://"
|
||||||
|
if runtime.GOOS == "windows" {
|
||||||
|
filePrefix += "/"
|
||||||
|
}
|
||||||
|
|
||||||
|
source := fmt.Sprintf(filePrefix + sourcePath)
|
||||||
|
t.Logf("Trying to download %s", source)
|
||||||
|
|
||||||
|
config := &DownloadConfig{
|
||||||
|
Url: source,
|
||||||
|
// This is correct. We want to make sure we don't delete
|
||||||
|
Checksum: []byte{96, 111, 25, 69, 248, 26, 2, 45, 14, 208, 189, 153, 237, 253, 79, 153, 8, 28, 28, 177, 249, 127, 174, 8, 114, 145, 238, 20, 233, 69, 230, 8},
|
||||||
|
Hash: HashForType("sha256"),
|
||||||
|
Inplace: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
client := NewDownloadClient(config)
|
||||||
|
|
||||||
|
// Verify that we fail to match the checksum
|
||||||
|
url, err := client.Get()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Unexpected error: \"%v\"", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if sourcePath != url {
|
||||||
|
t.Errorf("Inplace file get should return same path, expected %s, got %s", sourcePath, url)
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err = os.Stat(sourcePath); err != nil {
|
||||||
|
t.Errorf("Could not stat source file: %s", sourcePath)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// SimulateFileUriDownload is a simple utility function that converts a uri
|
// SimulateFileUriDownload is a simple utility function that converts a uri
|
||||||
// into a testable file path whilst ignoring a correct checksum match, stripping
|
// into a testable file path whilst ignoring a correct checksum match, stripping
|
||||||
// UNC path info, and then calling stat to ensure the correct file exists.
|
// UNC path info, and then calling stat to ensure the correct file exists.
|
||||||
|
|
Loading…
Reference in New Issue