本文整理汇总了Golang中github.com/cloudfoundry-incubator/runtime-schema/models.ActualLRP.State方法的典型用法代码示例。如果您正苦于以下问题:Golang ActualLRP.State方法的具体用法?Golang ActualLRP.State怎么用?Golang ActualLRP.State使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry-incubator/runtime-schema/models.ActualLRP
的用法示例。
在下文中一共展示了ActualLRP.State方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
oldActualLRP2 = oldmodels.ActualLRP{
ActualLRPKey: oldmodels.NewActualLRPKey(
"process-guid-1",
2,
"domain-1",
),
ActualLRPInstanceKey: oldmodels.NewActualLRPInstanceKey(
"instance-guid-1",
"cell-id-1",
),
State: oldmodels.ActualLRPStateClaimed,
Since: 4444,
}
oldEvacuatingLRP2 = oldActualLRP2
oldEvacuatingLRP2.State = oldmodels.ActualLRPStateRunning
oldEvacuatingLRP2.Since = 3417
})
Describe("GetAll", func() {
Context("when reading LRPs from BBS succeeds", func() {
BeforeEach(func() {
fakeBBS.ActualLRPGroupsStub = func(filter models.ActualLRPFilter) ([]*models.ActualLRPGroup, error) {
groups := []*models.ActualLRPGroup{}
if filter.Domain == "" {
groups = append(groups, &models.ActualLRPGroup{Instance: &actualLRP1})
}
groups = append(groups, &models.ActualLRPGroup{Instance: &actualLRP2, Evacuating: &evacuatingLRP2})
return groups, nil
}
})
示例2:
actualLRP2 = models.ActualLRP{
ActualLRPKey: models.NewActualLRPKey(
"process-guid-1",
2,
"domain-1",
),
ActualLRPInstanceKey: models.NewActualLRPInstanceKey(
"instance-guid-1",
"cell-id-1",
),
State: models.ActualLRPStateClaimed,
Since: 4444,
}
evacuatingLRP2 = actualLRP2
evacuatingLRP2.State = models.ActualLRPStateRunning
evacuatingLRP2.Since = 3417
})
Describe("GetAll", func() {
Context("when reading LRPs from BBS succeeds", func() {
BeforeEach(func() {
fakeBBS.ActualLRPGroupsReturns([]models.ActualLRPGroup{
{Instance: &actualLRP1},
{Instance: &actualLRP2, Evacuating: &evacuatingLRP2},
}, nil)
fakeBBS.ActualLRPGroupsByDomainReturns([]models.ActualLRPGroup{
{Instance: &actualLRP2, Evacuating: &evacuatingLRP2},
}, nil)
})
示例3:
Expect(resolvedLRP).To(Equal(evacuatingLRP))
Expect(evacuating).To(BeTrue())
})
})
Context("When both the Instance and the Evacuating LRP are set", func() {
BeforeEach(func() {
group = models.ActualLRPGroup{
Evacuating: evacuatingLRP,
Instance: instanceLRP,
}
})
Context("When the Instance is UNCLAIMED", func() {
BeforeEach(func() {
instanceLRP.State = models.ActualLRPStateUnclaimed
})
It("returns the Evacuating LRP", func() {
Expect(resolveErr).NotTo(HaveOccurred())
Expect(resolvedLRP).To(Equal(evacuatingLRP))
Expect(evacuating).To(BeTrue())
})
})
Context("When the Instance is CLAIMED", func() {
BeforeEach(func() {
instanceLRP.State = models.ActualLRPStateClaimed
})
It("returns the Evacuating LRP", func() {
示例4:
}
actualResponse := serialization.ActualLRPToResponse(actualLRP, true)
Expect(actualResponse).To(Equal(expectedResponse))
})
It("maps model states to receptor states", func() {
expectedStateMap := map[models.ActualLRPState]receptor.ActualLRPState{
models.ActualLRPStateUnclaimed: receptor.ActualLRPStateUnclaimed,
models.ActualLRPStateClaimed: receptor.ActualLRPStateClaimed,
models.ActualLRPStateRunning: receptor.ActualLRPStateRunning,
models.ActualLRPStateCrashed: receptor.ActualLRPStateCrashed,
}
for modelState, jsonState := range expectedStateMap {
actualLRP.State = modelState
Expect(serialization.ActualLRPToResponse(actualLRP, false).State).To(Equal(jsonState))
}
actualLRP.State = ""
Expect(serialization.ActualLRPToResponse(actualLRP, false).State).To(Equal(receptor.ActualLRPStateInvalid))
})
Context("when there is placement error", func() {
BeforeEach(func() {
actualLRP.State = models.ActualLRPStateUnclaimed
actualLRP.PlacementError = diego_errors.INSUFFICIENT_RESOURCES_MESSAGE
})
It("includes the placement error", func() {
actualResponse := serialization.ActualLRPToResponse(actualLRP, false)