From 5b8b8e645d4d1c2fbf2705d7efa5a3def086f4cf Mon Sep 17 00:00:00 2001 From: Gaius Date: Thu, 13 Feb 2025 12:18:11 +0800 Subject: [PATCH] test(e2e/v2): add transfer-from-dfdaemon option for dfget test case Signed-off-by: Gaius --- test/e2e/v2/dfget_test.go | 96 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/test/e2e/v2/dfget_test.go b/test/e2e/v2/dfget_test.go index 23ab885fe97..ed47adbbb5e 100644 --- a/test/e2e/v2/dfget_test.go +++ b/test/e2e/v2/dfget_test.go @@ -267,6 +267,102 @@ var _ = Describe("Download Using Dfget", func() { }) }) + Context("1MiB file and set transfer-from-dfdaemon", func() { + var ( + testFile *util.File + err error + ) + + BeforeEach(func() { + testFile, err = util.GetFileServer().GenerateFile(util.FileSize1MiB) + Expect(err).NotTo(HaveOccurred()) + Expect(testFile).NotTo(BeNil()) + }) + + AfterEach(func() { + err = util.GetFileServer().DeleteFile(testFile.GetInfo()) + Expect(err).NotTo(HaveOccurred()) + }) + + It("download should be ok", Label("dfget", "download", "transfer-from-dfdaemon"), func() { + clientPod, err := util.ClientExec() + fmt.Println(err) + Expect(err).NotTo(HaveOccurred()) + + out, err := clientPod.Command("sh", "-c", fmt.Sprintf("dfget %s --disable-back-to-source --transfer-from-dfdaemon --output %s", testFile.GetDownloadURL(), testFile.GetOutputPath())).CombinedOutput() + fmt.Println(string(out), err) + Expect(err).NotTo(HaveOccurred()) + + sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, testFile.GetTaskID()) + Expect(err).NotTo(HaveOccurred()) + Expect(testFile.GetSha256()).To(Equal(sha256sum)) + + sha256sum, err = util.CalculateSha256ByOutput([]*util.PodExec{clientPod}, testFile.GetOutputPath()) + Expect(err).NotTo(HaveOccurred()) + Expect(testFile.GetSha256()).To(Equal(sha256sum)) + + time.Sleep(1 * time.Second) + seedClientPods := make([]*util.PodExec, 3) + for i := 0; i < 3; i++ { + seedClientPods[i], err = util.SeedClientExec(i) + fmt.Println(err) + Expect(err).NotTo(HaveOccurred()) + } + + sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, testFile.GetTaskID()) + Expect(err).NotTo(HaveOccurred()) + Expect(testFile.GetSha256()).To(Equal(sha256sum)) + }) + }) + + Context("10MiB file and set transfer-from-dfdaemon", func() { + var ( + testFile *util.File + err error + ) + + BeforeEach(func() { + testFile, err = util.GetFileServer().GenerateFile(util.FileSize10MiB) + Expect(err).NotTo(HaveOccurred()) + Expect(testFile).NotTo(BeNil()) + }) + + AfterEach(func() { + err = util.GetFileServer().DeleteFile(testFile.GetInfo()) + Expect(err).NotTo(HaveOccurred()) + }) + + It("download should be ok", Label("dfget", "download", "transfer-from-dfdaemon"), func() { + clientPod, err := util.ClientExec() + fmt.Println(err) + Expect(err).NotTo(HaveOccurred()) + + out, err := clientPod.Command("sh", "-c", fmt.Sprintf("dfget %s --disable-back-to-source --transfer-from-dfdaemon --output %s", testFile.GetDownloadURL(), testFile.GetOutputPath())).CombinedOutput() + fmt.Println(string(out), err) + Expect(err).NotTo(HaveOccurred()) + + sha256sum, err := util.CalculateSha256ByTaskID([]*util.PodExec{clientPod}, testFile.GetTaskID()) + Expect(err).NotTo(HaveOccurred()) + Expect(testFile.GetSha256()).To(Equal(sha256sum)) + + sha256sum, err = util.CalculateSha256ByOutput([]*util.PodExec{clientPod}, testFile.GetOutputPath()) + Expect(err).NotTo(HaveOccurred()) + Expect(testFile.GetSha256()).To(Equal(sha256sum)) + + time.Sleep(1 * time.Second) + seedClientPods := make([]*util.PodExec, 3) + for i := 0; i < 3; i++ { + seedClientPods[i], err = util.SeedClientExec(i) + fmt.Println(err) + Expect(err).NotTo(HaveOccurred()) + } + + sha256sum, err = util.CalculateSha256ByTaskID(seedClientPods, testFile.GetTaskID()) + Expect(err).NotTo(HaveOccurred()) + Expect(testFile.GetSha256()).To(Equal(sha256sum)) + }) + }) + Context("1MiB file and set application to d7y", func() { var ( testFile *util.File