auth

Paddy 2014-10-26 Parent:d78418fb9f56 Child:42bc3e44f4fe

57:e45bfa2abc00 Go to Latest

auth/profile_test.go

The great documentation and exported interface cleanup. Modify all our *Store interfaces to be unexported, as there's no real good reason they need to be exported, especially as they can be implemented without being exported. The interfaces shouldn't matter to 99% of users of the package, so let's not pollute our package API. Further, all methods of the interfaces are now unexported, for pretty much the same reasoning. Add a doc.go file with documentation explaining the choices the package is making and what it provides. Implement documentation on all our exported types and methods and functions, which makes golint happy. The only remaining golint warning is about NewMemstore, which will stay the way it is. The memstore type is useful outside tests for things like standing up a server quickly when we don't care about the storage, and because the type is unexported, we _need_ a New function to create an instance that can be passed to the Context.

History
     1.1 --- a/profile_test.go	Wed Oct 22 00:30:28 2014 -0400
     1.2 +++ b/profile_test.go	Sun Oct 26 00:53:36 2014 -0400
     1.3 @@ -21,7 +21,7 @@
     1.4  	profileChangeLastSeen
     1.5  )
     1.6  
     1.7 -var profileStores = []ProfileStore{NewMemstore()}
     1.8 +var profileStores = []profileStore{NewMemstore()}
     1.9  
    1.10  func compareProfiles(profile1, profile2 Profile) (success bool, field string, val1, val2 interface{}) {
    1.11  	if !profile1.ID.Equal(profile2.ID) {
    1.12 @@ -99,15 +99,15 @@
    1.13  		LastSeen:               time.Now(),
    1.14  	}
    1.15  	for _, store := range profileStores {
    1.16 -		err := store.SaveProfile(profile)
    1.17 +		err := store.saveProfile(profile)
    1.18  		if err != nil {
    1.19  			t.Errorf("Error saving profile to %T: %s", store, err)
    1.20  		}
    1.21 -		err = store.SaveProfile(profile)
    1.22 +		err = store.saveProfile(profile)
    1.23  		if err != ErrProfileAlreadyExists {
    1.24  			t.Errorf("Expected ErrProfileAlreadyExists from %T, got %+v", store, err)
    1.25  		}
    1.26 -		retrieved, err := store.GetProfileByID(profile.ID)
    1.27 +		retrieved, err := store.getProfileByID(profile.ID)
    1.28  		if err != nil {
    1.29  			t.Errorf("Error retrieving profile from %T: %s", store, err)
    1.30  		}
    1.31 @@ -115,15 +115,15 @@
    1.32  		if !match {
    1.33  			t.Errorf("Expected `%v` in the `%s` field of profile retrieved from %T, got `%v`", expectation, field, store, result)
    1.34  		}
    1.35 -		err = store.DeleteProfile(profile.ID)
    1.36 +		err = store.deleteProfile(profile.ID)
    1.37  		if err != nil {
    1.38  			t.Errorf("Error removing profile from %T: %s", store, err)
    1.39  		}
    1.40 -		retrieved, err = store.GetProfileByID(profile.ID)
    1.41 +		retrieved, err = store.getProfileByID(profile.ID)
    1.42  		if err != ErrProfileNotFound {
    1.43  			t.Errorf("Expected ErrProfileNotFound from %T, got %+v and %+v", store, retrieved, err)
    1.44  		}
    1.45 -		err = store.DeleteProfile(profile.ID)
    1.46 +		err = store.deleteProfile(profile.ID)
    1.47  		if err != ErrProfileNotFound {
    1.48  			t.Errorf("Expected ErrProfileNotFound from %T, got %+v", store, err)
    1.49  		}
    1.50 @@ -213,15 +213,15 @@
    1.51  			t.Errorf("Expected field `%s` to be `%v`, got `%v`", field, expected, got)
    1.52  		}
    1.53  		for _, store := range profileStores {
    1.54 -			err := store.SaveProfile(profile)
    1.55 +			err := store.saveProfile(profile)
    1.56  			if err != nil {
    1.57  				t.Errorf("Error saving profile in %T: %s", store, err)
    1.58  			}
    1.59 -			err = store.UpdateProfile(profile.ID, change)
    1.60 +			err = store.updateProfile(profile.ID, change)
    1.61  			if err != nil {
    1.62  				t.Errorf("Error updating profile in %T: %s", store, err)
    1.63  			}
    1.64 -			retrieved, err := store.GetProfileByID(profile.ID)
    1.65 +			retrieved, err := store.getProfileByID(profile.ID)
    1.66  			if err != nil {
    1.67  				t.Errorf("Error getting profile from %T: %s", store, err)
    1.68  			}
    1.69 @@ -229,11 +229,11 @@
    1.70  			if !match {
    1.71  				t.Errorf("Expected field `%s` to be `%v`, got `%v` from %T", field, expected, got, store)
    1.72  			}
    1.73 -			err = store.DeleteProfile(profile.ID)
    1.74 +			err = store.deleteProfile(profile.ID)
    1.75  			if err != nil {
    1.76  				t.Errorf("Error deleting profile from %T: %s", store, err)
    1.77  			}
    1.78 -			err = store.UpdateProfile(profile.ID, change)
    1.79 +			err = store.updateProfile(profile.ID, change)
    1.80  			if err != ErrProfileNotFound {
    1.81  				t.Errorf("Expected ErrProfileNotFound, got %v from %T", err, store)
    1.82  			}
    1.83 @@ -256,25 +256,25 @@
    1.84  		Compromised: &truth,
    1.85  	}
    1.86  	for _, store := range profileStores {
    1.87 -		err := store.SaveProfile(profile1)
    1.88 +		err := store.saveProfile(profile1)
    1.89  		if err != nil {
    1.90  			t.Errorf("Error saving profile in %T: %s", store, err)
    1.91  		}
    1.92 -		err = store.SaveProfile(profile2)
    1.93 +		err = store.saveProfile(profile2)
    1.94  		if err != nil {
    1.95  			t.Errorf("Error saving profile in %T: %s", store, err)
    1.96  		}
    1.97 -		err = store.SaveProfile(profile3)
    1.98 +		err = store.saveProfile(profile3)
    1.99  		if err != nil {
   1.100  			t.Errorf("Error saving profile in %T: %s", store, err)
   1.101  		}
   1.102 -		err = store.UpdateProfiles([]uuid.ID{profile1.ID, profile3.ID}, change)
   1.103 +		err = store.updateProfiles([]uuid.ID{profile1.ID, profile3.ID}, change)
   1.104  		if err != nil {
   1.105  			t.Errorf("Error updating profile in %T: %s", store, err)
   1.106  		}
   1.107  		profile1.Compromised = truth
   1.108  		profile3.Compromised = truth
   1.109 -		retrieved, err := store.GetProfileByID(profile1.ID)
   1.110 +		retrieved, err := store.getProfileByID(profile1.ID)
   1.111  		if err != nil {
   1.112  			t.Errorf("Error getting profile from %T: %s", store, err)
   1.113  		}
   1.114 @@ -282,7 +282,7 @@
   1.115  		if !match {
   1.116  			t.Errorf("Expected field `%s` to be `%v`, got `%v` from %T", field, expected, got, store)
   1.117  		}
   1.118 -		retrieved, err = store.GetProfileByID(profile2.ID)
   1.119 +		retrieved, err = store.getProfileByID(profile2.ID)
   1.120  		if err != nil {
   1.121  			t.Errorf("Error getting profile from %T: %s", store, err)
   1.122  		}
   1.123 @@ -290,7 +290,7 @@
   1.124  		if !match {
   1.125  			t.Errorf("Expected field `%s` to be `%v`, got `%v` from %T", field, expected, got, store)
   1.126  		}
   1.127 -		retrieved, err = store.GetProfileByID(profile3.ID)
   1.128 +		retrieved, err = store.getProfileByID(profile3.ID)
   1.129  		if err != nil {
   1.130  			t.Errorf("Error getting profile from %T: %s", store, err)
   1.131  		}
   1.132 @@ -311,15 +311,15 @@
   1.133  		LastUsed:  time.Now().Add(-1 * time.Minute),
   1.134  	}
   1.135  	for _, store := range profileStores {
   1.136 -		err := store.AddLogin(login)
   1.137 +		err := store.addLogin(login)
   1.138  		if err != nil {
   1.139  			t.Errorf("Error adding login to %T: %s", store, err)
   1.140  		}
   1.141 -		err = store.AddLogin(login)
   1.142 +		err = store.addLogin(login)
   1.143  		if err != ErrLoginAlreadyExists {
   1.144  			t.Errorf("Expected ErrLoginAlreadyExists from %T, got %+v", store, err)
   1.145  		}
   1.146 -		retrieved, err := store.ListLogins(login.ProfileID, 10, 0)
   1.147 +		retrieved, err := store.listLogins(login.ProfileID, 10, 0)
   1.148  		if err != nil {
   1.149  			t.Errorf("Error retrieving logins from %T: %s", store, err)
   1.150  		}
   1.151 @@ -331,12 +331,12 @@
   1.152  			t.Errorf("Expected `%v` in the `%s` field of login retrieved from %T, got `%v`", expectation, field, store, result)
   1.153  		}
   1.154  		lastUsed := time.Now()
   1.155 -		err = store.RecordLoginUse(login.Type, login.Value, lastUsed)
   1.156 +		err = store.recordLoginUse(login.Type, login.Value, lastUsed)
   1.157  		if err != nil {
   1.158  			t.Errorf("Error recording use of login to %T: %s", store, err)
   1.159  		}
   1.160  		login.LastUsed = lastUsed
   1.161 -		retrieved, err = store.ListLogins(login.ProfileID, 10, 0)
   1.162 +		retrieved, err = store.listLogins(login.ProfileID, 10, 0)
   1.163  		if err != nil {
   1.164  			t.Errorf("Error retrieving logins from %T: %s", store, err)
   1.165  		}
   1.166 @@ -347,15 +347,15 @@
   1.167  		if !match {
   1.168  			t.Errorf("Expected `%v` in the `%s` field of login retrieved from %T, got `%v`", expectation, field, store, result)
   1.169  		}
   1.170 -		err = store.RemoveLogin(login.Type, login.Value, login.ProfileID)
   1.171 +		err = store.removeLogin(login.Type, login.Value, login.ProfileID)
   1.172  		if err != nil {
   1.173  			t.Errorf("Error removing login from %T: %s", store, err)
   1.174  		}
   1.175 -		retrieved, err = store.ListLogins(login.ProfileID, 10, 0)
   1.176 +		retrieved, err = store.listLogins(login.ProfileID, 10, 0)
   1.177  		if len(retrieved) != 0 {
   1.178  			t.Errorf("Expected 0 login results from %T, got %d: %+v", store, len(retrieved), retrieved)
   1.179  		}
   1.180 -		err = store.RemoveLogin(login.Type, login.Value, login.ProfileID)
   1.181 +		err = store.removeLogin(login.Type, login.Value, login.ProfileID)
   1.182  		if err != ErrLoginNotFound {
   1.183  			t.Errorf("Expected ErrLoginNotFound from %T, got %+v", store, err)
   1.184  		}
   1.185 @@ -386,15 +386,15 @@
   1.186  		LastUsed:  time.Now().Add(-1 * time.Minute),
   1.187  	}
   1.188  	for _, store := range profileStores {
   1.189 -		err := store.SaveProfile(profile)
   1.190 +		err := store.saveProfile(profile)
   1.191  		if err != nil {
   1.192  			t.Errorf("Error saving profile in %T: %s", store, err)
   1.193  		}
   1.194 -		err = store.AddLogin(login)
   1.195 +		err = store.addLogin(login)
   1.196  		if err != nil {
   1.197  			t.Errorf("Error storing login in %T: %s", store, err)
   1.198  		}
   1.199 -		retrieved, err := store.GetProfileByLogin(login.Type, login.Value)
   1.200 +		retrieved, err := store.getProfileByLogin(login.Type, login.Value)
   1.201  		if err != nil {
   1.202  			t.Errorf("Error retrieving profile by login from %T: %s", store, err)
   1.203  		}