add tests for keyring #3
@ -78,8 +78,8 @@ func NewKeyPair(root, name, email string) error {
|
|||||||
|
|
||||||
// ListKeys prints keyring information to w.
|
// ListKeys prints keyring information to w.
|
||||||
func ListKeys(root string, w io.Writer) error {
|
func ListKeys(root string, w io.Writer) error {
|
||||||
if err := ensureDir(root); err != nil {
|
if err := checkDir(root); err != nil {
|
||||||
return errors.Wrap(err, "can't find or create pgp dir")
|
return errors.Wrap(err, "can't find pgp dir")
|
||||||
}
|
}
|
||||||
srn, prn := getNames(root)
|
srn, prn := getNames(root)
|
||||||
secs, pubs, err := getELs(srn, prn)
|
secs, pubs, err := getELs(srn, prn)
|
||||||
@ -105,8 +105,8 @@ func ListKeys(root string, w io.Writer) error {
|
|||||||
|
|
||||||
// Export prints pubkey information associated with email to w.
|
// Export prints pubkey information associated with email to w.
|
||||||
func Export(root string, w io.Writer, email string) error {
|
func Export(root string, w io.Writer, email string) error {
|
||||||
if err := ensureDir(root); err != nil {
|
if err := checkDir(root); err != nil {
|
||||||
return errors.Wrap(err, "can't find or create pgp dir")
|
return errors.Wrap(err, "can't find pgp dir")
|
||||||
}
|
}
|
||||||
srn, prn := getNames(root)
|
srn, prn := getNames(root)
|
||||||
_, pubs, err := getELs(srn, prn)
|
_, pubs, err := getELs(srn, prn)
|
||||||
@ -142,8 +142,8 @@ func Import(root string, w io.Reader) error {
|
|||||||
return errors.Wrap(err, "reading keyring")
|
return errors.Wrap(err, "reading keyring")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := ensureDir(root); err != nil {
|
if err := checkDir(root); err != nil {
|
||||||
return errors.Wrap(err, "can't find or create pgp dir")
|
return errors.Wrap(err, "can't find pgp dir")
|
||||||
}
|
}
|
||||||
srn, prn := getNames(root)
|
srn, prn := getNames(root)
|
||||||
_, pubs, err := getELs(srn, prn)
|
_, pubs, err := getELs(srn, prn)
|
||||||
@ -185,8 +185,8 @@ func Import(root string, w io.Reader) error {
|
|||||||
|
|
||||||
// Sign takes an id and a reader and writes the signature for that id to sig.
|
// Sign takes an id and a reader and writes the signature for that id to sig.
|
||||||
func Sign(root, id string, in io.Reader, sig io.Writer) error {
|
func Sign(root, id string, in io.Reader, sig io.Writer) error {
|
||||||
if err := ensureDir(root); err != nil {
|
if err := checkDir(root); err != nil {
|
||||||
return errors.Wrap(err, "can't find or create pgp dir")
|
return errors.Wrap(err, "can't find pgp dir")
|
||||||
}
|
}
|
||||||
srn, prn := getNames(root)
|
srn, prn := getNames(root)
|
||||||
secs, _, err := getELs(srn, prn)
|
secs, _, err := getELs(srn, prn)
|
||||||
@ -206,8 +206,8 @@ func Sign(root, id string, in io.Reader, sig io.Writer) error {
|
|||||||
|
|
||||||
// Verify verifies a file's deatched signature.
|
// Verify verifies a file's deatched signature.
|
||||||
func Verify(root string, file, sig io.Reader) error {
|
func Verify(root string, file, sig io.Reader) error {
|
||||||
if err := ensureDir(root); err != nil {
|
if err := checkDir(root); err != nil {
|
||||||
return errors.Wrap(err, "can't find or create pgp dir")
|
return errors.Wrap(err, "can't find pgp dir")
|
||||||
}
|
}
|
||||||
srn, prn := getNames(root)
|
srn, prn := getNames(root)
|
||||||
_, pubs, err := getELs(srn, prn)
|
_, pubs, err := getELs(srn, prn)
|
||||||
@ -225,8 +225,8 @@ func Verify(root string, file, sig io.Reader) error {
|
|||||||
// It skips public keys that have matching secret keys, and does not effect
|
// It skips public keys that have matching secret keys, and does not effect
|
||||||
// private keys.
|
// private keys.
|
||||||
func Remove(root string, id string) error {
|
func Remove(root string, id string) error {
|
||||||
if err := ensureDir(root); err != nil {
|
if err := checkDir(root); err != nil {
|
||||||
return errors.Wrap(err, "can't find or create pgp dir")
|
return errors.Wrap(err, "can't find pgp dir")
|
||||||
}
|
}
|
||||||
srn, prn := getNames(root)
|
srn, prn := getNames(root)
|
||||||
secs, pubs, err := getELs(srn, prn)
|
secs, pubs, err := getELs(srn, prn)
|
||||||
@ -266,6 +266,14 @@ func pGPDir(root string) string {
|
|||||||
return filepath.Join(root, "var", "lib", "pm", "pgp")
|
return filepath.Join(root, "var", "lib", "pm", "pgp")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkDir(root string) error {
|
||||||
|
d := pGPDir(root)
|
||||||
|
if !fs.Exists(d) {
|
||||||
|
return fmt.Errorf("pgp dir does not exist")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func ensureDir(root string) error {
|
func ensureDir(root string) error {
|
||||||
d := pGPDir(root)
|
d := pGPDir(root)
|
||||||
if !fs.Exists(d) {
|
if !fs.Exists(d) {
|
||||||
|
Loading…
Reference in New Issue
Block a user