github.com/gophercloud/gophercloud@v1.11.0/openstack/utils/testing/base_endpoint_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/gophercloud/gophercloud/openstack/utils"
     7  	th "github.com/gophercloud/gophercloud/testhelper"
     8  )
     9  
    10  type endpointTestCases struct {
    11  	Endpoint     string
    12  	BaseEndpoint string
    13  }
    14  
    15  func TestBaseEndpoint(t *testing.T) {
    16  	tests := []endpointTestCases{
    17  		{
    18  			Endpoint:     "http://example.com:5000/v3",
    19  			BaseEndpoint: "http://example.com:5000/",
    20  		},
    21  		{
    22  			Endpoint:     "http://example.com:5000/v3.6",
    23  			BaseEndpoint: "http://example.com:5000/",
    24  		},
    25  		{
    26  			Endpoint:     "http://example.com:5000/v2.0",
    27  			BaseEndpoint: "http://example.com:5000/",
    28  		},
    29  		{
    30  			Endpoint:     "http://example.com:5000/",
    31  			BaseEndpoint: "http://example.com:5000/",
    32  		},
    33  		{
    34  			Endpoint:     "http://example.com:5000",
    35  			BaseEndpoint: "http://example.com:5000",
    36  		},
    37  		{
    38  			Endpoint:     "http://example.com/identity/v3",
    39  			BaseEndpoint: "http://example.com/identity/",
    40  		},
    41  		{
    42  			Endpoint:     "http://example.com/identity/v3.6",
    43  			BaseEndpoint: "http://example.com/identity/",
    44  		},
    45  		{
    46  			Endpoint:     "http://example.com/identity/v2.0",
    47  			BaseEndpoint: "http://example.com/identity/",
    48  		},
    49  		{
    50  			Endpoint:     "http://example.com/identity/v2.0/projects",
    51  			BaseEndpoint: "http://example.com/identity/",
    52  		},
    53  		{
    54  			Endpoint:     "http://example.com/v2.0/projects",
    55  			BaseEndpoint: "http://example.com/",
    56  		},
    57  		{
    58  			Endpoint:     "http://example.com/identity/",
    59  			BaseEndpoint: "http://example.com/identity/",
    60  		},
    61  		{
    62  			Endpoint:     "http://dev.example.com:5000/v3",
    63  			BaseEndpoint: "http://dev.example.com:5000/",
    64  		},
    65  		{
    66  			Endpoint:     "http://dev.example.com:5000/v3.6",
    67  			BaseEndpoint: "http://dev.example.com:5000/",
    68  		},
    69  		{
    70  			Endpoint:     "http://dev.example.com/identity/",
    71  			BaseEndpoint: "http://dev.example.com/identity/",
    72  		},
    73  		{
    74  			Endpoint:     "http://dev.example.com/identity/v2.0/projects",
    75  			BaseEndpoint: "http://dev.example.com/identity/",
    76  		},
    77  		{
    78  			Endpoint:     "http://dev.example.com/identity/v3.6",
    79  			BaseEndpoint: "http://dev.example.com/identity/",
    80  		},
    81  	}
    82  
    83  	for _, test := range tests {
    84  		actual, err := utils.BaseEndpoint(test.Endpoint)
    85  		th.AssertNoErr(t, err)
    86  		th.AssertEquals(t, test.BaseEndpoint, actual)
    87  	}
    88  }