seaweedfs/weed/filer/filer_notify_test.go

54 lines
1.1 KiB
Go
Raw Permalink Normal View History

2020-09-01 07:21:19 +00:00
package filer
import (
"testing"
"time"
"github.com/seaweedfs/seaweedfs/weed/pb/filer_pb"
"github.com/seaweedfs/seaweedfs/weed/util"
2020-03-23 07:01:34 +00:00
2022-08-17 19:05:07 +00:00
"google.golang.org/protobuf/proto"
)
2022-08-18 09:25:25 +00:00
func TestProtoMarshal(t *testing.T) {
oldEntry := &Entry{
2020-03-23 07:01:34 +00:00
FullPath: util.FullPath("/this/path/to"),
Attr: Attr{
Mtime: time.Now(),
Mode: 0644,
Uid: 1,
Mime: "text/json",
TtlSec: 25,
},
Chunks: []*filer_pb.FileChunk{
2022-08-18 09:25:25 +00:00
{
FileId: "234,2423423422",
Offset: 234234,
Size: 234,
ModifiedTsNs: 12312423,
ETag: "2342342354",
SourceFileId: "23234,2342342342",
},
},
}
notification := &filer_pb.EventNotification{
OldEntry: oldEntry.ToProtoEntry(),
NewEntry: nil,
DeleteChunks: true,
}
2022-08-18 07:15:46 +00:00
text, _ := proto.Marshal(notification)
notification2 := &filer_pb.EventNotification{}
2022-08-18 07:15:46 +00:00
proto.Unmarshal(text, notification2)
if notification2.OldEntry.GetChunks()[0].SourceFileId != notification.OldEntry.GetChunks()[0].SourceFileId {
t.Fatalf("marshal/unmarshal error: %s", text)
}
2022-08-18 09:25:25 +00:00
println(string(text))
}