diff options
| author | Jeremy Clerc <jclerc@google.com> | 2015-09-12 14:15:41 +0200 |
|---|---|---|
| committer | Jeremy Clerc <jeremy@clerc.io> | 2015-09-12 14:15:41 +0200 |
| commit | 2c0b2987689e2bb86348c0b530b935320b516336 (patch) | |
| tree | db9fa767d4d2c4722d81bf37de2cd7c6080182bc | |
| parent | b071349a3ddf92e655f8c82425c4bb9e27f4449e (diff) | |
| download | easypki-2c0b2987689e2bb86348c0b530b935320b516336.tar.xz | |
test init pki
| -rw-r--r-- | pkg/easyca/easyca_test.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/pkg/easyca/easyca_test.go b/pkg/easyca/easyca_test.go new file mode 100644 index 0000000..0e2ddb4 --- /dev/null +++ b/pkg/easyca/easyca_test.go @@ -0,0 +1,51 @@ +package easyca + +import ( + "fmt" + "math/rand" + "os" + "path/filepath" + "testing" + "time" +) + +// TODO(jclerc): check correct error if structure already exists +// TODO(jclerc): check contents of files +func TestGeneratePKIStructure(t *testing.T) { + rand.Seed(time.Now().UnixNano()) + + pkiroot := filepath.Join(os.TempDir(), fmt.Sprintf("test-pki-%v", rand.Int63())) + if err := os.Mkdir(pkiroot, 0755); err != nil { + t.Fatalf("failed to create temp dir: %v", err) + } + + if err := GeneratePKIStructure(pkiroot); err != nil { + t.Fatalf("%v", err) + } + + // We should check the minimum content also.. + toCheck := []struct { + Name string + Dir bool + }{ + {"private", true}, + {"issued", true}, + {"serial", false}, + {"crlnumber", false}, + {"index.txt", false}, + {"index.txt.attr", false}, + } + + for _, name := range toCheck { + fd, err := os.Stat(filepath.Join(pkiroot, name.Name)) + if err != nil { + t.Errorf("%v: %v", name.Name, err) + } + if name.Dir && !fd.IsDir() { + t.Errorf("%v supposed to be a directory", name.Name) + } + } + if err := os.RemoveAll(pkiroot); err != nil { + t.Logf("failed cleaning tmp dir %v: %v", pkiroot, err) + } +} |
