| package api |
| |
| import ( |
| "io/ioutil" |
| "path/filepath" |
| "testing" |
| |
| "os" |
| ) |
| |
| // LoadOrCreateTrustKey |
| func TestLoadOrCreateTrustKeyInvalidKeyFile(t *testing.T) { |
| tmpKeyFolderPath, err := ioutil.TempDir("", "api-trustkey-test") |
| if err != nil { |
| t.Fatal(err) |
| } |
| defer os.RemoveAll(tmpKeyFolderPath) |
| |
| tmpKeyFile, err := ioutil.TempFile(tmpKeyFolderPath, "keyfile") |
| if err != nil { |
| t.Fatal(err) |
| } |
| |
| if _, err := LoadOrCreateTrustKey(tmpKeyFile.Name()); err == nil { |
| t.Fatal("expected an error, got nothing.") |
| } |
| |
| } |
| |
| func TestLoadOrCreateTrustKeyCreateKey(t *testing.T) { |
| tmpKeyFolderPath, err := ioutil.TempDir("", "api-trustkey-test") |
| if err != nil { |
| t.Fatal(err) |
| } |
| defer os.RemoveAll(tmpKeyFolderPath) |
| |
| // Without the need to create the folder hierarchy |
| tmpKeyFile := filepath.Join(tmpKeyFolderPath, "keyfile") |
| |
| if key, err := LoadOrCreateTrustKey(tmpKeyFile); err != nil || key == nil { |
| t.Fatalf("expected a new key file, got : %v and %v", err, key) |
| } |
| |
| if _, err := os.Stat(tmpKeyFile); err != nil { |
| t.Fatalf("Expected to find a file %s, got %v", tmpKeyFile, err) |
| } |
| |
| // With the need to create the folder hierarchy as tmpKeyFie is in a path |
| // where some folders do not exist. |
| tmpKeyFile = filepath.Join(tmpKeyFolderPath, "folder/hierarchy/keyfile") |
| |
| if key, err := LoadOrCreateTrustKey(tmpKeyFile); err != nil || key == nil { |
| t.Fatalf("expected a new key file, got : %v and %v", err, key) |
| } |
| |
| if _, err := os.Stat(tmpKeyFile); err != nil { |
| t.Fatalf("Expected to find a file %s, got %v", tmpKeyFile, err) |
| } |
| |
| // With no path at all |
| defer os.Remove("keyfile") |
| if key, err := LoadOrCreateTrustKey("keyfile"); err != nil || key == nil { |
| t.Fatalf("expected a new key file, got : %v and %v", err, key) |
| } |
| |
| if _, err := os.Stat("keyfile"); err != nil { |
| t.Fatalf("Expected to find a file keyfile, got %v", err) |
| } |
| } |
| |
| func TestLoadOrCreateTrustKeyLoadValidKey(t *testing.T) { |
| tmpKeyFile := filepath.Join("fixtures", "keyfile") |
| |
| if key, err := LoadOrCreateTrustKey(tmpKeyFile); err != nil || key == nil { |
| t.Fatalf("expected a key file, got : %v and %v", err, key) |
| } |
| } |