diff --git a/openstack/blockStorage/v1/snapshots/urls_test.go b/openstack/blockStorage/v1/snapshots/urls_test.go
index 1e77fbd..c36227f 100644
--- a/openstack/blockStorage/v1/snapshots/urls_test.go
+++ b/openstack/blockStorage/v1/snapshots/urls_test.go
@@ -1 +1,26 @@
 package snapshots
+
+import (
+	"testing"
+
+	"github.com/rackspace/gophercloud"
+	th "github.com/rackspace/gophercloud/testhelper"
+)
+
+const endpoint = "http://localhost:57909"
+
+func endpointClient() *gophercloud.ServiceClient {
+	return &gophercloud.ServiceClient{Endpoint: endpoint}
+}
+
+func TestSnapshotsURL(t *testing.T) {
+	actual := snapshotsURL(endpointClient())
+	expected := endpoint + "snapshots"
+	th.AssertEquals(t, expected, actual)
+}
+
+func TestSnapshotURL(t *testing.T) {
+	actual := snapshotURL(endpointClient(), "foo")
+	expected := endpoint + "snapshots/foo"
+	th.AssertEquals(t, expected, actual)
+}
diff --git a/openstack/blockStorage/v1/volumeTypes/urls_test.go b/openstack/blockStorage/v1/volumeTypes/urls_test.go
index 3051821..492f6e7 100644
--- a/openstack/blockStorage/v1/volumeTypes/urls_test.go
+++ b/openstack/blockStorage/v1/volumeTypes/urls_test.go
@@ -1 +1,26 @@
 package volumeTypes
+
+import (
+	"testing"
+
+	"github.com/rackspace/gophercloud"
+	th "github.com/rackspace/gophercloud/testhelper"
+)
+
+const endpoint = "http://localhost:57909"
+
+func endpointClient() *gophercloud.ServiceClient {
+	return &gophercloud.ServiceClient{Endpoint: endpoint}
+}
+
+func TestVolumeTypesURL(t *testing.T) {
+	actual := volumeTypesURL(endpointClient())
+	expected := endpoint + "types"
+	th.AssertEquals(t, expected, actual)
+}
+
+func TestVolumeTypeURL(t *testing.T) {
+	actual := volumeTypeURL(endpointClient(), "foo")
+	expected := endpoint + "types/foo"
+	th.AssertEquals(t, expected, actual)
+}
diff --git a/openstack/blockStorage/v1/volumes/urls_test.go b/openstack/blockStorage/v1/volumes/urls_test.go
index bea59b2..fac4033 100644
--- a/openstack/blockStorage/v1/volumes/urls_test.go
+++ b/openstack/blockStorage/v1/volumes/urls_test.go
@@ -1 +1,26 @@
 package volumes
+
+import (
+	"testing"
+
+	"github.com/rackspace/gophercloud"
+	th "github.com/rackspace/gophercloud/testhelper"
+)
+
+const endpoint = "http://localhost:57909"
+
+func endpointClient() *gophercloud.ServiceClient {
+	return &gophercloud.ServiceClient{Endpoint: endpoint}
+}
+
+func TestVolumesURL(t *testing.T) {
+	actual := volumesURL(endpointClient())
+	expected := endpoint + "volumes"
+	th.AssertEquals(t, expected, actual)
+}
+
+func TestVolumeURL(t *testing.T) {
+	actual := volumeURL(endpointClient(), "foo")
+	expected := endpoint + "volumes/foo"
+	th.AssertEquals(t, expected, actual)
+}
