move unit tests into 'testing' directories
diff --git a/openstack/db/v1/configurations/testing/doc.go b/openstack/db/v1/configurations/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/db/v1/configurations/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/db/v1/configurations/fixtures.go b/openstack/db/v1/configurations/testing/fixtures.go
similarity index 94%
rename from openstack/db/v1/configurations/fixtures.go
rename to openstack/db/v1/configurations/testing/fixtures.go
index 9064c6c..56e10f4 100644
--- a/openstack/db/v1/configurations/fixtures.go
+++ b/openstack/db/v1/configurations/testing/fixtures.go
@@ -1,10 +1,10 @@
-// +build fixtures
-
-package configurations
+package testing
 
 import (
 	"fmt"
 	"time"
+
+	"github.com/gophercloud/gophercloud/openstack/db/v1/configurations"
 )
 
 var (
@@ -132,7 +132,7 @@
 }
 `
 
-var ExampleConfig = Config{
+var ExampleConfig = configurations.Config{
 	Created:              timeVal,
 	DatastoreName:        "mysql",
 	DatastoreVersionID:   "b00000b0-00b0-0b00-00b0-000b000000bb",
@@ -143,7 +143,7 @@
 	Updated:              timeVal,
 }
 
-var ExampleConfigWithValues = Config{
+var ExampleConfigWithValues = configurations.Config{
 	Created:              timeVal,
 	DatastoreName:        "mysql",
 	DatastoreVersionID:   "b00000b0-00b0-0b00-00b0-000b000000bb",
diff --git a/openstack/db/v1/configurations/requests_test.go b/openstack/db/v1/configurations/testing/requests_test.go
similarity index 65%
rename from openstack/db/v1/configurations/requests_test.go
rename to openstack/db/v1/configurations/testing/requests_test.go
index 575cf4f..643f363 100644
--- a/openstack/db/v1/configurations/requests_test.go
+++ b/openstack/db/v1/configurations/testing/requests_test.go
@@ -1,8 +1,9 @@
-package configurations
+package testing
 
 import (
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/db/v1/configurations"
 	"github.com/gophercloud/gophercloud/openstack/db/v1/instances"
 	"github.com/gophercloud/gophercloud/pagination"
 	th "github.com/gophercloud/gophercloud/testhelper"
@@ -30,12 +31,12 @@
 	fixture.SetupHandler(t, _baseURL, "GET", "", ListConfigsJSON, 200)
 
 	count := 0
-	err := List(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
+	err := configurations.List(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
 		count++
-		actual, err := ExtractConfigs(page)
+		actual, err := configurations.ExtractConfigs(page)
 		th.AssertNoErr(t, err)
 
-		expected := []Config{ExampleConfig}
+		expected := []configurations.Config{ExampleConfig}
 		th.AssertDeepEquals(t, expected, actual)
 
 		return true, nil
@@ -50,7 +51,7 @@
 	defer th.TeardownHTTP()
 	fixture.SetupHandler(t, resURL, "GET", "", GetConfigJSON, 200)
 
-	config, err := Get(fake.ServiceClient(), configID).Extract()
+	config, err := configurations.Get(fake.ServiceClient(), configID).Extract()
 	th.AssertNoErr(t, err)
 	th.AssertDeepEquals(t, &ExampleConfig, config)
 }
@@ -60,8 +61,8 @@
 	defer th.TeardownHTTP()
 	fixture.SetupHandler(t, _baseURL, "POST", CreateReq, CreateConfigJSON, 200)
 
-	opts := CreateOpts{
-		Datastore: &DatastoreOpts{
+	opts := configurations.CreateOpts{
+		Datastore: &configurations.DatastoreOpts{
 			Type:    "a00000a0-00a0-0a00-00a0-000a000000aa",
 			Version: "b00000b0-00b0-0b00-00b0-000b000000bb",
 		},
@@ -73,7 +74,7 @@
 		},
 	}
 
-	config, err := Create(fake.ServiceClient(), opts).Extract()
+	config, err := configurations.Create(fake.ServiceClient(), opts).Extract()
 	th.AssertNoErr(t, err)
 	th.AssertDeepEquals(t, &ExampleConfigWithValues, config)
 }
@@ -83,13 +84,13 @@
 	defer th.TeardownHTTP()
 	fixture.SetupHandler(t, resURL, "PATCH", UpdateReq, "", 200)
 
-	opts := UpdateOpts{
+	opts := configurations.UpdateOpts{
 		Values: map[string]interface{}{
 			"connect_timeout": 300,
 		},
 	}
 
-	err := Update(fake.ServiceClient(), configID, opts).ExtractErr()
+	err := configurations.Update(fake.ServiceClient(), configID, opts).ExtractErr()
 	th.AssertNoErr(t, err)
 }
 
@@ -98,13 +99,13 @@
 	defer th.TeardownHTTP()
 	fixture.SetupHandler(t, resURL, "PUT", UpdateReq, "", 202)
 
-	opts := UpdateOpts{
+	opts := configurations.UpdateOpts{
 		Values: map[string]interface{}{
 			"connect_timeout": 300,
 		},
 	}
 
-	err := Replace(fake.ServiceClient(), configID, opts).ExtractErr()
+	err := configurations.Replace(fake.ServiceClient(), configID, opts).ExtractErr()
 	th.AssertNoErr(t, err)
 }
 
@@ -113,7 +114,7 @@
 	defer th.TeardownHTTP()
 	fixture.SetupHandler(t, resURL, "DELETE", "", "", 202)
 
-	err := Delete(fake.ServiceClient(), configID).ExtractErr()
+	err := configurations.Delete(fake.ServiceClient(), configID).ExtractErr()
 	th.AssertNoErr(t, err)
 }
 
@@ -128,7 +129,7 @@
 	}
 
 	pages := 0
-	err := ListInstances(fake.ServiceClient(), configID).EachPage(func(page pagination.Page) (bool, error) {
+	err := configurations.ListInstances(fake.ServiceClient(), configID).EachPage(func(page pagination.Page) (bool, error) {
 		pages++
 
 		actual, err := instances.ExtractInstances(page)
@@ -151,19 +152,19 @@
 	fixture.SetupHandler(t, dsParamListURL, "GET", "", ListParamsJSON, 200)
 
 	pages := 0
-	err := ListDatastoreParams(fake.ServiceClient(), dsID, versionID).EachPage(func(page pagination.Page) (bool, error) {
+	err := configurations.ListDatastoreParams(fake.ServiceClient(), dsID, versionID).EachPage(func(page pagination.Page) (bool, error) {
 		pages++
 
-		actual, err := ExtractParams(page)
+		actual, err := configurations.ExtractParams(page)
 		if err != nil {
 			return false, err
 		}
 
-		expected := []Param{
-			Param{Max: 1, Min: 0, Name: "innodb_file_per_table", RestartRequired: true, Type: "integer"},
-			Param{Max: 4294967296, Min: 0, Name: "key_buffer_size", RestartRequired: false, Type: "integer"},
-			Param{Max: 65535, Min: 2, Name: "connect_timeout", RestartRequired: false, Type: "integer"},
-			Param{Max: 4294967296, Min: 0, Name: "join_buffer_size", RestartRequired: false, Type: "integer"},
+		expected := []configurations.Param{
+			{Max: 1, Min: 0, Name: "innodb_file_per_table", RestartRequired: true, Type: "integer"},
+			{Max: 4294967296, Min: 0, Name: "key_buffer_size", RestartRequired: false, Type: "integer"},
+			{Max: 65535, Min: 2, Name: "connect_timeout", RestartRequired: false, Type: "integer"},
+			{Max: 4294967296, Min: 0, Name: "join_buffer_size", RestartRequired: false, Type: "integer"},
 		}
 
 		th.AssertDeepEquals(t, actual, expected)
@@ -180,10 +181,10 @@
 	defer th.TeardownHTTP()
 	fixture.SetupHandler(t, dsParamGetURL, "GET", "", GetParamJSON, 200)
 
-	param, err := GetDatastoreParam(fake.ServiceClient(), dsID, versionID, paramID).Extract()
+	param, err := configurations.GetDatastoreParam(fake.ServiceClient(), dsID, versionID, paramID).Extract()
 	th.AssertNoErr(t, err)
 
-	expected := &Param{
+	expected := &configurations.Param{
 		Max: 1, Min: 0, Name: "innodb_file_per_table", RestartRequired: true, Type: "integer",
 	}
 
@@ -196,19 +197,19 @@
 	fixture.SetupHandler(t, globalParamListURL, "GET", "", ListParamsJSON, 200)
 
 	pages := 0
-	err := ListGlobalParams(fake.ServiceClient(), versionID).EachPage(func(page pagination.Page) (bool, error) {
+	err := configurations.ListGlobalParams(fake.ServiceClient(), versionID).EachPage(func(page pagination.Page) (bool, error) {
 		pages++
 
-		actual, err := ExtractParams(page)
+		actual, err := configurations.ExtractParams(page)
 		if err != nil {
 			return false, err
 		}
 
-		expected := []Param{
-			Param{Max: 1, Min: 0, Name: "innodb_file_per_table", RestartRequired: true, Type: "integer"},
-			Param{Max: 4294967296, Min: 0, Name: "key_buffer_size", RestartRequired: false, Type: "integer"},
-			Param{Max: 65535, Min: 2, Name: "connect_timeout", RestartRequired: false, Type: "integer"},
-			Param{Max: 4294967296, Min: 0, Name: "join_buffer_size", RestartRequired: false, Type: "integer"},
+		expected := []configurations.Param{
+			{Max: 1, Min: 0, Name: "innodb_file_per_table", RestartRequired: true, Type: "integer"},
+			{Max: 4294967296, Min: 0, Name: "key_buffer_size", RestartRequired: false, Type: "integer"},
+			{Max: 65535, Min: 2, Name: "connect_timeout", RestartRequired: false, Type: "integer"},
+			{Max: 4294967296, Min: 0, Name: "join_buffer_size", RestartRequired: false, Type: "integer"},
 		}
 
 		th.AssertDeepEquals(t, actual, expected)
@@ -225,10 +226,10 @@
 	defer th.TeardownHTTP()
 	fixture.SetupHandler(t, globalParamGetURL, "GET", "", GetParamJSON, 200)
 
-	param, err := GetGlobalParam(fake.ServiceClient(), versionID, paramID).Extract()
+	param, err := configurations.GetGlobalParam(fake.ServiceClient(), versionID, paramID).Extract()
 	th.AssertNoErr(t, err)
 
-	expected := &Param{
+	expected := &configurations.Param{
 		Max: 1, Min: 0, Name: "innodb_file_per_table", RestartRequired: true, Type: "integer",
 	}
 
diff --git a/openstack/db/v1/databases/requests_test.go b/openstack/db/v1/databases/requests_test.go
deleted file mode 100644
index 5ec45e1..0000000
--- a/openstack/db/v1/databases/requests_test.go
+++ /dev/null
@@ -1,66 +0,0 @@
-package databases
-
-import (
-	"testing"
-
-	"github.com/gophercloud/gophercloud/pagination"
-	th "github.com/gophercloud/gophercloud/testhelper"
-	fake "github.com/gophercloud/gophercloud/testhelper/client"
-)
-
-func TestCreate(t *testing.T) {
-	th.SetupHTTP()
-	defer th.TeardownHTTP()
-	HandleCreate(t)
-
-	opts := BatchCreateOpts{
-		CreateOpts{Name: "testingdb", CharSet: "utf8", Collate: "utf8_general_ci"},
-		CreateOpts{Name: "sampledb"},
-	}
-
-	res := Create(fake.ServiceClient(), instanceID, opts)
-	th.AssertNoErr(t, res.Err)
-}
-
-func TestList(t *testing.T) {
-	th.SetupHTTP()
-	defer th.TeardownHTTP()
-	HandleList(t)
-
-	expectedDBs := []Database{
-		Database{Name: "anotherexampledb"},
-		Database{Name: "exampledb"},
-		Database{Name: "nextround"},
-		Database{Name: "sampledb"},
-		Database{Name: "testingdb"},
-	}
-
-	pages := 0
-	err := List(fake.ServiceClient(), instanceID).EachPage(func(page pagination.Page) (bool, error) {
-		pages++
-
-		actual, err := ExtractDBs(page)
-		if err != nil {
-			return false, err
-		}
-
-		th.CheckDeepEquals(t, expectedDBs, actual)
-
-		return true, nil
-	})
-
-	th.AssertNoErr(t, err)
-
-	if pages != 1 {
-		t.Errorf("Expected 1 page, saw %d", pages)
-	}
-}
-
-func TestDelete(t *testing.T) {
-	th.SetupHTTP()
-	defer th.TeardownHTTP()
-	HandleDelete(t)
-
-	err := Delete(fake.ServiceClient(), instanceID, "{dbName}").ExtractErr()
-	th.AssertNoErr(t, err)
-}
diff --git a/openstack/db/v1/databases/testing/doc.go b/openstack/db/v1/databases/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/db/v1/databases/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/db/v1/databases/fixtures.go b/openstack/db/v1/databases/testing/fixtures.go
similarity index 95%
rename from openstack/db/v1/databases/fixtures.go
rename to openstack/db/v1/databases/testing/fixtures.go
index c99f990..02b9ecc 100644
--- a/openstack/db/v1/databases/fixtures.go
+++ b/openstack/db/v1/databases/testing/fixtures.go
@@ -1,6 +1,4 @@
-// +build fixtures
-
-package databases
+package testing
 
 import (
 	"testing"
diff --git a/openstack/db/v1/databases/testing/requests_test.go b/openstack/db/v1/databases/testing/requests_test.go
new file mode 100644
index 0000000..a470ffa
--- /dev/null
+++ b/openstack/db/v1/databases/testing/requests_test.go
@@ -0,0 +1,67 @@
+package testing
+
+import (
+	"testing"
+
+	"github.com/gophercloud/gophercloud/openstack/db/v1/databases"
+	"github.com/gophercloud/gophercloud/pagination"
+	th "github.com/gophercloud/gophercloud/testhelper"
+	fake "github.com/gophercloud/gophercloud/testhelper/client"
+)
+
+func TestCreate(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+	HandleCreate(t)
+
+	opts := databases.BatchCreateOpts{
+		databases.CreateOpts{Name: "testingdb", CharSet: "utf8", Collate: "utf8_general_ci"},
+		databases.CreateOpts{Name: "sampledb"},
+	}
+
+	res := databases.Create(fake.ServiceClient(), instanceID, opts)
+	th.AssertNoErr(t, res.Err)
+}
+
+func TestList(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+	HandleList(t)
+
+	expectedDBs := []databases.Database{
+		{Name: "anotherexampledb"},
+		{Name: "exampledb"},
+		{Name: "nextround"},
+		{Name: "sampledb"},
+		{Name: "testingdb"},
+	}
+
+	pages := 0
+	err := databases.List(fake.ServiceClient(), instanceID).EachPage(func(page pagination.Page) (bool, error) {
+		pages++
+
+		actual, err := databases.ExtractDBs(page)
+		if err != nil {
+			return false, err
+		}
+
+		th.CheckDeepEquals(t, expectedDBs, actual)
+
+		return true, nil
+	})
+
+	th.AssertNoErr(t, err)
+
+	if pages != 1 {
+		t.Errorf("Expected 1 page, saw %d", pages)
+	}
+}
+
+func TestDelete(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+	HandleDelete(t)
+
+	err := databases.Delete(fake.ServiceClient(), instanceID, "{dbName}").ExtractErr()
+	th.AssertNoErr(t, err)
+}
diff --git a/openstack/db/v1/datastores/testing/doc.go b/openstack/db/v1/datastores/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/db/v1/datastores/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/db/v1/datastores/fixtures.go b/openstack/db/v1/datastores/testing/fixtures.go
similarity index 67%
rename from openstack/db/v1/datastores/fixtures.go
rename to openstack/db/v1/datastores/testing/fixtures.go
index 8caa586..3b82646 100644
--- a/openstack/db/v1/datastores/fixtures.go
+++ b/openstack/db/v1/datastores/testing/fixtures.go
@@ -1,11 +1,10 @@
-// +build fixtures
-
-package datastores
+package testing
 
 import (
 	"fmt"
 
 	"github.com/gophercloud/gophercloud"
+	"github.com/gophercloud/gophercloud/openstack/db/v1/datastores"
 )
 
 const version1JSON = `
