day_test.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package hercules
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. "gopkg.in/src-d/go-git.v4/plumbing"
  6. )
  7. func fixtureDaysSinceStart() *DaysSinceStart {
  8. dss := DaysSinceStart{}
  9. dss.Initialize(testRepository)
  10. return &dss
  11. }
  12. func TestDaysSinceStartMeta(t *testing.T) {
  13. dss := fixtureDaysSinceStart()
  14. assert.Equal(t, dss.Name(), "DaysSinceStart")
  15. assert.Equal(t, len(dss.Provides()), 1)
  16. assert.Equal(t, dss.Provides()[0], "day")
  17. assert.Equal(t, len(dss.Requires()), 0)
  18. }
  19. func TestDaysSinceStartFinalize(t *testing.T) {
  20. dss := fixtureDaysSinceStart()
  21. r := dss.Finalize()
  22. assert.Nil(t, r)
  23. }
  24. func TestDaysSinceStartConsume(t *testing.T) {
  25. dss := fixtureDaysSinceStart()
  26. deps := map[string]interface{}{}
  27. commit, _ := testRepository.CommitObject(plumbing.NewHash(
  28. "cce947b98a050c6d356bc6ba95030254914027b1"))
  29. deps["commit"] = commit
  30. deps["index"] = 0
  31. res, err := dss.Consume(deps)
  32. assert.Nil(t, err)
  33. assert.Equal(t, res["day"].(int), 0)
  34. assert.Equal(t, dss.previousDay, 0)
  35. commit, _ = testRepository.CommitObject(plumbing.NewHash(
  36. "fc9ceecb6dabcb2aab60e8619d972e8d8208a7df"))
  37. deps["commit"] = commit
  38. deps["index"] = 10
  39. res, err = dss.Consume(deps)
  40. assert.Nil(t, err)
  41. assert.Equal(t, res["day"].(int), 1)
  42. assert.Equal(t, dss.previousDay, 1)
  43. commit, _ = testRepository.CommitObject(plumbing.NewHash(
  44. "a3ee37f91f0d705ec9c41ae88426f0ae44b2fbc3"))
  45. deps["commit"] = commit
  46. deps["index"] = 20
  47. res, err = dss.Consume(deps)
  48. assert.Nil(t, err)
  49. assert.Equal(t, res["day"].(int), 1)
  50. assert.Equal(t, dss.previousDay, 1)
  51. commit, _ = testRepository.CommitObject(plumbing.NewHash(
  52. "a8b665a65d7aced63f5ba2ff6d9b71dac227f8cf"))
  53. deps["commit"] = commit
  54. deps["index"] = 20
  55. res, err = dss.Consume(deps)
  56. assert.Nil(t, err)
  57. assert.Equal(t, res["day"].(int), 2)
  58. assert.Equal(t, dss.previousDay, 2)
  59. commit, _ = testRepository.CommitObject(plumbing.NewHash(
  60. "186ff0d7e4983637bb3762a24d6d0a658e7f4712"))
  61. deps["commit"] = commit
  62. deps["index"] = 30
  63. res, err = dss.Consume(deps)
  64. assert.Nil(t, err)
  65. assert.Equal(t, res["day"].(int), 2)
  66. assert.Equal(t, dss.previousDay, 2)
  67. }