randgoart_test.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package randgoart_test
  2. import (
  3. "encoding/hex"
  4. "fmt"
  5. "testing"
  6. u "github.com/johnsonjh/leaktestfe"
  7. "github.com/johnsonjh/randgoart"
  8. )
  9. func TestGenerate(
  10. t *testing.T,
  11. ) {
  12. u.Leakplug(t)
  13. tests := []struct {
  14. input string
  15. output string
  16. }{
  17. {
  18. "f5f8a4b7ac83b0b9aa9ad4306269e738",
  19. "" +
  20. "+-----------------+\n" +
  21. "| |\n" +
  22. "| |\n" +
  23. "| . |\n" +
  24. "| . . o |\n" +
  25. "|.* . S . o |\n" +
  26. "|+ B . + |\n" +
  27. "| E o + .. o |\n" +
  28. "|... o . .o . |\n" +
  29. "|o....... .oo |\n" +
  30. "+-----------------+",
  31. },
  32. {
  33. "5a46a29f198bdb5a988ccef224acafbf",
  34. "" +
  35. "+-----------------+\n" +
  36. "| |\n" +
  37. "| |\n" +
  38. "| . . |\n" +
  39. "| . o |\n" +
  40. "| . . S |\n" +
  41. "|. o = O |\n" +
  42. "|..o = B |\n" +
  43. "|o= + |\n" +
  44. "|o*E.o.. |\n" +
  45. "+-----------------+",
  46. },
  47. {
  48. "fc94b0c1e5b0987c5843997697ee9fb7",
  49. "" +
  50. "+-----------------+\n" +
  51. "| .=o. . |\n" +
  52. "| . *+*. o |\n" +
  53. "| =.*..o |\n" +
  54. "| o + .. |\n" +
  55. "| S o. |\n" +
  56. "| o . |\n" +
  57. "| . . . |\n" +
  58. "| o .|\n" +
  59. "| E.|\n" +
  60. "+-----------------+",
  61. },
  62. }
  63. for _, tt := range tests {
  64. data, _ := hex.DecodeString(
  65. tt.input,
  66. )
  67. var err error
  68. sshhash := randgoart.NewSSH()
  69. _, err = sshhash.Write(
  70. data,
  71. )
  72. if err != nil {
  73. t.Fatal(
  74. fmt.Sprintf(
  75. "\nrandgoart.sshhash.Write failed: %v",
  76. err,
  77. ),
  78. )
  79. }
  80. s := sshhash.String()
  81. if s != tt.output {
  82. t.Errorf(
  83. "ssh visual hash test failed: got:\n%v\nwanted:\n%v",
  84. s,
  85. tt.output,
  86. )
  87. }
  88. }
  89. }