//GohanDbStateFetch gets resource's state from database func GohanDbStateFetch(tx transaction.Transaction, schemaID, ID, tenantID string) (map[string]interface{}, error) { schema, err := getSchema(schemaID) if err != nil { return map[string]interface{}{}, err } filter := transaction.IDFilter(ID) if tenantID != "" { filter["tenant_id"] = tenantID } resp, err := tx.StateFetch(schema, filter) if err != nil { return map[string]interface{}{}, fmt.Errorf("Error during gohan_db_state_fetch: %s", err.Error()) } data := map[string]interface{}{ "config_version": resp.ConfigVersion, "state_version": resp.StateVersion, "error": resp.Error, "state": resp.State, "monitoring": resp.Monitoring, } return data, nil }
}) It("Creates a dependent resource", func() { Expect(tx.Create(subnetResource)).To(Succeed()) Expect(tx.Commit()).To(Succeed()) }) It("Deletes the resource", func() { Expect(tx.Delete(serverSchema, serverResource.ID())).To(Succeed()) Expect(tx.Delete(networkSchema, networkResource1.ID())).To(Succeed()) Expect(tx.Commit()).To(Succeed()) }) Context("Using StateFetch", func() { It("Returns the defaults", func() { beforeState, err := tx.StateFetch(networkSchema, transaction.IDFilter(networkResource1.ID())) Expect(err).ToNot(HaveOccurred()) Expect(tx.Commit()).To(Succeed()) Expect(beforeState.ConfigVersion).To(Equal(int64(1))) Expect(beforeState.StateVersion).To(Equal(int64(0))) Expect(beforeState.State).To(Equal("")) Expect(beforeState.Error).To(Equal("")) Expect(beforeState.Monitoring).To(Equal("")) }) }) }) }) }) Context("Initialization", func() { BeforeEach(func() {
}) It("Creates a dependent resource", func() { Expect(tx.Create(subnetResource)).To(Succeed()) Expect(tx.Commit()).To(Succeed()) }) It("Deletes the resource", func() { Expect(tx.Delete(serverSchema, serverResource.ID())).To(Succeed()) Expect(tx.Delete(networkSchema, networkResource1.ID())).To(Succeed()) Expect(tx.Commit()).To(Succeed()) }) Context("Using StateFetch", func() { It("Returns the defaults", func() { beforeState, err := tx.StateFetch(networkSchema, networkResource1.ID(), nil) Expect(err).ToNot(HaveOccurred()) Expect(tx.Commit()).To(Succeed()) Expect(beforeState.ConfigVersion).To(Equal(int64(1))) Expect(beforeState.StateVersion).To(Equal(int64(0))) Expect(beforeState.State).To(Equal("")) Expect(beforeState.Error).To(Equal("")) Expect(beforeState.Monitoring).To(Equal("")) }) }) }) }) }) Context("Initialization", func() { BeforeEach(func() {