Decouple OpenStack implementation from Rackspace provider
diff --git a/openstack/db/v1/instances/requests_test.go b/openstack/db/v1/instances/requests_test.go
new file mode 100644
index 0000000..18ba928
--- /dev/null
+++ b/openstack/db/v1/instances/requests_test.go
@@ -0,0 +1,60 @@
+package instances
+
+import (
+	"testing"
+
+	"github.com/rackspace/gophercloud"
+	th "github.com/rackspace/gophercloud/testhelper"
+	fake "github.com/rackspace/gophercloud/testhelper/client"
+)
+
+func TestCreate(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+
+	HandleCreateInstanceSuccessfully(t)
+
+	opts := CreateOpts{
+		Name:      "json_rack_instance",
+		FlavorRef: "1",
+		Databases: DatabasesOpts{
+			DatabaseOpts{CharSet: "utf8", Collate: "utf8_general_ci", Name: "sampledb"},
+			DatabaseOpts{Name: "nextround"},
+		},
+		Users: UsersOpts{
+			UserOpts{
+				Name:     "demouser",
+				Password: "demopassword",
+				Databases: DatabasesOpts{
+					DatabaseOpts{Name: "sampledb"},
+				},
+			},
+		},
+		Size: 2,
+	}
+
+	instance, err := Create(fake.ServiceClient(), opts).Extract()
+
+	expected := &Instance{
+		Created: "2014-02-13T21:47:13",
+		Updated: "2014-02-13T21:47:13",
+		Flavor: 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"},
+			},
+		},
+		Hostname: "e09ad9a3f73309469cf1f43d11e79549caf9acf2.my-openstack.com",
+		ID:       "d4603f69-ec7e-4e9b-803f-600b9205576f",
+		Links: []gophercloud.Link{
+			gophercloud.Link{Href: "https://my-openstack.com/v1.0/1234/instances/1", Rel: "self"},
+		},
+		Name:   "json_rack_instance",
+		Status: "BUILD",
+		Volume: Volume{Size: 2},
+	}
+
+	th.AssertNoErr(t, err)
+	th.AssertDeepEquals(t, expected, instance)
+}