本文整理匯總了Golang中code/cloudfoundry/org/cli/cf/models.SecurityGroup類的典型用法代碼示例。如果您正苦於以下問題:Golang SecurityGroup類的具體用法?Golang SecurityGroup怎麽用?Golang SecurityGroup使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了SecurityGroup類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Read
func (repo cloudControllerSecurityGroupRepo) Read(name string) (models.SecurityGroup, error) {
path := fmt.Sprintf("/v2/security_groups?q=%s", url.QueryEscape("name:"+name))
group := models.SecurityGroup{}
foundGroup := false
err := repo.gateway.ListPaginatedResources(
repo.config.APIEndpoint(),
path,
resources.SecurityGroupResource{},
func(resource interface{}) bool {
if asgr, ok := resource.(resources.SecurityGroupResource); ok {
group = asgr.ToModel()
foundGroup = true
}
return false
},
)
if err != nil {
return group, err
}
if !foundGroup {
return group, errors.NewModelNotFoundError("security group", name)
}
err = repo.gateway.ListPaginatedResources(
repo.config.APIEndpoint(),
group.SpaceURL+"?inline-relations-depth=1",
resources.SpaceResource{},
func(resource interface{}) bool {
if asgr, ok := resource.(resources.SpaceResource); ok {
group.Spaces = append(group.Spaces, asgr.ToModel())
return true
}
return false
},
)
return group, err
}
示例2:
requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"})
Expect(runCommand("name")).To(BeFalse())
})
It("fails with usage when a name is not provided", func() {
runCommand()
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage", "Requires", "argument"},
))
})
})
Context("when the user is logged in and provides the name of a group", func() {
BeforeEach(func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
group := models.SecurityGroup{}
group.GUID = "being-a-guid"
group.Name = "security-group-name"
fakeSecurityGroupRepo.ReadReturns(group, nil)
})
JustBeforeEach(func() {
runCommand("security-group-name")
})
It("Describes what it is doing to the user", func() {
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Binding", "security-group-name", "as", "my-user"},
[]string{"OK"},
[]string{"TIP: Changes will not apply to existing running applications until they are restarted."},
))
示例3:
It("fails and tells the user", func() {
runCommand("sec group", "org-name", "space-name")
name, orgGUID := fakeSpaceRepo.FindByNameInOrgArgsForCall(0)
Expect(name).To(Equal("space-name"))
Expect(orgGUID).To(Equal("org-guid"))
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"FAILED"},
[]string{"Space", "space-name", "not found"},
))
})
})
Context("everything is hunky dory", func() {
var securityGroup models.SecurityGroup
var org models.Organization
BeforeEach(func() {
org = models.Organization{}
org.Name = "org-name"
org.GUID = "org-guid"
fakeOrgRepo.FindByNameReturns(org, nil)
space := models.Space{}
space.Name = "space-name"
space.GUID = "space-guid"
fakeSpaceRepo.FindByNameInOrgReturns(space, nil)
securityGroup = models.SecurityGroup{}
securityGroup.Name = "security-group"
示例4:
It("fails with usage when a name is not provided", func() {
runCommand()
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Incorrect Usage", "Requires", "argument"},
))
})
})
Context("when the user is logged in and provides the name of a group", func() {
BeforeEach(func() {
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
})
Context("security group exists", func() {
BeforeEach(func() {
group := models.SecurityGroup{}
group.GUID = "just-pretend-this-is-a-guid"
group.Name = "a-security-group-name"
fakeSecurityGroupRepo.ReadReturns(group, nil)
})
JustBeforeEach(func() {
runCommand("a-security-group-name")
})
It("unbinds the group from the default staging group set", func() {
Expect(ui.Outputs()).To(ContainSubstrings(
[]string{"Unbinding", "security group", "a-security-group-name", "my-user"},
[]string{"OK"},
))