Compute Acceptance Test Changes (#33)
This commit makes more changes to the compute acceptance tests:
* Makes all reusable functions exportable so other APIs can use them.
* Centralizes client initialization and environment variable checks.
diff --git a/acceptance/openstack/compute/v2/defsecrules_test.go b/acceptance/openstack/compute/v2/defsecrules_test.go
index dbee8e3..ca221be 100644
--- a/acceptance/openstack/compute/v2/defsecrules_test.go
+++ b/acceptance/openstack/compute/v2/defsecrules_test.go
@@ -5,13 +5,12 @@
import (
"testing"
- "github.com/gophercloud/gophercloud"
- "github.com/gophercloud/gophercloud/acceptance/tools"
+ "github.com/gophercloud/gophercloud/acceptance/clients"
dsr "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/defsecrules"
)
func TestDefSecRulesList(t *testing.T) {
- client, err := newClient()
+ client, err := clients.NewComputeV2Client()
if err != nil {
t.Fatalf("Unable to create a compute client: %v", err)
}
@@ -27,79 +26,41 @@
}
for _, defaultRule := range allDefaultRules {
- printDefaultRule(t, &defaultRule)
+ PrintDefaultRule(t, &defaultRule)
}
}
func TestDefSecRulesCreate(t *testing.T) {
- client, err := newClient()
+ client, err := clients.NewComputeV2Client()
if err != nil {
t.Fatalf("Unable to create a compute client: %v", err)
}
- defaultRule, err := createDefaultRule(t, client)
+ defaultRule, err := CreateDefaultRule(t, client)
if err != nil {
t.Fatalf("Unable to create default rule: %v", err)
}
- defer deleteDefaultRule(t, client, defaultRule)
+ defer DeleteDefaultRule(t, client, defaultRule)
- printDefaultRule(t, &defaultRule)
+ PrintDefaultRule(t, &defaultRule)
}
func TestDefSecRulesGet(t *testing.T) {
- client, err := newClient()
+ client, err := clients.NewComputeV2Client()
if err != nil {
t.Fatalf("Unable to create a compute client: %v", err)
}
- defaultRule, err := createDefaultRule(t, client)
+ defaultRule, err := CreateDefaultRule(t, client)
if err != nil {
t.Fatalf("Unable to create default rule: %v", err)
}
- defer deleteDefaultRule(t, client, defaultRule)
+ defer DeleteDefaultRule(t, client, defaultRule)
newDefaultRule, err := dsr.Get(client, defaultRule.ID).Extract()
if err != nil {
t.Fatalf("Unable to get default rule %s: %v", defaultRule.ID, err)
}
- printDefaultRule(t, newDefaultRule)
-}
-
-func createDefaultRule(t *testing.T, client *gophercloud.ServiceClient) (dsr.DefaultRule, error) {
- createOpts := dsr.CreateOpts{
- FromPort: tools.RandomInt(80, 89),
- ToPort: tools.RandomInt(90, 99),
- IPProtocol: "TCP",
- CIDR: "0.0.0.0/0",
- }
-
- defaultRule, err := dsr.Create(client, createOpts).Extract()
- if err != nil {
- return *defaultRule, err
- }
-
- t.Logf("Created default rule: %s", defaultRule.ID)
-
- return *defaultRule, nil
-}
-
-func deleteDefaultRule(t *testing.T, client *gophercloud.ServiceClient, defaultRule dsr.DefaultRule) {
- err := dsr.Delete(client, defaultRule.ID).ExtractErr()
- if err != nil {
- t.Fatalf("Unable to delete default rule %s: %v", defaultRule.ID, err)
- }
-
- t.Logf("Deleted default rule: %s", defaultRule.ID)
-}
-
-func printDefaultRule(t *testing.T, defaultRule *dsr.DefaultRule) {
- t.Logf("\tID: %s", defaultRule.ID)
- t.Logf("\tFrom Port: %d", defaultRule.FromPort)
- t.Logf("\tTo Port: %d", defaultRule.ToPort)
- t.Logf("\tIP Protocol: %s", defaultRule.IPProtocol)
- t.Logf("\tIP Range: %s", defaultRule.IPRange.CIDR)
- t.Logf("\tParent Group ID: %s", defaultRule.ParentGroupID)
- t.Logf("\tGroup Tenant ID: %s", defaultRule.Group.TenantID)
- t.Logf("\tGroup Name: %s", defaultRule.Group.Name)
+ PrintDefaultRule(t, newDefaultRule)
}