Exemplo n.º 1
0
			}
			annotation := "annotated"
			update = &models.DesiredLRPUpdate{
				Instances:  &instances,
				Routes:     &routes,
				Annotation: &annotation,
			}
			_, err := sqlDB.UpdateDesiredLRP(logger, expectedDesiredLRP.ProcessGuid, update)
			Expect(err).NotTo(HaveOccurred())

			desiredLRP, err := sqlDB.DesiredLRPByProcessGuid(logger, expectedDesiredLRP.ProcessGuid)
			Expect(err).NotTo(HaveOccurred())

			expectedDesiredLRP.Instances = instances
			expectedDesiredLRP.Annotation = annotation
			expectedDesiredLRP.Routes = &routes
			expectedDesiredLRP.ModificationTag.Increment()

			Expect(desiredLRP).To(BeEquivalentTo(expectedDesiredLRP))
		})

		It("returns the desired lrp from before the update", func() {
			instances := int32(20)
			update = &models.DesiredLRPUpdate{
				Instances: &instances,
			}

			beforeDesiredLRP, err := sqlDB.UpdateDesiredLRP(logger, expectedDesiredLRP.ProcessGuid, update)
			Expect(err).NotTo(HaveOccurred())
			Expect(beforeDesiredLRP).To(Equal(expectedDesiredLRP))
		})
Exemplo n.º 2
0
			protoSerialization, err := proto.Marshal(&desiredLRP)
			Expect(err).NotTo(HaveOccurred())

			var protoDeserialization models.DesiredLRP
			err = proto.Unmarshal(protoSerialization, &protoDeserialization)
			Expect(err).NotTo(HaveOccurred())

			desiredRoutes := *desiredLRP.Routes
			deserializedRoutes := *protoDeserialization.Routes

			Expect(deserializedRoutes).To(HaveLen(len(desiredRoutes)))
			for k := range desiredRoutes {
				Expect(string(*deserializedRoutes[k])).To(MatchJSON(string(*desiredRoutes[k])))
			}

			desiredLRP.Routes = nil
			protoDeserialization.Routes = nil
			Expect(protoDeserialization).To(Equal(desiredLRP))
		})
	})

	Describe("ApplyUpdate", func() {
		It("updates instances", func() {
			instances := int32(100)
			update := &models.DesiredLRPUpdate{Instances: &instances}
			schedulingInfo := desiredLRP.DesiredLRPSchedulingInfo()

			expectedSchedulingInfo := schedulingInfo
			expectedSchedulingInfo.Instances = instances
			expectedSchedulingInfo.ModificationTag.Increment()