package go_pgp import ( "path/filepath" "testing" ) func TestReadArmoredKeyRingBinary(t *testing.T) { binary, err := readTestFile("testReceiverEntityArmored.pgp") if err != nil { t.Fatal("'testdata/testReceiverEntityArmored.pgp' could not be found") } entity, err := ReadArmoredKeyRingBinary(binary) if err != nil { t.Fatal("'testdata/testReceiverEntityArmored.pgp' could not be parsed") } if len(entity.EntityList) == 0 { t.Fatal("no entities could be retrieved from 'testdata/testReceiverEntityArmored.pgp'") } binary, err = readTestFile("testReceiverEntityArmored_bad.pgp") if err != nil { t.Fatal("'testdata/testReceiverEntityArmored_bad.pgp' could not be found") } entity, err = ReadArmoredKeyRingBinary(binary) if err == nil { t.Fatal("'testdata/testReceiverEntityArmored_bad.pgp' should not be parseable") } } func TestReadKeyRingBinary(t *testing.T) { binary, err := readTestFile("testReceiverEntity.pgp") if err != nil { t.Fatal("'testdata/testReceiverEntity.pgp' could not be found") } entity, err := ReadKeyRingBinary(binary) if err != nil { t.Fatal("'testdata/testReceiverEntity.pgp' could not be parsed") } if len(entity.EntityList) == 0 { t.Fatal("no entities could be retrieved from 'testdata/testReceiverEntity.pgp'") } binary, err = readTestFile("testReceiverEntity_bad.pgp") if err != nil { t.Fatal("'testdata/testReceiverEntity_bad.pgp' could not be found") } entity, err = ReadKeyRingBinary(binary) if err == nil { t.Fatal("'testdata/testReceiverEntity_bad.pgp' should not be parseable") } } func TestReadArmoredKeyRingFromFile(t *testing.T) { folder, err := filepath.Abs("testdata") if err != nil { t.Fatal("absolute path to 'testdata' folder could not be determined") } entity, err := ReadArmoredKeyRingFromFile(filepath.Join(folder, "testReceiverEntityArmored.pgp")) if err != nil { t.Fatal("'testdata/testReceiverEntityArmored.pgp' could not be parsed") } if len(entity.EntityList) == 0 { t.Fatal("no entities could be retrieved from 'testdata/testReceiverEntityArmored.pgp'") } _, err = ReadArmoredKeyRingFromFile(filepath.Join(folder, "testReceiverEntityArmored_bad.pgp")) if err == nil { t.Error("'testdata/testReceiverEntityArmored_bad.pgp' should not be parseable") } _, err = ReadArmoredKeyRingFromFile(filepath.Join(folder, "doesNotExist.pgp")) if err == nil { t.Error("'testdata/doesNotExist.pgp' should not be found") } } func TestReadKeyRingFromFile(t *testing.T) { folder, err := filepath.Abs("testdata") if err != nil { t.Fatal("absolute path to 'testdata' folder could not be determined") } entity, err := ReadKeyRingFromFile(filepath.Join(folder, "testReceiverEntity.pgp")) if err != nil { t.Fatal("'testdata/testReceiverEntity.pgp' could not be parsed") } if len(entity.EntityList) == 0 { t.Fatal("no entities could be retrieved from 'testdata/testReceiverEntity.pgp'") } _, err = ReadKeyRingFromFile(filepath.Join(folder, "testReceiverEntity_bad.pgp")) if err == nil { t.Error("'testdata/testReceiverEntity_bad.pgp' should not be parseable") } _, err = ReadKeyRingFromFile(filepath.Join(folder, "doesNotExist.pgp")) if err == nil { t.Error("'testdata/doesNotExist.pgp' should not be found") } }