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.
		
		
		
		
		
			
		
			
				
					
					
						
							55 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							55 lines
						
					
					
						
							1.4 KiB
						
					
					
				| package needle | |
| 
 | |
| import ( | |
| 	"github.com/chrislusf/seaweedfs/weed/storage/types" | |
| 	"testing" | |
| ) | |
| 
 | |
| func TestParseFileIdFromString(t *testing.T) { | |
| 	fidStr1 := "100,12345678" | |
| 	_, err := ParseFileIdFromString(fidStr1) | |
| 	if err == nil { | |
| 		t.Errorf("%s : KeyHash is too short", fidStr1) | |
| 	} | |
| 
 | |
| 	fidStr1 = "100, 12345678" | |
| 	_, err = ParseFileIdFromString(fidStr1) | |
| 	if err == nil { | |
| 		t.Errorf("%s : needlId invalid syntax", fidStr1) | |
| 	} | |
| 
 | |
| 	fidStr1 = "100,123456789" | |
| 	_, err = ParseFileIdFromString(fidStr1) | |
| 	if err != nil { | |
| 		t.Errorf("%s : should be OK", fidStr1) | |
| 	} | |
| 
 | |
| 	var fileId *FileId | |
| 	fidStr1 = "100,123456789012345678901234" | |
| 	fileId, err = ParseFileIdFromString(fidStr1) | |
| 	if err != nil { | |
| 		t.Errorf("%s : should be OK", fidStr1) | |
| 	} | |
| 	if !(fileId.VolumeId == VolumeId(100) && | |
| 		fileId.Key == types.NeedleId(0x1234567890123456) && | |
| 		fileId.Cookie == types.Cookie(types.Uint32ToCookie(uint32(0x78901234)))) { | |
| 		t.Errorf("src : %s, dest : %v", fidStr1, fileId) | |
| 	} | |
| 
 | |
| 	fidStr1 = "100,abcd0000abcd" | |
| 	fileId, err = ParseFileIdFromString(fidStr1) | |
| 	if err != nil { | |
| 		t.Errorf("%s : should be OK", fidStr1) | |
| 	} | |
| 	if !(fileId.VolumeId == VolumeId(100) && | |
| 		fileId.Key == types.NeedleId(0xabcd) && | |
| 		fileId.Cookie == types.Cookie(types.Uint32ToCookie(uint32(0xabcd)))) { | |
| 		t.Errorf("src : %s, dest : %v", fidStr1, fileId) | |
| 	} | |
| 
 | |
| 	fidStr1 = "100,1234567890123456789012345" | |
| 	_, err = ParseFileIdFromString(fidStr1) | |
| 	if err == nil { | |
| 		t.Errorf("%s : needleId is too long", fidStr1) | |
| 	} | |
| }
 |