create snapshot
diff --git a/acceptance/openstack/blockstorage_test.go b/acceptance/openstack/blockstorage_test.go
index 68c2b6a..fed4114 100644
--- a/acceptance/openstack/blockstorage_test.go
+++ b/acceptance/openstack/blockstorage_test.go
@@ -3,7 +3,9 @@
 package openstack
 
 import (
+	"fmt"
 	blockstorage "github.com/rackspace/gophercloud/openstack/blockstorage/v1"
+	"github.com/rackspace/gophercloud/openstack/blockstorage/v1/snapshots"
 	"github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes"
 	"github.com/rackspace/gophercloud/openstack/identity"
 	"github.com/rackspace/gophercloud/openstack/utils"
@@ -119,3 +121,53 @@
 	}
 
 }
+
+func TestSnapshots(t *testing.T) {
+	client, err := getClient()
+	if err != nil {
+		t.Error(err)
+		return
+	}
+
+	cv, err := volumes.Create(client, volumes.CreateOpts{
+		"size":         1,
+		"display_name": "test-volume",
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	defer func() {
+		err = volumes.Delete(client, volumes.DeleteOpts{
+			"id": cv.Id,
+		})
+		if err != nil {
+			t.Error(err)
+			return
+		}
+	}()
+
+	for i := 0; i < 60; i++ {
+		gv, err := volumes.Get(client, volumes.GetOpts{
+			"id": cv.Id,
+		})
+		if err != nil {
+			t.Error(err)
+			return
+		}
+		if gv.Status == "available" {
+			break
+		}
+		time.Sleep(2000 * time.Millisecond)
+	}
+
+	var css snapshots.Snapshot
+	css, err = snapshots.Create(client, snapshots.CreateOpts{
+		"volume_id": cv.Id,
+	})
+	if err != nil {
+		t.Error(err)
+		return
+	}
+	fmt.Printf("%+v\n", css)
+}