util_test.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package common
  2. import (
  3. "reflect"
  4. "strings"
  5. "testing"
  6. )
  7. func TestMapConvert_Funcs(t *testing.T) {
  8. source := map[interface{}]interface{}{
  9. "QUERY_TABLE": "VBAP",
  10. "ROWCOUNT": 10,
  11. "FIELDS": []interface{}{
  12. map[interface{}]interface{}{"FIELDNAME": "MANDT"},
  13. map[interface{}]interface{}{"FIELDNAME": "VBELN"},
  14. map[interface{}]interface{}{"FIELDNAME": "POSNR"},
  15. },
  16. }
  17. exp := map[string]interface{}{
  18. "QUERY_TABLE": "VBAP",
  19. "ROWCOUNT": 10,
  20. "FIELDS": []interface{}{
  21. map[string]interface{}{"FIELDNAME": "MANDT"},
  22. map[string]interface{}{"FIELDNAME": "VBELN"},
  23. map[string]interface{}{"FIELDNAME": "POSNR"},
  24. },
  25. }
  26. got := ConvertMap(source)
  27. if !reflect.DeepEqual(exp, got) {
  28. t.Errorf("result mismatch:\n\nexp=%s\n\ngot=%s\n\n", exp, got)
  29. }
  30. }
  31. func TestGetDataLoc_Funcs(t *testing.T) {
  32. d, err := GetDataLoc()
  33. if err != nil {
  34. t.Errorf("Errors when getting data loc: %s.", err)
  35. } else if !strings.HasSuffix(d, "kuiper/data/test") {
  36. t.Errorf("Unexpected data location %s", d)
  37. }
  38. }
  39. func TestAbsolutePath(t *testing.T) {
  40. var tests = []struct {
  41. r string
  42. a string
  43. }{
  44. {
  45. r: "etc/services",
  46. a: "/etc/kuiper/services",
  47. }, {
  48. r: "data/",
  49. a: "/var/lib/kuiper/data/",
  50. }, {
  51. r: log_dir,
  52. a: "/var/log/kuiper",
  53. }, {
  54. r: "plugins",
  55. a: "/var/lib/kuiper/plugins",
  56. },
  57. }
  58. for i, tt := range tests {
  59. aa, err := absolutePath(tt.r)
  60. if err != nil {
  61. t.Errorf("error: %v", err)
  62. } else {
  63. if !(tt.a == aa) {
  64. t.Errorf("%d result mismatch:\n\nexp=%#v\n\ngot=%#v\n\n", i, tt.a, aa)
  65. }
  66. }
  67. }
  68. }