/helpers/virtualbox/control_test.go

https://gitlab.com/maxraab/gitlab-runner · Go · 53 lines · 43 code · 7 blank · 3 comment · 3 complexity · 35b9ee5637c008a0b98e0e2dd2eb69bb MD5 · raw file

  1. // +build !integration
  2. package virtualbox
  3. import (
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestSnapshotNameRegex(t *testing.T) {
  8. var tests = []struct {
  9. output string
  10. snapshotName string
  11. expectedToFind bool
  12. }{
  13. {`SnapshotName="v1"`, "v1", true},
  14. {`SnapshotName="gitlabrunner"`, "gitlabrunner", true},
  15. {"SnapshotName=\"gitlabrunner\"\nSnapshotUUID=\"UUID\"\n", "gitlabrunner", true},
  16. {"SnapshotName=\"gitlabrunner\"\nSnapshotUUID=\"UUID\"\n", "notpresent", false},
  17. // Windows style \r\n new lines
  18. {"SnapshotName=\"gitlabrunner\"\r\nSnapshotUUID=\"UUID\"\r\n", "gitlabrunner", true},
  19. }
  20. for _, test := range tests {
  21. assert.Equal(t, test.expectedToFind, matchSnapshotName(test.snapshotName, test.output))
  22. }
  23. }
  24. func TestCurrentSnapshotNameRegex(t *testing.T) {
  25. var tests = []struct {
  26. output string
  27. expectedSnapshotName string
  28. expectedToFind bool
  29. }{
  30. {`CurrentSnapshotName="v1"`, "v1", true},
  31. {`CurrentSnapshotName="gitlabrunner"`, "gitlabrunner", true},
  32. {"CurrentSnapshotName=\"gitlabrunner\"\nCurrentSnapshotUUID=\"UUID\"\n", "gitlabrunner", true},
  33. {"CurrentSnapshotName=\"gitlabrunner\"\nCurrentSnapshotUUID=\"UUID\"\n", "notpresent", false},
  34. // Windows style \r\n new lines
  35. {"CurrentSnapshotName=\"gitlabrunner\"\r\nCurrentSnapshotUUID=\"UUID\"\r\n", "gitlabrunner", true},
  36. }
  37. for _, test := range tests {
  38. actual := matchCurrentSnapshotName(test.output)
  39. if test.expectedToFind {
  40. assert.NotNil(t, actual)
  41. assert.Equal(t, test.expectedSnapshotName, actual[1])
  42. return
  43. }
  44. assert.NotEqual(t, test.expectedSnapshotName, actual[1])
  45. }
  46. }