More technical debt payoff.
Applied refactoring across the entire acceptance test code base.
diff --git a/acceptance/04-create-server.go b/acceptance/04-create-server.go
index 06c541b..05d8896 100644
--- a/acceptance/04-create-server.go
+++ b/acceptance/04-create-server.go
@@ -6,14 +6,11 @@
"github.com/rackspace/gophercloud"
)
-var provider, username, password string
-
var region, serverName, imageRef, flavorRef *string
var adminPass = flag.String("a", "", "Administrator password (auto-assigned if none)")
var quiet = flag.Bool("quiet", false, "Quiet mode for acceptance tests. $? non-zero if error.")
func configure() {
- provider, username, password = getCredentials()
region = flag.String("r", "DFW", "Rackspace region in which to create the server")
serverName = flag.String("n", randomString("ACPTTEST--", 16), "Server name (what you see in the control panel)")
imageRef = flag.String("i", "", "ID of image to deploy onto the server")
@@ -25,41 +22,24 @@
func main() {
configure()
- auth, err := gophercloud.Authenticate(
- provider,
- gophercloud.AuthOptions{
- Username: username,
- Password: password,
- },
- )
- if err != nil {
- panic(err)
- }
+ withIdentity(false, func(auth gophercloud.AccessProvider) {
+ withServerApi(auth, func(servers gophercloud.CloudServersProvider) {
+ _, err := createServer(servers, *imageRef, *flavorRef, *serverName, *adminPass)
+ if err != nil {
+ panic(err)
+ }
- servers, err := gophercloud.ServersApi(auth, gophercloud.ApiCriteria{
- Name: "cloudServersOpenStack",
- Region: *region,
- VersionId: "2",
- UrlChoice: gophercloud.PublicURL,
+ allServers, err := servers.ListServers()
+ if err != nil {
+ panic(err)
+ }
+
+ if !*quiet {
+ fmt.Printf("ID,Name,Status,Progress\n")
+ for _, i := range allServers {
+ fmt.Printf("%s,\"%s\",%s,%d\n", i.Id, i.Name, i.Status, i.Progress)
+ }
+ }
+ })
})
- if err != nil {
- panic(err)
- }
-
- _, err = createServer(servers, *imageRef, *flavorRef, *serverName, *adminPass)
- if err != nil {
- panic(err)
- }
-
- allServers, err := servers.ListServers()
- if err != nil {
- panic(err)
- }
-
- if !*quiet {
- fmt.Printf("ID,Name,Status,Progress\n")
- for _, i := range allServers {
- fmt.Printf("%s,\"%s\",%s,%d\n", i.Id, i.Name, i.Status, i.Progress)
- }
- }
}