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  }