You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							53 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							53 lines
						
					
					
						
							1.1 KiB
						
					
					
				
								package filer
							 | 
						|
								
							 | 
						|
								import (
							 | 
						|
									"testing"
							 | 
						|
									"time"
							 | 
						|
								
							 | 
						|
									"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
							 | 
						|
									"github.com/chrislusf/seaweedfs/weed/util"
							 | 
						|
								
							 | 
						|
									"github.com/golang/protobuf/proto"
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								func TestProtoMarshalText(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{
							 | 
						|
											&filer_pb.FileChunk{
							 | 
						|
												FileId:       "234,2423423422",
							 | 
						|
												Offset:       234234,
							 | 
						|
												Size:         234,
							 | 
						|
												Mtime:        12312423,
							 | 
						|
												ETag:         "2342342354",
							 | 
						|
												SourceFileId: "23234,2342342342",
							 | 
						|
											},
							 | 
						|
										},
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									notification := &filer_pb.EventNotification{
							 | 
						|
										OldEntry:     oldEntry.ToProtoEntry(),
							 | 
						|
										NewEntry:     nil,
							 | 
						|
										DeleteChunks: true,
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									text := proto.MarshalTextString(notification)
							 | 
						|
								
							 | 
						|
									notification2 := &filer_pb.EventNotification{}
							 | 
						|
									proto.UnmarshalText(text, notification2)
							 | 
						|
								
							 | 
						|
									if notification2.OldEntry.Chunks[0].SourceFileId != notification.OldEntry.Chunks[0].SourceFileId {
							 | 
						|
										t.Fatalf("marshal/unmarshal error: %s", text)
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									println(text)
							 | 
						|
								
							 | 
						|
								}
							 |