diff --git a/openstack/common/extensions/testing/doc.go b/openstack/common/extensions/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/common/extensions/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/common/extensions/fixtures.go b/openstack/common/extensions/testing/fixtures.go
similarity index 91%
rename from openstack/common/extensions/fixtures.go
rename to openstack/common/extensions/testing/fixtures.go
index 00d3db4..a986c95 100644
--- a/openstack/common/extensions/fixtures.go
+++ b/openstack/common/extensions/testing/fixtures.go
@@ -1,12 +1,11 @@
-// +build fixtures
-
-package extensions
+package testing
 
 import (
 	"fmt"
 	"net/http"
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/common/extensions"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	"github.com/gophercloud/gophercloud/testhelper/client"
 )
@@ -41,7 +40,7 @@
 `
 
 // ListedExtension is the Extension that should be parsed from ListOutput.
-var ListedExtension = Extension{
+var ListedExtension = extensions.Extension{
 	Updated:     "2013-01-20T00:00:00-00:00",
 	Name:        "Neutron Service Type Management",
 	Links:       []interface{}{},
@@ -51,10 +50,10 @@
 }
 
 // ExpectedExtensions is a slice containing the Extension that should be parsed from ListOutput.
-var ExpectedExtensions = []Extension{ListedExtension}
+var ExpectedExtensions = []extensions.Extension{ListedExtension}
 
 // SingleExtension is the Extension that should be parsed from GetOutput.
-var SingleExtension = &Extension{
+var SingleExtension = &extensions.Extension{
 	Updated:     "2013-02-03T10:00:00-00:00",
 	Name:        "agent",
 	Links:       []interface{}{},
diff --git a/openstack/common/extensions/requests_test.go b/openstack/common/extensions/testing/requests_test.go
similarity index 67%
rename from openstack/common/extensions/requests_test.go
rename to openstack/common/extensions/testing/requests_test.go
index 5caf407..fbaedfa 100644
--- a/openstack/common/extensions/requests_test.go
+++ b/openstack/common/extensions/testing/requests_test.go
@@ -1,8 +1,9 @@
-package extensions
+package testing
 
 import (
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/common/extensions"
 	"github.com/gophercloud/gophercloud/pagination"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	"github.com/gophercloud/gophercloud/testhelper/client"
@@ -15,9 +16,9 @@
 
 	count := 0
 
-	List(client.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
+	extensions.List(client.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
 		count++
-		actual, err := ExtractExtensions(page)
+		actual, err := extensions.ExtractExtensions(page)
 		th.AssertNoErr(t, err)
 		th.AssertDeepEquals(t, ExpectedExtensions, actual)
 
@@ -32,7 +33,7 @@
 	defer th.TeardownHTTP()
 	HandleGetExtensionSuccessfully(t)
 
-	actual, err := Get(client.ServiceClient(), "agent").Extract()
+	actual, err := extensions.Get(client.ServiceClient(), "agent").Extract()
 	th.AssertNoErr(t, err)
 	th.CheckDeepEquals(t, SingleExtension, actual)
 }
