本文整理汇总了Golang中github.com/cloudfoundry/storeadapter.StoreAdapter.ListRecursively方法的典型用法代码示例。如果您正苦于以下问题:Golang StoreAdapter.ListRecursively方法的具体用法?Golang StoreAdapter.ListRecursively怎么用?Golang StoreAdapter.ListRecursively使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/storeadapter.StoreAdapter
的用法示例。
在下文中一共展示了StoreAdapter.ListRecursively方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: getAllTasks
func getAllTasks(store storeadapter.StoreAdapter, state models.TaskState) ([]*models.Task, error) {
node, err := store.ListRecursively(TaskSchemaRoot)
if err == storeadapter.ErrorKeyNotFound {
return []*models.Task{}, nil
}
if err != nil {
return []*models.Task{}, err
}
tasks := []*models.Task{}
for _, node := range node.ChildNodes {
task, err := models.NewTaskFromJSON(node.Value)
if err != nil {
steno.NewLogger("bbs").Errorf("cannot parse task JSON for key %s: %s", node.Key, err.Error())
} else if task.State == state {
tasks = append(tasks, &task)
}
}
return tasks, nil
}
示例2:
AfterEach(func() {
storeAdapter.Disconnect()
})
Describe("Saving stop messages", func() {
BeforeEach(func() {
err := store.SavePendingStopMessages(
message1,
message2,
)
Ω(err).ShouldNot(HaveOccurred())
})
It("stores the passed in stop messages", func() {
node, err := storeAdapter.ListRecursively("/hm/v1/stop")
Ω(err).ShouldNot(HaveOccurred())
Ω(node.ChildNodes).Should(HaveLen(2))
Ω(node.ChildNodes).Should(ContainElement(storeadapter.StoreNode{
Key: "/hm/v1/stop/" + message1.StoreKey(),
Value: message1.ToJSON(),
TTL: 0,
}))
Ω(node.ChildNodes).Should(ContainElement(storeadapter.StoreNode{
Key: "/hm/v1/stop/" + message2.StoreKey(),
Value: message2.ToJSON(),
TTL: 0,
}))
})
})
示例3:
close(done)
})
})
PIt("adds a TTL to the associated app", func(done Done) {
app2Service2 := domain.AppService{AppId: app2Service1.AppId, Url: "syslog://new.example.com:12345"}
incomingChan <- domain.AppServices{
AppId: app2Service1.AppId,
Urls: []string{app2Service1.Url, app2Service2.Url},
}
assertInStore(app2Service1, app2Service2)
node, err := adapter.ListRecursively("/loggregator/services/app-2")
Expect(err).NotTo(HaveOccurred())
Expect(node.TTL).NotTo(BeZero())
close(done)
})
})
Context("when a service or app should be removed", func() {
Context("when an existing app loses one of its services", func() {
It("removes that service from the store", func(done Done) {
incomingChan <- domain.AppServices{
AppId: app1Service1.AppId,
Urls: []string{app1Service1.Url},
}