blob: af127969fc9c64651b0818be7ffb63b10b7b0e27 [file] [log] [blame]
Jamie Hannaford17d2f872014-11-24 12:20:33 +01001package defsecrules
2
3import (
4 "testing"
5
6 "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/secgroups"
7 "github.com/rackspace/gophercloud/pagination"
8 th "github.com/rackspace/gophercloud/testhelper"
9 "github.com/rackspace/gophercloud/testhelper/client"
10)
11
12func TestList(t *testing.T) {
13 th.SetupHTTP()
14 defer th.TeardownHTTP()
15
16 mockListRulesResponse(t)
17
18 count := 0
19
20 err := List(client.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
21 count++
22 actual, err := ExtractDefaultRules(page)
23 th.AssertNoErr(t, err)
24
25 expected := []DefaultRule{
26 DefaultRule{
27 FromPort: 80,
28 ID: "f9a97fcf-3a97-47b0-b76f-919136afb7ed",
29 IPProtocol: "TCP",
30 IPRange: secgroups.IPRange{CIDR: "10.10.10.0/24"},
31 ToPort: 80,
32 },
33 }
34
35 th.CheckDeepEquals(t, expected, actual)
36
37 return true, nil
38 })
39
40 th.AssertNoErr(t, err)
41 th.AssertEquals(t, 1, count)
42}