github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/identity/v3/federation/metadata/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"fmt"
     5  	"net/http"
     6  	"testing"
     7  
     8  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/identity/v3/federation/metadata"
     9  	th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
    10  	fake "github.com/opentelekomcloud/gophertelekomcloud/testhelper/client"
    11  )
    12  
    13  func TestImportMetadataRequest(t *testing.T) {
    14  	th.SetupHTTP()
    15  	defer th.TeardownHTTP()
    16  
    17  	th.Mux.HandleFunc(metadataURL, func(w http.ResponseWriter, r *http.Request) {
    18  		th.TestMethod(t, r, "POST")
    19  		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
    20  		th.TestHeader(t, r, "Content-Type", "application/json")
    21  		th.TestHeader(t, r, "Accept", "application/json")
    22  		th.TestJSONRequest(t, r, importMetadataBody)
    23  
    24  		w.WriteHeader(201)
    25  		_, _ = fmt.Fprint(w, `{ "message": "Import metadata successful"}`)
    26  	})
    27  
    28  	opts := metadata.ImportOpts{
    29  		DomainID: domainID,
    30  		Metadata: data,
    31  	}
    32  
    33  	err := metadata.Import(fake.ServiceClient(), "ACME", "saml", opts).ExtractErr()
    34  	th.AssertNoErr(t, err)
    35  }
    36  
    37  func TestGetMetadataRequest(t *testing.T) {
    38  	th.SetupHTTP()
    39  	defer th.TeardownHTTP()
    40  
    41  	th.Mux.HandleFunc(metadataURL, func(w http.ResponseWriter, r *http.Request) {
    42  		th.TestMethod(t, r, "GET")
    43  		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
    44  		th.TestHeader(t, r, "Content-Type", "application/json")
    45  		th.TestHeader(t, r, "Accept", "application/json")
    46  
    47  		w.WriteHeader(200)
    48  		_, _ = fmt.Fprint(w, getMetadataResponseBody)
    49  	})
    50  
    51  	meta, err := metadata.Get(fake.ServiceClient(), "ACME", "saml").Extract()
    52  	th.AssertNoErr(t, err)
    53  	th.AssertEquals(t, domainID, meta.DomainID)
    54  	th.AssertEquals(t, data, meta.Data)
    55  }