key_gen_test.go 950 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package generator
  2. import (
  3. "testing"
  4. )
  5. func TestKeyGen(t *testing.T) {
  6. generator, err := NewKeyGenerator("INVALIDKEY")
  7. if err == nil {
  8. t.Error("should return error when key length is invalid")
  9. }
  10. testid := int64(10000)
  11. generator, err = NewKeyGenerator("ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP")
  12. if err != nil {
  13. t.Fatal(err)
  14. }
  15. key, err := generator.GenRandomKey(testid)
  16. if err != nil {
  17. t.Error(err)
  18. }
  19. t.Log(key)
  20. id, err := generator.DecodeIdFromRandomKey(key)
  21. if err != nil {
  22. t.Error(err)
  23. }
  24. if id != testid {
  25. t.Errorf("wrong id %d, want %d", id, testid)
  26. }
  27. id, err = generator.DecodeIdFromRandomKey("")
  28. if err == nil {
  29. t.Error("decode id from random key should return error for empty key.")
  30. }
  31. id, err = generator.DecodeIdFromRandomKey("1111111111111111111111111111111111111111")
  32. if err == nil {
  33. t.Errorf("decode id from random key should return error for bad key : %s", "1111111111111111111111111111111111111111")
  34. }
  35. }