tx.go 619 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package testdb
  2. type Tx struct {
  3. commitFunc func() error
  4. rollbackFunc func() error
  5. }
  6. func (t *Tx) Commit() error {
  7. if t.commitFunc != nil {
  8. return t.commitFunc()
  9. }
  10. return nil
  11. }
  12. func (t *Tx) Rollback() error {
  13. if t.rollbackFunc != nil {
  14. return t.rollbackFunc()
  15. }
  16. return nil
  17. }
  18. func (t *Tx) SetCommitFunc(f func() error) {
  19. t.commitFunc = f
  20. }
  21. func (t *Tx) StubCommitError(err error) {
  22. t.SetCommitFunc(func() error {
  23. return err
  24. })
  25. }
  26. func (t *Tx) SetRollbackFunc(f func() error) {
  27. t.rollbackFunc = f
  28. }
  29. func (t *Tx) StubRollbackError(err error) {
  30. t.SetRollbackFunc(func() error {
  31. return err
  32. })
  33. }