func TestCreateICMPZero(t *testing.T) { th.SetupHTTP() defer th.TeardownHTTP() mockCreateRuleResponseICMPZero(t) opts := defsecrules.CreateOpts{ IPProtocol: "ICMP", FromPort: 0, ToPort: 0, CIDR: "10.10.12.0/24", } group, err := defsecrules.Create(client.ServiceClient(), opts).Extract() th.AssertNoErr(t, err) expected := &defsecrules.DefaultRule{ ID: ruleID, FromPort: 0, ToPort: 0, IPProtocol: "ICMP", IPRange: secgroups.IPRange{CIDR: "10.10.12.0/24"}, } th.AssertDeepEquals(t, expected, group) }
// CreateDefaultRule will create a default security group rule with a // random port range between 80 and 90. An error will be returned if // a default rule was unable to be created. 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 }