func TestObjectMd5sum(t *testing.T) { skipIfNotOk(t) obj := findObject(t, file1.Path) Md5sum, err := obj.Md5sum() if err != nil { t.Errorf("Error in Md5sum: %v", err) } if !fs.Md5sumsEqual(Md5sum, file1.Md5sum) { t.Errorf("Md5sum is wrong %v != %v", Md5sum, file1.Md5sum) } }
// Check checks all the attributes of the object are correct func (i *Item) Check(t *testing.T, obj fs.Object, precision time.Duration) { if obj == nil { t.Fatalf("Object is nil") } // Check attributes Md5sum, err := obj.Md5sum() if err != nil { t.Fatalf("Failed to read md5sum for %q: %v", obj.Remote(), err) } if !fs.Md5sumsEqual(i.Md5sum, Md5sum) { t.Errorf("%s: Md5sum incorrect - expecting %q got %q", obj.Remote(), i.Md5sum, Md5sum) } if i.Size != obj.Size() { t.Errorf("%s: Size incorrect - expecting %d got %d", obj.Remote(), i.Size, obj.Size()) } i.CheckModTime(t, obj, obj.ModTime(), precision) }
func TestObjectOpen(t *testing.T) { skipIfNotOk(t) obj := findObject(t, file1.Path) in, err := obj.Open() if err != nil { t.Fatalf("Open() return error: %v", err) } hash := md5.New() n, err := io.Copy(hash, in) if err != nil { t.Fatalf("io.Copy() return error: %v", err) } if n != file1.Size { t.Fatalf("Read wrong number of bytes %d != %d", n, file1.Size) } err = in.Close() if err != nil { t.Fatalf("in.Close() return error: %v", err) } Md5sum := hex.EncodeToString(hash.Sum(nil)) if !fs.Md5sumsEqual(Md5sum, file1.Md5sum) { t.Errorf("Md5sum is wrong %v != %v", Md5sum, file1.Md5sum) } }