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 }