38
									
								
								broker/extractor_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								broker/extractor_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| package broker | ||||
|  | ||||
| import ( | ||||
| 	"net" | ||||
| 	"testing" | ||||
| ) | ||||
|  | ||||
| func TestExtractor(t *testing.T) { | ||||
| 	testData := []struct { | ||||
| 		addr   string | ||||
| 		expect string | ||||
| 		parse  bool | ||||
| 	}{ | ||||
| 		{"127.0.0.1", "127.0.0.1", false}, | ||||
| 		{"10.0.0.1", "10.0.0.1", false}, | ||||
| 		{"", "", true}, | ||||
| 		{"0.0.0.0", "", true}, | ||||
| 		{"[::]", "", true}, | ||||
| 	} | ||||
|  | ||||
| 	for _, d := range testData { | ||||
| 		addr, err := extractAddress(d.addr) | ||||
| 		if err != nil { | ||||
| 			t.Errorf("Unexpected error %v", err) | ||||
| 		} | ||||
|  | ||||
| 		if d.parse { | ||||
| 			ip := net.ParseIP(addr) | ||||
| 			if ip == nil { | ||||
| 				t.Error("Unexpected nil IP") | ||||
| 			} | ||||
|  | ||||
| 		} else if addr != d.expect { | ||||
| 			t.Errorf("Expected %s got %s", d.expect, addr) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user