From a909e1769466fccd31e0f6d20e2e7230050601b1 Mon Sep 17 00:00:00 2001 From: J Delaney Date: Sat, 10 Oct 2015 14:54:26 -0700 Subject: [PATCH] Add tests for passvault ChangePassword, NumRecords, and GetSummary --- passvault/passvault_test.go | 59 +++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/passvault/passvault_test.go b/passvault/passvault_test.go index 2ffc639..db40954 100644 --- a/passvault/passvault_test.go +++ b/passvault/passvault_test.go @@ -97,6 +97,12 @@ func TestChangePassword(t *testing.T) { t.Fatalf("%v", err) } + // Check changing the password for a non-existent user + err = records.ChangePassword("user", "weakpassword", "newpassword") + if err == nil { + t.Fatalf("%v", err) + } + _, err = records.AddNewRecord("user", "weakpassword", true, ECCRecord) if err != nil { t.Fatalf("%v", err) @@ -118,6 +124,59 @@ func TestChangePassword(t *testing.T) { } } +func TestNumRecords(t *testing.T) { + records, err := InitFrom("memory") + if err != nil { + t.Fatalf("%v", err) + } + + if recordCount := records.NumRecords(); recordCount != 0 { + t.Fatalf("Error in number of records. Expected 0, got %d.", recordCount) + } + + if _, err = records.AddNewRecord("user", "password", true, RSARecord); err != nil { + t.Fatalf("%v", err) + } + + if recordCount := records.NumRecords(); recordCount != 1 { + t.Fatalf("Error in number of records. Expected 1, got %d.", recordCount) + } +} + +func TestGetSummary(t *testing.T) { + records, err := InitFrom("memory") + if err != nil { + t.Fatalf("%v", err) + } + + if summary := records.GetSummary(); len(summary) != 0 { + t.Fatalf("Expected 0 elements in summary but got %d instead.", len(summary)) + } + + if _, err := records.AddNewRecord("user1", "password", true, RSARecord); err != nil { + t.Fatalf("%v", err) + } + + if _, err := records.AddNewRecord("user2", "password", false, ECCRecord); err != nil { + t.Fatalf("%v", err) + } + + summary := records.GetSummary() + if len(summary) != 2 { + t.Fatalf("Expected 2 elements in summary but got %d instead.", len(summary)) + } + + user := summary["user1"] + if user.Admin != true || user.Type != RSARecord { + t.Fatalf("Data retrieved for user1 invalid. Expected {Admin:true Type:%s}, got %+v", RSARecord, user) + } + + user = summary["user2"] + if user.Admin != false || user.Type != ECCRecord { + t.Fatalf("Data retrieved for user1 invalid. Expected {Admin:false Type:%s}, got %+v", ECCRecord, user) + } +} + func TestDeleteRecord(t *testing.T) { records, err := InitFrom("memory") if err != nil {