github.com/versent/saml2aws@v2.17.0+incompatible/pkg/provider/pingone/pingone_test.go (about) 1 package pingone 2 3 import ( 4 "bytes" 5 "io/ioutil" 6 "testing" 7 8 "github.com/PuerkitoBio/goquery" 9 "github.com/stretchr/testify/require" 10 ) 11 12 var docTests = []struct { 13 fn func(*goquery.Document) bool 14 file string 15 expected bool 16 }{ 17 {docIsFormSelectDevice, "example/selectdevice.html", true}, 18 } 19 20 func TestMakeAbsoluteURL(t *testing.T) { 21 url1, _ := makeAbsoluteURL("/pingid/ppm/devices", "https://authentication.pingone.com") 22 url2, _ := makeAbsoluteURL("/pingid/ppm/devices", "https://authentication.pingone.com/") 23 url3, _ := makeAbsoluteURL("https://authentication.pingone.com/pingid/ppm/devices", "https://authentication.pingone.com/") 24 25 require.Equal(t, url1, "https://authentication.pingone.com/pingid/ppm/devices") 26 require.Equal(t, url2, "https://authentication.pingone.com/pingid/ppm/devices") 27 require.Equal(t, url3, "https://authentication.pingone.com/pingid/ppm/devices") 28 } 29 30 func TestDocTypes(t *testing.T) { 31 for _, tt := range docTests { 32 data, err := ioutil.ReadFile(tt.file) 33 require.Nil(t, err) 34 35 doc, err := goquery.NewDocumentFromReader(bytes.NewReader(data)) 36 require.Nil(t, err) 37 38 if tt.fn(doc) != tt.expected { 39 t.Errorf("expect doc check of %v to be %v", tt.file, tt.expected) 40 } 41 } 42 }