break storage_test into smaller files
diff --git a/acceptance/openstack/storage/v1/accounts_test.go b/acceptance/openstack/storage/v1/accounts_test.go
new file mode 100644
index 0000000..f4052e0
--- /dev/null
+++ b/acceptance/openstack/storage/v1/accounts_test.go
@@ -0,0 +1,52 @@
+// +build acceptance
+
+package v1
+
+import (
+	"strings"
+	"testing"
+
+	"github.com/rackspace/gophercloud/openstack/storage/v1/accounts"
+)
+
+func TestAccounts(t *testing.T) {
+	client, err := newClient()
+	if err != nil {
+		t.Error(err)
+		return
+	}
+
+	err = accounts.Update(client, accounts.UpdateOpts{
+		Metadata: metadata,
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	defer func() {
+		tempMap := make(map[string]string)
+		for k := range metadata {
+			tempMap[k] = ""
+		}
+		err = accounts.Update(client, accounts.UpdateOpts{
+			Metadata: tempMap,
+		})
+		if err != nil {
+			t.Error(err)
+			return
+		}
+	}()
+
+	gr, err := accounts.Get(client, accounts.GetOpts{})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	am := accounts.ExtractMetadata(gr)
+	for k := range metadata {
+		if am[k] != metadata[strings.Title(k)] {
+			t.Errorf("Expected custom metadata with key: %s", k)
+			return
+		}
+	}
+}
diff --git a/acceptance/openstack/storage/v1/common.go b/acceptance/openstack/storage/v1/common.go
new file mode 100644
index 0000000..08065a4
--- /dev/null
+++ b/acceptance/openstack/storage/v1/common.go
@@ -0,0 +1,28 @@
+// +build acceptance
+
+package v1
+
+import (
+	"github.com/rackspace/gophercloud"
+	"github.com/rackspace/gophercloud/openstack"
+	"github.com/rackspace/gophercloud/openstack/utils"
+	"os"
+)
+
+var metadata = map[string]string{"gopher": "cloud"}
+
+func newClient() (*gophercloud.ServiceClient, error) {
+	ao, err := utils.AuthOptions()
+	if err != nil {
+		return nil, err
+	}
+
+	client, err := openstack.AuthenticatedClient(ao)
+	if err != nil {
+		return nil, err
+	}
+
+	return openstack.NewStorageV1(client, gophercloud.EndpointOpts{
+		Region: os.Getenv("OS_REGION_NAME"),
+	})
+}
diff --git a/acceptance/openstack/storage/v1/containers_test.go b/acceptance/openstack/storage/v1/containers_test.go
new file mode 100644
index 0000000..cf5e3cd
--- /dev/null
+++ b/acceptance/openstack/storage/v1/containers_test.go
@@ -0,0 +1,119 @@
+// +build acceptance
+
+package v1
+
+import (
+	"strings"
+	"testing"
+
+	"github.com/rackspace/gophercloud/acceptance/tools"
+	"github.com/rackspace/gophercloud/openstack/storage/v1/containers"
+)
+
+var numContainers = 2
+
+func TestContainers(t *testing.T) {
+	client, err := newClient()
+	if err != nil {
+		t.Error(err)
+		return
+	}
+
+	cNames := make([]string, numContainers)
+	for i := 0; i < numContainers; i++ {
+		cNames[i] = tools.RandomString("gophercloud-test-container-", 8)
+	}
+
+	for i := 0; i < len(cNames); i++ {
+		_, err := containers.Create(client, containers.CreateOpts{
+			Name: cNames[i],
+		})
+		if err != nil {
+			t.Error(err)
+			return
+		}
+	}
+	defer func() {
+		for i := 0; i < len(cNames); i++ {
+			err = containers.Delete(client, containers.DeleteOpts{
+				Name: cNames[i],
+			})
+			if err != nil {
+				t.Error(err)
+				return
+			}
+		}
+	}()
+
+	lr, err := containers.List(client, containers.ListOpts{
+		Full: false,
+		Params: map[string]string{
+			"prefix": "gophercloud-test-container-",
+		},
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	cns, err := containers.ExtractNames(lr)
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	if len(cns) != len(cNames) {
+		t.Errorf("Expected %d names and got %d:\nExpected:%v\nActual:%v", len(cNames), len(cns), cNames, cns)
+		return
+	}
+
+	lr, err = containers.List(client, containers.ListOpts{
+		Full: true,
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	cis, err := containers.ExtractInfo(lr)
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	if len(cis) != len(cNames) {
+		t.Errorf("Expected %d containers and got %d", len(cNames), len(cis))
+		return
+	}
+	err = containers.Update(client, containers.UpdateOpts{
+		Name:     cNames[0],
+		Metadata: metadata,
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	defer func() {
+		tempMap := make(map[string]string)
+		for k := range metadata {
+			tempMap[k] = ""
+		}
+		err = containers.Update(client, containers.UpdateOpts{
+			Name:     cNames[0],
+			Metadata: tempMap,
+		})
+		if err != nil {
+			t.Error(err)
+			return
+		}
+	}()
+
+	gr, err := containers.Get(client, containers.GetOpts{})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	cm := containers.ExtractMetadata(gr)
+	for k := range metadata {
+		if cm[k] != metadata[strings.Title(k)] {
+			t.Errorf("Expected custom metadata with key: %s", k)
+			return
+		}
+	}
+}
diff --git a/acceptance/openstack/storage/v1/objects_test.go b/acceptance/openstack/storage/v1/objects_test.go
new file mode 100644
index 0000000..7952870
--- /dev/null
+++ b/acceptance/openstack/storage/v1/objects_test.go
@@ -0,0 +1,189 @@
+// +build acceptance
+
+package v1
+
+import (
+	"bytes"
+	"strings"
+	"testing"
+
+	"github.com/rackspace/gophercloud/acceptance/tools"
+	"github.com/rackspace/gophercloud/openstack/storage/v1/containers"
+	"github.com/rackspace/gophercloud/openstack/storage/v1/objects"
+	"github.com/rackspace/gophercloud/pagination"
+)
+
+var numObjects = 2
+
+func TestObjects(t *testing.T) {
+	client, err := newClient()
+	if err != nil {
+		t.Error(err)
+		return
+	}
+
+	oNames := make([]string, numObjects)
+	for i := 0; i < len(oNames); i++ {
+		oNames[i] = tools.RandomString("test-object-", 8)
+	}
+
+	cName := tools.RandomString("test-container-", 8)
+	_, err = containers.Create(client, containers.CreateOpts{
+		Name: cName,
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	defer func() {
+		err = containers.Delete(client, containers.DeleteOpts{
+			Name: cName,
+		})
+		if err != nil {
+			t.Error(err)
+			return
+		}
+	}()
+
+	oContents := make([]*bytes.Buffer, numObjects)
+	for i := 0; i < numObjects; i++ {
+		oContents[i] = bytes.NewBuffer([]byte(tools.RandomString("", 10)))
+		err = objects.Create(client, objects.CreateOpts{
+			Container: cName,
+			Name:      oNames[i],
+			Content:   oContents[i],
+		})
+		if err != nil {
+			t.Error(err)
+			return
+		}
+	}
+	defer func() {
+		for i := 0; i < numObjects; i++ {
+			err = objects.Delete(client, objects.DeleteOpts{
+				Container: cName,
+				Name:      oNames[i],
+			})
+		}
+	}()
+
+	pager := objects.List(client, objects.ListOpts{Full: false, Container: cName})
+	ons := make([]string, 0, len(oNames))
+	err = pager.EachPage(func(page pagination.Page) (bool, error) {
+		names, err := objects.ExtractNames(page)
+		if err != nil {
+			return false, err
+		}
+		ons = append(ons, names...)
+
+		return true, nil
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	if len(ons) != len(oNames) {
+		t.Errorf("Expected %d names and got %d", len(oNames), len(ons))
+		return
+	}
+
+	pager = objects.List(client, objects.ListOpts{Full: true, Container: cName})
+	ois := make([]objects.Object, 0, len(oNames))
+	err = pager.EachPage(func(page pagination.Page) (bool, error) {
+		info, err := objects.ExtractInfo(page)
+		if err != nil {
+			return false, nil
+		}
+
+		ois = append(ois, info...)
+
+		return true, nil
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	if len(ois) != len(oNames) {
+		t.Errorf("Expected %d containers and got %d", len(oNames), len(ois))
+		return
+	}
+
+	err = objects.Copy(client, objects.CopyOpts{
+		Container:    cName,
+		Name:         oNames[0],
+		NewContainer: cName,
+		NewName:      oNames[1],
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+
+	dr, err := objects.Download(client, objects.DownloadOpts{
+		Container: cName,
+		Name:      oNames[1],
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	o2Content, err := objects.ExtractContent(dr)
+	if err != nil {
+		t.Error(err)
+	}
+	dr, err = objects.Download(client, objects.DownloadOpts{
+		Container: cName,
+		Name:      oNames[0],
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	o1Content, err := objects.ExtractContent(dr)
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	if string(o2Content) != string(o1Content) {
+		t.Errorf("Copy failed. Expected\n%s\nand got\n%s", string(o1Content), string(o2Content))
+		return
+	}
+
+	err = objects.Update(client, objects.UpdateOpts{
+		Container: cName,
+		Name:      oNames[0],
+		Metadata:  metadata,
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	defer func() {
+		tempMap := make(map[string]string)
+		for k := range metadata {
+			tempMap[k] = ""
+		}
+		err = objects.Update(client, objects.UpdateOpts{
+			Container: cName,
+			Name:      oNames[0],
+			Metadata:  tempMap,
+		})
+		if err != nil {
+			t.Error(err)
+			return
+		}
+	}()
+
+	gr, err := objects.Get(client, objects.GetOpts{})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	om := objects.ExtractMetadata(gr)
+	for k := range metadata {
+		if om[k] != metadata[strings.Title(k)] {
+			t.Errorf("Expected custom metadata with key: %s", k)
+			return
+		}
+	}
+}
diff --git a/acceptance/openstack/storage/v1/storage_test.go b/acceptance/openstack/storage/v1/storage_test.go
deleted file mode 100644
index e7907d1..0000000
--- a/acceptance/openstack/storage/v1/storage_test.go
+++ /dev/null
@@ -1,364 +0,0 @@
-// +build acceptance
-
-package openstack
-
-import (
-	"bytes"
-	"os"
-	"strings"
-	"testing"
-
-	"github.com/rackspace/gophercloud"
-	"github.com/rackspace/gophercloud/acceptance/tools"
-	"github.com/rackspace/gophercloud/openstack"
-	"github.com/rackspace/gophercloud/openstack/storage/v1/accounts"
-	"github.com/rackspace/gophercloud/openstack/storage/v1/containers"
-	"github.com/rackspace/gophercloud/openstack/storage/v1/objects"
-	"github.com/rackspace/gophercloud/openstack/utils"
-	"github.com/rackspace/gophercloud/pagination"
-)
-
-var metadata = map[string]string{"gopher": "cloud"}
-var numContainers = 2
-var numObjects = 2
-
-func newClient() (*gophercloud.ServiceClient, error) {
-	ao, err := utils.AuthOptions()
-	if err != nil {
-		return nil, err
-	}
-
-	client, err := openstack.AuthenticatedClient(ao)
-	if err != nil {
-		return nil, err
-	}
-
-	return openstack.NewStorageV1(client, gophercloud.EndpointOpts{
-		Region: os.Getenv("OS_REGION_NAME"),
-	})
-}
-
-func TestAccount(t *testing.T) {
-	client, err := newClient()
-	if err != nil {
-		t.Error(err)
-		return
-	}
-
-	err = accounts.Update(client, accounts.UpdateOpts{
-		Metadata: metadata,
-	})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	defer func() {
-		tempMap := make(map[string]string)
-		for k := range metadata {
-			tempMap[k] = ""
-		}
-		err = accounts.Update(client, accounts.UpdateOpts{
-			Metadata: tempMap,
-		})
-		if err != nil {
-			t.Error(err)
-			return
-		}
-	}()
-
-	gr, err := accounts.Get(client, accounts.GetOpts{})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	am := accounts.ExtractMetadata(gr)
-	for k := range metadata {
-		if am[k] != metadata[strings.Title(k)] {
-			t.Errorf("Expected custom metadata with key: %s", k)
-			return
-		}
-	}
-}
-
-func TestContainers(t *testing.T) {
-	client, err := newClient()
-	if err != nil {
-		t.Error(err)
-		return
-	}
-
-	cNames := make([]string, numContainers)
-	for i := 0; i < numContainers; i++ {
-		cNames[i] = tools.RandomString("test-container-", 8)
-	}
-
-	for i := 0; i < len(cNames); i++ {
-		_, err := containers.Create(client, containers.CreateOpts{
-			Name: cNames[i],
-		})
-		if err != nil {
-			t.Error(err)
-			return
-		}
-	}
-	defer func() {
-		for i := 0; i < len(cNames); i++ {
-			err = containers.Delete(client, containers.DeleteOpts{
-				Name: cNames[i],
-			})
-			if err != nil {
-				t.Error(err)
-				return
-			}
-		}
-	}()
-
-	cns := make([]string, 0, numContainers)
-	pager := containers.List(client, containers.ListOpts{Full: false})
-	err = pager.EachPage(func(page pagination.Page) (bool, error) {
-		names, err := containers.ExtractNames(page)
-		if err != nil {
-			return false, err
-		}
-
-		cns = append(cns, names...)
-
-		return true, nil
-	})
-	if err != nil {
-		t.Fatal(err)
-		return
-	}
-
-	if len(cns) != len(cNames) {
-		t.Errorf("Expected %d names and got %d", len(cNames), len(cns))
-		return
-	}
-
-	cis := make([]containers.Container, 0, numContainers)
-	pager = containers.List(client, containers.ListOpts{Full: true})
-	err = pager.EachPage(func(page pagination.Page) (bool, error) {
-		cisPage, err := containers.ExtractInfo(page)
-		if err != nil {
-			return false, err
-		}
-
-		cis = append(cis, cisPage...)
-
-		return true, nil
-	})
-
-	if len(cis) != len(cNames) {
-		t.Errorf("Expected %d containers and got %d", len(cNames), len(cis))
-		return
-	}
-
-	err = containers.Update(client, containers.UpdateOpts{
-		Name:     cNames[0],
-		Metadata: metadata,
-	})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	defer func() {
-		tempMap := make(map[string]string)
-		for k := range metadata {
-			tempMap[k] = ""
-		}
-		err = containers.Update(client, containers.UpdateOpts{
-			Name:     cNames[0],
-			Metadata: tempMap,
-		})
-		if err != nil {
-			t.Error(err)
-			return
-		}
-	}()
-
-	gr, err := containers.Get(client, containers.GetOpts{})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	cm := containers.ExtractMetadata(gr)
-	for k := range metadata {
-		if cm[k] != metadata[strings.Title(k)] {
-			t.Errorf("Expected custom metadata with key: %s", k)
-			return
-		}
-	}
-}
-
-func TestObjects(t *testing.T) {
-	client, err := newClient()
-	if err != nil {
-		t.Error(err)
-		return
-	}
-
-	oNames := make([]string, numObjects)
-	for i := 0; i < len(oNames); i++ {
-		oNames[i] = tools.RandomString("test-object-", 8)
-	}
-
-	cName := tools.RandomString("test-container-", 8)
-	_, err = containers.Create(client, containers.CreateOpts{
-		Name: cName,
-	})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	defer func() {
-		err = containers.Delete(client, containers.DeleteOpts{
-			Name: cName,
-		})
-		if err != nil {
-			t.Error(err)
-			return
-		}
-	}()
-
-	oContents := make([]*bytes.Buffer, numObjects)
-	for i := 0; i < numObjects; i++ {
-		oContents[i] = bytes.NewBuffer([]byte(tools.RandomString("", 10)))
-		err = objects.Create(client, objects.CreateOpts{
-			Container: cName,
-			Name:      oNames[i],
-			Content:   oContents[i],
-		})
-		if err != nil {
-			t.Error(err)
-			return
-		}
-	}
-	defer func() {
-		for i := 0; i < numObjects; i++ {
-			err = objects.Delete(client, objects.DeleteOpts{
-				Container: cName,
-				Name:      oNames[i],
-			})
-		}
-	}()
-
-	pager := objects.List(client, objects.ListOpts{Full: false, Container: cName})
-	ons := make([]string, 0, len(oNames))
-	err = pager.EachPage(func(page pagination.Page) (bool, error) {
-		names, err := objects.ExtractNames(page)
-		if err != nil {
-			return false, err
-		}
-		ons = append(ons, names...)
-
-		return true, nil
-	})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	if len(ons) != len(oNames) {
-		t.Errorf("Expected %d names and got %d", len(oNames), len(ons))
-		return
-	}
-
-	pager = objects.List(client, objects.ListOpts{Full: true, Container: cName})
-	ois := make([]objects.Object, 0, len(oNames))
-	err = pager.EachPage(func(page pagination.Page) (bool, error) {
-		info, err := objects.ExtractInfo(page)
-		if err != nil {
-			return false, nil
-		}
-
-		ois = append(ois, info...)
-
-		return true, nil
-	})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	if len(ois) != len(oNames) {
-		t.Errorf("Expected %d containers and got %d", len(oNames), len(ois))
-		return
-	}
-
-	err = objects.Copy(client, objects.CopyOpts{
-		Container:    cName,
-		Name:         oNames[0],
-		NewContainer: cName,
-		NewName:      oNames[1],
-	})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-
-	dr, err := objects.Download(client, objects.DownloadOpts{
-		Container: cName,
-		Name:      oNames[1],
-	})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	o2Content, err := objects.ExtractContent(dr)
-	if err != nil {
-		t.Error(err)
-	}
-	dr, err = objects.Download(client, objects.DownloadOpts{
-		Container: cName,
-		Name:      oNames[0],
-	})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	o1Content, err := objects.ExtractContent(dr)
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	if string(o2Content) != string(o1Content) {
-		t.Errorf("Copy failed. Expected\n%s\nand got\n%s", string(o1Content), string(o2Content))
-		return
-	}
-
-	err = objects.Update(client, objects.UpdateOpts{
-		Container: cName,
-		Name:      oNames[0],
-		Metadata:  metadata,
-	})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	defer func() {
-		tempMap := make(map[string]string)
-		for k := range metadata {
-			tempMap[k] = ""
-		}
-		err = objects.Update(client, objects.UpdateOpts{
-			Container: cName,
-			Name:      oNames[0],
-			Metadata:  tempMap,
-		})
-		if err != nil {
-			t.Error(err)
-			return
-		}
-	}()
-
-	gr, err := objects.Get(client, objects.GetOpts{})
-	if err != nil {
-		t.Error(err)
-		return
-	}
-	om := objects.ExtractMetadata(gr)
-	for k := range metadata {
-		if om[k] != metadata[strings.Title(k)] {
-			t.Errorf("Expected custom metadata with key: %s", k)
-			return
-		}
-	}
-}