diff --git a/openstack/networking/v2/apiversions/errors.go b/openstack/networking/v2/apiversions/errors.go
deleted file mode 100644
index 76bdb14..0000000
--- a/openstack/networking/v2/apiversions/errors.go
+++ /dev/null
@@ -1 +0,0 @@
-package apiversions
diff --git a/openstack/networking/v2/apiversions/testing/doc.go b/openstack/networking/v2/apiversions/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/networking/v2/apiversions/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/networking/v2/apiversions/requests_test.go b/openstack/networking/v2/apiversions/testing/requests_test.go
similarity index 78%
rename from openstack/networking/v2/apiversions/requests_test.go
rename to openstack/networking/v2/apiversions/testing/requests_test.go
index 375bfa6..5a66a2a 100644
--- a/openstack/networking/v2/apiversions/requests_test.go
+++ b/openstack/networking/v2/apiversions/testing/requests_test.go
@@ -1,10 +1,11 @@
-package apiversions
+package testing
 
 import (
 	"fmt"
 	"net/http"
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/networking/v2/apiversions"
 	"github.com/gophercloud/gophercloud/pagination"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	fake "github.com/gophercloud/gophercloud/testhelper/client"
@@ -40,16 +41,16 @@
 
 	count := 0
 
-	ListVersions(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
+	apiversions.ListVersions(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
 		count++
-		actual, err := ExtractAPIVersions(page)
+		actual, err := apiversions.ExtractAPIVersions(page)
 		if err != nil {
 			t.Errorf("Failed to extract API versions: %v", err)
 			return false, err
 		}
 
-		expected := []APIVersion{
-			APIVersion{
+		expected := []apiversions.APIVersion{
+			{
 				Status: "CURRENT",
 				ID:     "v2.0",
 			},
@@ -73,8 +74,8 @@
 		w.WriteHeader(http.StatusOK)
 	})
 
-	ListVersions(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
-		if _, err := ExtractAPIVersions(page); err == nil {
+	apiversions.ListVersions(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
+		if _, err := apiversions.ExtractAPIVersions(page); err == nil {
 			t.Fatalf("Expected error, got nil")
 		}
 		return true, nil
@@ -132,24 +133,24 @@
 
 	count := 0
 
-	ListVersionResources(fake.ServiceClient(), "v2.0").EachPage(func(page pagination.Page) (bool, error) {
+	apiversions.ListVersionResources(fake.ServiceClient(), "v2.0").EachPage(func(page pagination.Page) (bool, error) {
 		count++
-		actual, err := ExtractVersionResources(page)
+		actual, err := apiversions.ExtractVersionResources(page)
 		if err != nil {
 			t.Errorf("Failed to extract version resources: %v", err)
 			return false, err
 		}
 
-		expected := []APIVersionResource{
-			APIVersionResource{
+		expected := []apiversions.APIVersionResource{
+			{
 				Name:       "subnet",
 				Collection: "subnets",
 			},
-			APIVersionResource{
+			{
 				Name:       "network",
 				Collection: "networks",
 			},
-			APIVersionResource{
+			{
 				Name:       "port",
 				Collection: "ports",
 			},
@@ -173,8 +174,8 @@
 		w.WriteHeader(http.StatusOK)
 	})
 
-	ListVersionResources(fake.ServiceClient(), "v2.0").EachPage(func(page pagination.Page) (bool, error) {
-		if _, err := ExtractVersionResources(page); err == nil {
+	apiversions.ListVersionResources(fake.ServiceClient(), "v2.0").EachPage(func(page pagination.Page) (bool, error) {
+		if _, err := apiversions.ExtractVersionResources(page); err == nil {
 			t.Fatalf("Expected error, got nil")
 		}
 		return true, nil
