func TestPqModelInstanceApi(t *testing.T) { var err error user := models.User{} user.Name = "mijia" user.Password = "******" user.Age = 15 if user, err = user.Insert(pqdb); err != nil { t.Errorf("Insert is not working, %v", err) } else { log.Println(user) } objs := models.UserObjs query := objs.Select().Where(objs.FilterName("=", user.Name)) if user, err = query.One(pqdb); err != nil { t.Errorf("Select one is not working, %v", err) } user.Age = 36 user.IsMarried = true if _, err := user.Update(pqdb); err != nil { t.Errorf("Update is not working, %v", err) } if user, err = query.One(pqdb); err != nil { t.Errorf("Select one is not working, %v", err) } if _, err := user.Delete(pqdb); err != nil { t.Errorf("Delete is not working, %v", err) } }
func TestPqModelBatchApi(t *testing.T) { rand.Seed(time.Now().UnixNano()) err := gmq.WithinTx(pqdb, func(tx *gmq.Tx) error { for i := 0; i < 5; i++ { user := models.User{} user.Name = fmt.Sprintf("mijia_%d_%d", time.Now().UnixNano(), rand.Int63()) user.Password = "******" user.Age = rand.Intn(120) + 1 if _, err := user.Insert(tx); err != nil { t.Errorf("Failed to insert test data for batch query, %s", user) return err } } return nil }) if err != nil { t.Errorf("Failed to insert test data in transaction, %s", err) } objs := models.UserObjs query := objs.Select().Where(objs.FilterAge(">=", 5)) if _, err := query.List(pqdb); err != nil { t.Errorf("Failed to list query, %s", err) } query = objs.Select("Id", "Age").Where(objs.FilterAge(">=", 10)). OrderBy("Age", "+Id").Page(9, 5) if _, err := query.List(pqdb); err != nil { t.Errorf("Failed to list query, %s", err) } query = objs.Select("Age").Where(objs.FilterAge("IN", 12, 13, 14)). GroupBy("Age") if _, err := query.List(pqdb); err != nil { t.Errorf("Failed to list query, %s", err) } data := models.User{Age: 19, IsMarried: true} query = objs.Update(data, "Age", "IsMarried").Where(objs.FilterAge("=", data.Age-1)) if _, err := query.Run(pqdb); err != nil { t.Errorf("Failed to do batch update, %s", err) } query = objs.Delete().Where(objs.FilterAge(">", 70)) if _, err := query.Run(pqdb); err != nil { t.Errorf("Failed to do batch delete, %s", err) } }