common_test.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package api
  2. import (
  3. "io/ioutil"
  4. "path/filepath"
  5. "testing"
  6. "os"
  7. )
  8. // LoadOrCreateTrustKey
  9. func TestLoadOrCreateTrustKeyInvalidKeyFile(t *testing.T) {
  10. tmpKeyFolderPath, err := ioutil.TempDir("", "api-trustkey-test")
  11. if err != nil {
  12. t.Fatal(err)
  13. }
  14. defer os.RemoveAll(tmpKeyFolderPath)
  15. tmpKeyFile, err := ioutil.TempFile(tmpKeyFolderPath, "keyfile")
  16. if err != nil {
  17. t.Fatal(err)
  18. }
  19. if _, err := LoadOrCreateTrustKey(tmpKeyFile.Name()); err == nil {
  20. t.Fatal("expected an error, got nothing.")
  21. }
  22. }
  23. func TestLoadOrCreateTrustKeyCreateKey(t *testing.T) {
  24. tmpKeyFolderPath, err := ioutil.TempDir("", "api-trustkey-test")
  25. if err != nil {
  26. t.Fatal(err)
  27. }
  28. defer os.RemoveAll(tmpKeyFolderPath)
  29. // Without the need to create the folder hierarchy
  30. tmpKeyFile := filepath.Join(tmpKeyFolderPath, "keyfile")
  31. if key, err := LoadOrCreateTrustKey(tmpKeyFile); err != nil || key == nil {
  32. t.Fatalf("expected a new key file, got : %v and %v", err, key)
  33. }
  34. if _, err := os.Stat(tmpKeyFile); err != nil {
  35. t.Fatalf("Expected to find a file %s, got %v", tmpKeyFile, err)
  36. }
  37. // With the need to create the folder hierarchy as tmpKeyFie is in a path
  38. // where some folders do not exist.
  39. tmpKeyFile = filepath.Join(tmpKeyFolderPath, "folder/hierarchy/keyfile")
  40. if key, err := LoadOrCreateTrustKey(tmpKeyFile); err != nil || key == nil {
  41. t.Fatalf("expected a new key file, got : %v and %v", err, key)
  42. }
  43. if _, err := os.Stat(tmpKeyFile); err != nil {
  44. t.Fatalf("Expected to find a file %s, got %v", tmpKeyFile, err)
  45. }
  46. // With no path at all
  47. defer os.Remove("keyfile")
  48. if key, err := LoadOrCreateTrustKey("keyfile"); err != nil || key == nil {
  49. t.Fatalf("expected a new key file, got : %v and %v", err, key)
  50. }
  51. if _, err := os.Stat("keyfile"); err != nil {
  52. t.Fatalf("Expected to find a file keyfile, got %v", err)
  53. }
  54. }
  55. func TestLoadOrCreateTrustKeyLoadValidKey(t *testing.T) {
  56. tmpKeyFile := filepath.Join("fixtures", "keyfile")
  57. if key, err := LoadOrCreateTrustKey(tmpKeyFile); err != nil || key == nil {
  58. t.Fatalf("expected a key file, got : %v and %v", err, key)
  59. }
  60. }