39 lines
		
	
	
		
			891 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			891 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								package docserver
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"io/ioutil"
							 | 
						||
| 
								 | 
							
									"os"
							 | 
						||
| 
								 | 
							
									"testing"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									"github.com/ethereum/go-ethereum/common"
							 | 
						||
| 
								 | 
							
									"github.com/ethereum/go-ethereum/crypto"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								func TestGetAuthContent(t *testing.T) {
							 | 
						||
| 
								 | 
							
									text := "test"
							 | 
						||
| 
								 | 
							
									hash := common.Hash{}
							 | 
						||
| 
								 | 
							
									copy(hash[:], crypto.Sha3([]byte(text)))
							 | 
						||
| 
								 | 
							
									ioutil.WriteFile("/tmp/test.content", []byte(text), os.ModePerm)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									ds, err := New("/tmp/")
							 | 
						||
| 
								 | 
							
									content, err := ds.GetAuthContent("file:///test.content", hash)
							 | 
						||
| 
								 | 
							
									if err != nil {
							 | 
						||
| 
								 | 
							
										t.Errorf("no error expected, got %v", err)
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									if string(content) != text {
							 | 
						||
| 
								 | 
							
										t.Errorf("incorrect content. expected %v, got %v", text, string(content))
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									hash = common.Hash{}
							 | 
						||
| 
								 | 
							
									content, err = ds.GetAuthContent("file:///test.content", hash)
							 | 
						||
| 
								 | 
							
									expected := "content hash mismatch"
							 | 
						||
| 
								 | 
							
									if err == nil {
							 | 
						||
| 
								 | 
							
										t.Errorf("expected error, got nothing")
							 | 
						||
| 
								 | 
							
									} else {
							 | 
						||
| 
								 | 
							
										if err.Error() != expected {
							 | 
						||
| 
								 | 
							
											t.Errorf("expected error '%s' got '%v'", expected, err)
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |