fix ListByServer URL and unit test
diff --git a/openstack/compute/v2/extensions/secgroups/fixtures.go b/openstack/compute/v2/extensions/secgroups/fixtures.go
index ca76f68..1c6ba39 100644
--- a/openstack/compute/v2/extensions/secgroups/fixtures.go
+++ b/openstack/compute/v2/extensions/secgroups/fixtures.go
@@ -38,7 +38,7 @@
 }
 
 func mockListGroupsByServerResponse(t *testing.T, serverID string) {
-	url := fmt.Sprintf("%s/servers/%s%s", rootPath, serverID, rootPath)
+	url := fmt.Sprintf("/servers/%s%s", serverID, rootPath)
 	th.Mux.HandleFunc(url, func(w http.ResponseWriter, r *http.Request) {
 		th.TestMethod(t, r, "GET")
 		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
diff --git a/openstack/compute/v2/extensions/secgroups/urls.go b/openstack/compute/v2/extensions/secgroups/urls.go
index f4760b6..dc53fbf 100644
--- a/openstack/compute/v2/extensions/secgroups/urls.go
+++ b/openstack/compute/v2/extensions/secgroups/urls.go
@@ -16,7 +16,7 @@
 }
 
 func listByServerURL(c *gophercloud.ServiceClient, serverID string) string {
-	return c.ServiceURL(secgrouppath, "servers", serverID, secgrouppath)
+	return c.ServiceURL("servers", serverID, secgrouppath)
 }
 
 func rootRuleURL(c *gophercloud.ServiceClient) string {