12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package needle
- import (
- "os"
- "testing"
- "github.com/seaweedfs/seaweedfs/weed/storage/backend"
- "github.com/seaweedfs/seaweedfs/weed/storage/types"
- )
- func TestAppend(t *testing.T) {
- n := &Needle{
- Cookie: types.Cookie(123),
- Id: types.NeedleId(123),
- Size: 8,
- DataSize: 4,
- Data: []byte("abcd"),
- Flags: 0,
- NameSize: 0,
- Name: nil,
- MimeSize: 0,
- Mime: nil,
- PairsSize: 0,
- Pairs: nil,
- LastModified: 123,
- Ttl: nil,
- Checksum: 123,
- AppendAtNs: 123,
- Padding: nil,
- }
- tempFile, err := os.CreateTemp("", ".dat")
- if err != nil {
- t.Errorf("Fail TempFile. %v", err)
- return
- }
-
- fileSize := int64(4294967296) + 10000
- tempFile.Truncate(fileSize)
- defer func() {
- tempFile.Close()
- os.Remove(tempFile.Name())
- }()
- datBackend := backend.NewDiskFile(tempFile)
- defer datBackend.Close()
- offset, _, _, _ := n.Append(datBackend, CurrentVersion)
- if offset != uint64(fileSize) {
- t.Errorf("Fail to Append Needle.")
- }
- }
|