(t *testing.T)
| 18 | import "testing" |
| 19 | |
| 20 | func TestIsRemoteHTTPArchive(t *testing.T) { |
| 21 | srv := mockArchiveServer() |
| 22 | defer srv.Close() |
| 23 | source := srv.URL + "/plugins/fake-plugin-0.0.1.tar.gz" |
| 24 | |
| 25 | if isRemoteHTTPArchive("/not/a/URL") { |
| 26 | t.Error("Expected non-URL to return false") |
| 27 | } |
| 28 | |
| 29 | // URLs with valid archive extensions are considered valid archives |
| 30 | // even if the server is unreachable (optimization to avoid unnecessary HTTP requests) |
| 31 | if !isRemoteHTTPArchive("https://127.0.0.1:123/fake/plugin-1.2.3.tgz") { |
| 32 | t.Error("URL with .tgz extension should be considered a valid archive") |
| 33 | } |
| 34 | |
| 35 | // Test with invalid extension and unreachable server |
| 36 | if isRemoteHTTPArchive("https://127.0.0.1:123/fake/plugin-1.2.3.notanarchive") { |
| 37 | t.Error("Bad URL without valid extension should not succeed") |
| 38 | } |
| 39 | |
| 40 | if !isRemoteHTTPArchive(source) { |
| 41 | t.Errorf("Expected %q to be a valid archive URL", source) |
| 42 | } |
| 43 | |
| 44 | if isRemoteHTTPArchive(source + "-not-an-extension") { |
| 45 | t.Error("Expected media type match to fail") |
| 46 | } |
| 47 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…