1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package filer
- import (
- "testing"
- "time"
- "github.com/seaweedfs/seaweedfs/weed/pb/filer_pb"
- "github.com/seaweedfs/seaweedfs/weed/util"
- "google.golang.org/protobuf/proto"
- )
- func TestProtoMarshal(t *testing.T) {
- oldEntry := &Entry{
- FullPath: util.FullPath("/this/path/to"),
- Attr: Attr{
- Mtime: time.Now(),
- Mode: 0644,
- Uid: 1,
- Mime: "text/json",
- TtlSec: 25,
- },
- Chunks: []*filer_pb.FileChunk{
- {
- 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,
- }
- text, _ := proto.Marshal(notification)
- notification2 := &filer_pb.EventNotification{}
- proto.Unmarshal(text, notification2)
- if notification2.OldEntry.GetChunks()[0].SourceFileId != notification.OldEntry.GetChunks()[0].SourceFileId {
- t.Fatalf("marshal/unmarshal error: %s", text)
- }
- println(string(text))
- }
|