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 }