implement simple tests

This commit is contained in:
2021-11-16 14:59:27 -06:00
parent 7a0b6ef0f8
commit a247e6ee52
2 changed files with 71 additions and 0 deletions

47
ip_api_test.go Normal file
View File

@@ -0,0 +1,47 @@
package main
import (
"testing"
)
// TestBuildURL
// Tests that the buildURL function returns a correct URL
func TestBuildURL(t *testing.T) {
var tests = []struct {
ip string
want string
explain string
}{
{"127.0.0.1", "http://ip-api.com/json/127.0.0.1", "Valid Return"},
}
for _, test := range tests {
got := buildURL(test.ip)
if got != test.want {
t.Errorf("CheckValidIP(%q) = %v, want %v", test.ip, got, test.want)
}
}
}
// TestLookup
// Tests that the lookup function returns IPAPI data and no error
func TestLookup(t *testing.T) {
var tests = []struct {
ip string
want string
explain string
}{
{"8.8.8.8", "United States", "Valid Return"},
}
for _, test := range tests {
got, err := lookup(test.ip, []string{"country"})
if err != nil {
t.Errorf("CheckValidIP(%q) = %v, want %v", test.ip, err, test.want)
}
if test.want != got.Country {
t.Errorf("CheckValidIP(%q) = %v, want %v", test.ip, got, test.want)
}
}
}