func TestZipFromHTTPSources(t *testing.T) { ts := tServer() defer ts.Close() url1 := fmt.Sprintf("%s/index.html", ts.URL) url2 := fmt.Sprintf("%s/posts", ts.URL) url3 := fmt.Sprintf("%s/api/data.json", ts.URL) out := new(bytes.Buffer) zip := NewZip(sources.HTTP) zip.Add(url1) zip.Add(url2, url3) n, err := zip.WriteTo(out) if err := zip.Close(); err != nil { t.Fatal(err) } assert.Nil(t, err) assert.Equal(t, int64(38), n) assert.Equal(t, int64(38), zip.N) assert.Equal(t, int64(38), zip.UncompressedSize) assert.Equal(t, int64(56), zip.CompressedSize) gozipst.VerifyZip(t, out.Bytes(), []gozipst.Entries{ {"index.html", "Hello World!"}, {"posts", "Post Body"}, {"data.json", `{"data": ["one"]}`}, }) }
func TestZipFromFSSources(t *testing.T) { out := new(bytes.Buffer) zip := NewZip(sources.FS) zip.Add("sample/file1.txt") zip.Add("sample/file2.txt") zip.Add("sample/file3.txt") n, err := zip.WriteTo(out) if err := zip.Close(); err != nil { t.Fatal(err) } assert.Nil(t, err) assert.Equal(t, int64(11), n) assert.Equal(t, int64(11), zip.N) assert.Equal(t, int64(11), zip.UncompressedSize) assert.Equal(t, int64(29), zip.CompressedSize) gozipst.VerifyZip(t, out.Bytes(), []gozipst.Entries{ {"file1.txt", "One"}, {"file2.txt", "Two"}, {"file3.txt", "Three"}, }) }