@@ -70,32 +69,32 @@
 	GetVersionResp   = fmt.Sprintf(`{"version":%s}`, version1JSON)
 )
 
-var ExampleVersion1 = Version{
+var ExampleVersion1 = datastores.Version{
 	ID: "b00000b0-00b0-0b00-00b0-000b000000bb",
 	Links: []gophercloud.Link{
-		gophercloud.Link{Rel: "self", Href: "https://10.240.28.38:8779/v1.0/1234/datastores/versions/b00000b0-00b0-0b00-00b0-000b000000bb"},
-		gophercloud.Link{Rel: "bookmark", Href: "https://10.240.28.38:8779/datastores/versions/b00000b0-00b0-0b00-00b0-000b000000bb"},
+		{Rel: "self", Href: "https://10.240.28.38:8779/v1.0/1234/datastores/versions/b00000b0-00b0-0b00-00b0-000b000000bb"},
+		{Rel: "bookmark", Href: "https://10.240.28.38:8779/datastores/versions/b00000b0-00b0-0b00-00b0-000b000000bb"},
 	},
 	Name: "5.1",
 }
 
-var exampleVersion2 = Version{
+var exampleVersion2 = datastores.Version{
 	ID: "c00000b0-00c0-0c00-00c0-000b000000cc",
 	Links: []gophercloud.Link{
-		gophercloud.Link{Rel: "self", Href: "https://10.240.28.38:8779/v1.0/1234/datastores/versions/c00000b0-00c0-0c00-00c0-000b000000cc"},
-		gophercloud.Link{Rel: "bookmark", Href: "https://10.240.28.38:8779/datastores/versions/c00000b0-00c0-0c00-00c0-000b000000cc"},
+		{Rel: "self", Href: "https://10.240.28.38:8779/v1.0/1234/datastores/versions/c00000b0-00c0-0c00-00c0-000b000000cc"},
+		{Rel: "bookmark", Href: "https://10.240.28.38:8779/datastores/versions/c00000b0-00c0-0c00-00c0-000b000000cc"},
 	},
 	Name: "5.2",
 }
 
-var ExampleVersions = []Version{ExampleVersion1, exampleVersion2}
+var ExampleVersions = []datastores.Version{ExampleVersion1, exampleVersion2}
 
-var ExampleDatastore = Datastore{
+var ExampleDatastore = datastores.Datastore{
 	DefaultVersion: "c00000b0-00c0-0c00-00c0-000b000000cc",
 	ID:             "10000000-0000-0000-0000-000000000001",
 	Links: []gophercloud.Link{
-		gophercloud.Link{Rel: "self", Href: "https://10.240.28.38:8779/v1.0/1234/datastores/10000000-0000-0000-0000-000000000001"},
-		gophercloud.Link{Rel: "bookmark", Href: "https://10.240.28.38:8779/datastores/10000000-0000-0000-0000-000000000001"},
+		{Rel: "self", Href: "https://10.240.28.38:8779/v1.0/1234/datastores/10000000-0000-0000-0000-000000000001"},
+		{Rel: "bookmark", Href: "https://10.240.28.38:8779/datastores/10000000-0000-0000-0000-000000000001"},
 	},
 	Name:     "mysql",
 	Versions: ExampleVersions,
diff --git a/openstack/db/v1/datastores/requests_test.go b/openstack/db/v1/datastores/testing/requests_test.go
similarity index 68%
rename from openstack/db/v1/datastores/requests_test.go
rename to openstack/db/v1/datastores/testing/requests_test.go
index 07faf2c..b505726 100644
--- a/openstack/db/v1/datastores/requests_test.go
+++ b/openstack/db/v1/datastores/testing/requests_test.go
@@ -1,8 +1,9 @@
-package datastores
+package testing
 
 import (
 	"testing"
 
+	"github.com/gophercloud/gophercloud/openstack/db/v1/datastores"
 	"github.com/gophercloud/gophercloud/pagination"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	fake "github.com/gophercloud/gophercloud/testhelper/client"
@@ -16,15 +17,15 @@
 
 	pages := 0
 
-	err := List(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
+	err := datastores.List(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
 		pages++
 
-		actual, err := ExtractDatastores(page)
+		actual, err := datastores.ExtractDatastores(page)
 		if err != nil {
 			return false, err
 		}
 
-		th.CheckDeepEquals(t, []Datastore{ExampleDatastore}, actual)
+		th.CheckDeepEquals(t, []datastores.Datastore{ExampleDatastore}, actual)
 
 		return true, nil
 	})
@@ -38,7 +39,7 @@
 	defer th.TeardownHTTP()
 	fixture.SetupHandler(t, "/datastores/{dsID}", "GET", "", GetDSResp, 200)
 
-	ds, err := Get(fake.ServiceClient(), "{dsID}").Extract()
+	ds, err := datastores.Get(fake.ServiceClient(), "{dsID}").Extract()
 	th.AssertNoErr(t, err)
 	th.AssertDeepEquals(t, &ExampleDatastore, ds)
 }
@@ -50,10 +51,10 @@
 
 	pages := 0
 
-	err := ListVersions(fake.ServiceClient(), "{dsID}").EachPage(func(page pagination.Page) (bool, error) {
+	err := datastores.ListVersions(fake.ServiceClient(), "{dsID}").EachPage(func(page pagination.Page) (bool, error) {
 		pages++
 
-		actual, err := ExtractVersions(page)
+		actual, err := datastores.ExtractVersions(page)
 		if err != nil {
 			return false, err
 		}
@@ -72,7 +73,7 @@
 	defer th.TeardownHTTP()
 	fixture.SetupHandler(t, "/datastores/{dsID}/versions/{versionID}", "GET", "", GetVersionResp, 200)
 
-	ds, err := GetVersion(fake.ServiceClient(), "{dsID}", "{versionID}").Extract()
+	ds, err := datastores.GetVersion(fake.ServiceClient(), "{dsID}", "{versionID}").Extract()
 	th.AssertNoErr(t, err)
 	th.AssertDeepEquals(t, &ExampleVersion1, ds)
 }
diff --git a/openstack/db/v1/flavors/requests_test.go b/openstack/db/v1/flavors/requests_test.go
deleted file mode 100644
index ce01759..0000000
--- a/openstack/db/v1/flavors/requests_test.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package flavors
-
-import (
-	"testing"
-
-	"github.com/gophercloud/gophercloud"
-	"github.com/gophercloud/gophercloud/pagination"
-	th "github.com/gophercloud/gophercloud/testhelper"
-	fake "github.com/gophercloud/gophercloud/testhelper/client"
-)
-
-func TestListFlavors(t *testing.T) {
-	th.SetupHTTP()
-	defer th.TeardownHTTP()
-	HandleList(t)
-
-	pages := 0
-	err := List(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
-		pages++
-
-		actual, err := ExtractFlavors(page)
-		if err != nil {
-			return false, err
-		}
-
-		expected := []Flavor{
-			Flavor{
-				ID:   1,
-				Name: "m1.tiny",
-				RAM:  512,
-				Links: []gophercloud.Link{
-					gophercloud.Link{Href: "https://openstack.example.com/v1.0/1234/flavors/1", Rel: "self"},
-					gophercloud.Link{Href: "https://openstack.example.com/flavors/1", Rel: "bookmark"},
-				},
-			},
-			Flavor{
-				ID:   2,
-				Name: "m1.small",
-				RAM:  1024,
-				Links: []gophercloud.Link{
-					gophercloud.Link{Href: "https://openstack.example.com/v1.0/1234/flavors/2", Rel: "self"},
-					gophercloud.Link{Href: "https://openstack.example.com/flavors/2", Rel: "bookmark"},
-				},
-			},
-			Flavor{
-				ID:   3,
-				Name: "m1.medium",
-				RAM:  2048,
-				Links: []gophercloud.Link{
-					gophercloud.Link{Href: "https://openstack.example.com/v1.0/1234/flavors/3", Rel: "self"},
-					gophercloud.Link{Href: "https://openstack.example.com/flavors/3", Rel: "bookmark"},
-				},
-			},
-			Flavor{
-				ID:   4,
-				Name: "m1.large",
-				RAM:  4096,
-				Links: []gophercloud.Link{
-					gophercloud.Link{Href: "https://openstack.example.com/v1.0/1234/flavors/4", Rel: "self"},
-					gophercloud.Link{Href: "https://openstack.example.com/flavors/4", Rel: "bookmark"},
-				},
-			},
-		}
-
-		th.AssertDeepEquals(t, expected, actual)
-		return true, nil
-	})
-
-	th.AssertNoErr(t, err)
-	th.AssertEquals(t, 1, pages)
-}
-
-func TestGetFlavor(t *testing.T) {
-	th.SetupHTTP()
-	defer th.TeardownHTTP()
-	HandleGet(t)
-
-	actual, err := Get(fake.ServiceClient(), flavorID).Extract()
-	th.AssertNoErr(t, err)
-
-	expected := &Flavor{
-		ID:   1,
-		Name: "m1.tiny",
-		RAM:  512,
-		Links: []gophercloud.Link{
-			gophercloud.Link{Href: "https://openstack.example.com/v1.0/1234/flavors/1", Rel: "self"},
-		},
-	}
-
-	th.AssertDeepEquals(t, expected, actual)
-}
diff --git a/openstack/db/v1/flavors/testing/doc.go b/openstack/db/v1/flavors/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/db/v1/flavors/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/db/v1/flavors/fixtures.go b/openstack/db/v1/flavors/testing/fixtures.go
similarity index 96%
rename from openstack/db/v1/flavors/fixtures.go
rename to openstack/db/v1/flavors/testing/fixtures.go
index 257b214..b2b2d5f 100644
--- a/openstack/db/v1/flavors/fixtures.go
+++ b/openstack/db/v1/flavors/testing/fixtures.go
@@ -1,6 +1,4 @@
-// +build fixtures
-
-package flavors
+package testing
 
 import (
 	"fmt"
diff --git a/openstack/db/v1/flavors/testing/requests_test.go b/openstack/db/v1/flavors/testing/requests_test.go
new file mode 100644
index 0000000..cbc0edd
--- /dev/null
+++ b/openstack/db/v1/flavors/testing/requests_test.go
@@ -0,0 +1,92 @@
+package testing
+
+import (
+	"testing"
+
+	"github.com/gophercloud/gophercloud"
+	"github.com/gophercloud/gophercloud/openstack/db/v1/flavors"
+	"github.com/gophercloud/gophercloud/pagination"
+	th "github.com/gophercloud/gophercloud/testhelper"
+	fake "github.com/gophercloud/gophercloud/testhelper/client"
+)
+
+func TestListFlavors(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+	HandleList(t)
+
+	pages := 0
+	err := flavors.List(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
+		pages++
+
+		actual, err := flavors.ExtractFlavors(page)
+		if err != nil {
+			return false, err
+		}
+
+		expected := []flavors.Flavor{
+			{
+				ID:   1,
+				Name: "m1.tiny",
+				RAM:  512,
+				Links: []gophercloud.Link{
+					{Href: "https://openstack.example.com/v1.0/1234/flavors/1", Rel: "self"},
+					{Href: "https://openstack.example.com/flavors/1", Rel: "bookmark"},
+				},
+			},
+			{
+				ID:   2,
+				Name: "m1.small",
+				RAM:  1024,
+				Links: []gophercloud.Link{
+					{Href: "https://openstack.example.com/v1.0/1234/flavors/2", Rel: "self"},
+					{Href: "https://openstack.example.com/flavors/2", Rel: "bookmark"},
+				},
+			},
+			{
+				ID:   3,
+				Name: "m1.medium",
+				RAM:  2048,
+				Links: []gophercloud.Link{
+					{Href: "https://openstack.example.com/v1.0/1234/flavors/3", Rel: "self"},
+					{Href: "https://openstack.example.com/flavors/3", Rel: "bookmark"},
+				},
+			},
+			{
+				ID:   4,
+				Name: "m1.large",
+				RAM:  4096,
+				Links: []gophercloud.Link{
+					{Href: "https://openstack.example.com/v1.0/1234/flavors/4", Rel: "self"},
+					{Href: "https://openstack.example.com/flavors/4", Rel: "bookmark"},
+				},
+			},
+		}
+
+		th.AssertDeepEquals(t, expected, actual)
+		return true, nil
+	})
+
+	th.AssertNoErr(t, err)
+	th.AssertEquals(t, 1, pages)
+}
+
+func TestGetFlavor(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+	HandleGet(t)
+
+	actual, err := flavors.Get(fake.ServiceClient(), flavorID).Extract()
+	th.AssertNoErr(t, err)
+
+	expected := &flavors.Flavor{
+		ID:   1,
+		Name: "m1.tiny",
+		RAM:  512,
+		Links: []gophercloud.Link{
+			{Href: "https://openstack.example.com/v1.0/1234/flavors/1", Rel: "self"},
+		},
+	}
+
+	th.AssertDeepEquals(t, expected, actual)
+}
diff --git a/openstack/db/v1/instances/testing/doc.go b/openstack/db/v1/instances/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/db/v1/instances/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/db/v1/instances/fixtures.go b/openstack/db/v1/instances/testing/fixtures.go
similarity index 89%
rename from openstack/db/v1/instances/fixtures.go
rename to openstack/db/v1/instances/testing/fixtures.go
index 6be384c..e0a0d28 100644
--- a/openstack/db/v1/instances/fixtures.go
+++ b/openstack/db/v1/instances/testing/fixtures.go
@@ -1,6 +1,4 @@
-// +build fixtures
-
-package instances
+package testing
 
 import (
 	"fmt"
@@ -10,6 +8,7 @@
 	"github.com/gophercloud/gophercloud"
 	"github.com/gophercloud/gophercloud/openstack/db/v1/datastores"
 	"github.com/gophercloud/gophercloud/openstack/db/v1/flavors"
+	"github.com/gophercloud/gophercloud/openstack/db/v1/instances"
 	"github.com/gophercloud/gophercloud/testhelper/fixture"
 )
 
@@ -110,24 +109,24 @@
 	isUserEnabledResp = `{"rootEnabled":true}`
 )
 
-var expectedInstance = Instance{
+var expectedInstance = instances.Instance{
 	Created: timeVal,
 	Updated: timeVal,
 	Flavor: flavors.Flavor{
 		ID: 1,
 		Links: []gophercloud.Link{
-			gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/flavors/1", Rel: "self"},
-			gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/flavors/1", Rel: "bookmark"},
+			{Href: "https://my-openstack.com/v1.0/1234/flavors/1", Rel: "self"},
+			{Href: "https://my-openstack.com/v1.0/1234/flavors/1", Rel: "bookmark"},
 		},
 	},
 	Hostname: "e09ad9a3f73309469cf1f43d11e79549caf9acf2.my-openstack.com",
 	ID:       instanceID,
 	Links: []gophercloud.Link{
-		gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/instances/1", Rel: "self"},
+		{Href: "https://my-openstack.com/v1.0/1234/instances/1", Rel: "self"},
 	},
 	Name:   "json_rack_instance",
 	Status: "BUILD",
-	Volume: Volume{Size: 2},
+	Volume: instances.Volume{Size: 2},
 	Datastore: datastores.DatastorePartial{
 		Type:    "mysql",
 		Version: "5.6",
diff --git a/openstack/db/v1/instances/requests_test.go b/openstack/db/v1/instances/testing/requests_test.go
similarity index 67%
rename from openstack/db/v1/instances/requests_test.go
rename to openstack/db/v1/instances/testing/requests_test.go
index 3caac23..e3c81e3 100644
--- a/openstack/db/v1/instances/requests_test.go
+++ b/openstack/db/v1/instances/testing/requests_test.go
@@ -1,9 +1,10 @@
-package instances
+package testing
 
 import (
 	"testing"
 
 	db "github.com/gophercloud/gophercloud/openstack/db/v1/databases"
+	"github.com/gophercloud/gophercloud/openstack/db/v1/instances"
 	"github.com/gophercloud/gophercloud/openstack/db/v1/users"
 	"github.com/gophercloud/gophercloud/pagination"
 	th "github.com/gophercloud/gophercloud/testhelper"
@@ -15,26 +16,26 @@
 	defer th.TeardownHTTP()
 	HandleCreate(t)
 
-	opts := CreateOpts{
+	opts := instances.CreateOpts{
 		Name:      "json_rack_instance",
 		FlavorRef: "1",
 		Databases: db.BatchCreateOpts{
-			db.CreateOpts{CharSet: "utf8", Collate: "utf8_general_ci", Name: "sampledb"},
-			db.CreateOpts{Name: "nextround"},
+			{CharSet: "utf8", Collate: "utf8_general_ci", Name: "sampledb"},
+			{Name: "nextround"},
 		},
 		Users: users.BatchCreateOpts{
-			users.CreateOpts{
+			{
 				Name:     "demouser",
 				Password: "demopassword",
 				Databases: db.BatchCreateOpts{
-					db.CreateOpts{Name: "sampledb"},
+					{Name: "sampledb"},
 				},
 			},
 		},
 		Size: 2,
 	}
 
-	instance, err := Create(fake.ServiceClient(), opts).Extract()
+	instance, err := instances.Create(fake.ServiceClient(), opts).Extract()
 
 	th.AssertNoErr(t, err)
 	th.AssertDeepEquals(t, &expectedInstance, instance)
@@ -46,15 +47,15 @@
 	HandleList(t)
 
 	pages := 0
-	err := List(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
+	err := instances.List(fake.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
 		pages++
 
-		actual, err := ExtractInstances(page)
+		actual, err := instances.ExtractInstances(page)
 		if err != nil {
 			return false, err
 		}
 
-		th.CheckDeepEquals(t, []Instance{expectedInstance}, actual)
+		th.CheckDeepEquals(t, []instances.Instance{expectedInstance}, actual)
 		return true, nil
 	})
 
@@ -67,7 +68,7 @@
 	defer th.TeardownHTTP()
 	HandleGet(t)
 
-	instance, err := Get(fake.ServiceClient(), instanceID).Extract()
+	instance, err := instances.Get(fake.ServiceClient(), instanceID).Extract()
 
 	th.AssertNoErr(t, err)
 	th.AssertDeepEquals(t, &expectedInstance, instance)
@@ -78,7 +79,7 @@
 	defer th.TeardownHTTP()
 	HandleDelete(t)
 
-	res := Delete(fake.ServiceClient(), instanceID)
+	res := instances.Delete(fake.ServiceClient(), instanceID)
 	th.AssertNoErr(t, res.Err)
 }
 
@@ -88,7 +89,7 @@
 	HandleEnableRoot(t)
 
 	expected := &users.User{Name: "root", Password: "secretsecret"}
-	user, err := EnableRootUser(fake.ServiceClient(), instanceID).Extract()
+	user, err := instances.EnableRootUser(fake.ServiceClient(), instanceID).Extract()
 
 	th.AssertNoErr(t, err)
 	th.AssertDeepEquals(t, expected, user)
@@ -99,7 +100,7 @@
 	defer th.TeardownHTTP()
 	HandleIsRootEnabled(t)
 
-	isEnabled, err := IsRootEnabled(fake.ServiceClient(), instanceID).Extract()
+	isEnabled, err := instances.IsRootEnabled(fake.ServiceClient(), instanceID).Extract()
 
 	th.AssertNoErr(t, err)
 	th.AssertEquals(t, true, isEnabled)
@@ -110,7 +111,7 @@
 	defer th.TeardownHTTP()
 	HandleRestart(t)
 
-	res := Restart(fake.ServiceClient(), instanceID)
+	res := instances.Restart(fake.ServiceClient(), instanceID)
 	th.AssertNoErr(t, res.Err)
 }
 
@@ -119,7 +120,7 @@
 	defer th.TeardownHTTP()
 	HandleResize(t)
 
-	res := Resize(fake.ServiceClient(), instanceID, "2")
+	res := instances.Resize(fake.ServiceClient(), instanceID, "2")
 	th.AssertNoErr(t, res.Err)
 }
 
@@ -128,6 +129,6 @@
 	defer th.TeardownHTTP()
 	HandleResizeVol(t)
 
-	res := ResizeVolume(fake.ServiceClient(), instanceID, 4)
+	res := instances.ResizeVolume(fake.ServiceClient(), instanceID, 4)
 	th.AssertNoErr(t, res.Err)
 }
diff --git a/openstack/db/v1/users/testing/doc.go b/openstack/db/v1/users/testing/doc.go
new file mode 100644
index 0000000..7603f83
--- /dev/null
+++ b/openstack/db/v1/users/testing/doc.go
@@ -0,0 +1 @@
+package testing
diff --git a/openstack/db/v1/users/fixtures.go b/openstack/db/v1/users/testing/fixtures.go
similarity index 96%
rename from openstack/db/v1/users/fixtures.go
rename to openstack/db/v1/users/testing/fixtures.go
index 3661154..f49f46f 100644
--- a/openstack/db/v1/users/fixtures.go
+++ b/openstack/db/v1/users/testing/fixtures.go
@@ -1,6 +1,4 @@
-// +build fixtures
-
-package users
+package testing
 
 import (
 	"fmt"
diff --git a/openstack/db/v1/users/requests_test.go b/openstack/db/v1/users/testing/requests_test.go
similarity index 68%
rename from openstack/db/v1/users/requests_test.go
rename to openstack/db/v1/users/testing/requests_test.go
index 1eefb33..952f245 100644
--- a/openstack/db/v1/users/requests_test.go
+++ b/openstack/db/v1/users/testing/requests_test.go
@@ -1,9 +1,10 @@
-package users
+package testing
 
 import (
 	"testing"
 
 	db "github.com/gophercloud/gophercloud/openstack/db/v1/databases"
+	"github.com/gophercloud/gophercloud/openstack/db/v1/users"
 	"github.com/gophercloud/gophercloud/pagination"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	fake "github.com/gophercloud/gophercloud/testhelper/client"
@@ -14,25 +15,25 @@
 	defer th.TeardownHTTP()
 	HandleCreate(t)
 
-	opts := BatchCreateOpts{
-		CreateOpts{
+	opts := users.BatchCreateOpts{
+		{
 			Databases: db.BatchCreateOpts{
 				db.CreateOpts{Name: "databaseA"},
 			},
 			Name:     "dbuser3",
 			Password: "secretsecret",
 		},
-		CreateOpts{
+		{
 			Databases: db.BatchCreateOpts{
-				db.CreateOpts{Name: "databaseB"},
-				db.CreateOpts{Name: "databaseC"},
+				{Name: "databaseB"},
+				{Name: "databaseC"},
 			},
 			Name:     "dbuser4",
 			Password: "secretsecret",
 		},
 	}
 
-	res := Create(fake.ServiceClient(), instanceID, opts)
+	res := users.Create(fake.ServiceClient(), instanceID, opts)
 	th.AssertNoErr(t, res.Err)
 }
 
@@ -41,27 +42,27 @@
 	defer th.TeardownHTTP()
 	HandleList(t)
 
-	expectedUsers := []User{
-		User{
+	expectedUsers := []users.User{
+		{
 			Databases: []db.Database{
 				db.Database{Name: "databaseA"},
 			},
 			Name: "dbuser3",
 		},
-		User{
+		{
 			Databases: []db.Database{
-				db.Database{Name: "databaseB"},
-				db.Database{Name: "databaseC"},
+				{Name: "databaseB"},
+				{Name: "databaseC"},
 			},
 			Name: "dbuser4",
 		},
 	}
 
 	pages := 0
-	err := List(fake.ServiceClient(), instanceID).EachPage(func(page pagination.Page) (bool, error) {
+	err := users.List(fake.ServiceClient(), instanceID).EachPage(func(page pagination.Page) (bool, error) {
 		pages++
 
-		actual, err := ExtractUsers(page)
+		actual, err := users.ExtractUsers(page)
 		if err != nil {
 			return false, err
 		}
@@ -79,6 +80,6 @@
 	defer th.TeardownHTTP()
 	HandleDelete(t)
 
-	res := Delete(fake.ServiceClient(), instanceID, "{userName}")
+	res := users.Delete(fake.ServiceClient(), instanceID, "{userName}")
 	th.AssertNoErr(t, res.Err)
 }