github.com/gophercloud/gophercloud@v1.11.0/openstack/sharedfilesystems/v2/shareaccessrules/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"fmt"
     5  	"net/http"
     6  	"testing"
     7  	"time"
     8  
     9  	"github.com/gophercloud/gophercloud/openstack/sharedfilesystems/v2/shareaccessrules"
    10  	th "github.com/gophercloud/gophercloud/testhelper"
    11  	"github.com/gophercloud/gophercloud/testhelper/client"
    12  	fake "github.com/gophercloud/gophercloud/testhelper/client"
    13  )
    14  
    15  func TestGet(t *testing.T) {
    16  	th.SetupHTTP()
    17  	defer th.TeardownHTTP()
    18  
    19  	MockGetResponse(t)
    20  
    21  	resp := shareaccessrules.Get(client.ServiceClient(), "507bf114-36f2-4f56-8cf4-857985ca87c1")
    22  	th.AssertNoErr(t, resp.Err)
    23  
    24  	accessRule, err := resp.Extract()
    25  	th.AssertNoErr(t, err)
    26  
    27  	th.AssertDeepEquals(t, &shareaccessrules.ShareAccess{
    28  		ShareID:     "fb213952-2352-41b4-ad7b-2c4c69d13eef",
    29  		CreatedAt:   time.Date(2018, 7, 17, 2, 1, 4, 0, time.UTC),
    30  		UpdatedAt:   time.Date(2018, 7, 17, 2, 1, 4, 0, time.UTC),
    31  		AccessType:  "cert",
    32  		AccessTo:    "example.com",
    33  		AccessKey:   "",
    34  		State:       "error",
    35  		AccessLevel: "rw",
    36  		ID:          "507bf114-36f2-4f56-8cf4-857985ca87c1",
    37  		Metadata: map[string]interface{}{
    38  			"key1": "value1",
    39  			"key2": "value2",
    40  		},
    41  	}, accessRule)
    42  }
    43  
    44  func MockListResponse(t *testing.T) {
    45  	th.Mux.HandleFunc(shareAccessRulesEndpoint, func(w http.ResponseWriter, r *http.Request) {
    46  		th.TestMethod(t, r, "GET")
    47  		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
    48  		th.TestHeader(t, r, "Accept", "application/json")
    49  		w.Header().Add("Content-Type", "application/json")
    50  		w.WriteHeader(http.StatusOK)
    51  		fmt.Fprintf(w, listResponse)
    52  	})
    53  }