diff --git a/keepasshttp/keepasshttp.go b/keepasshttp/keepasshttp.go index dbb2f69..c5b270f 100644 --- a/keepasshttp/keepasshttp.go +++ b/keepasshttp/keepasshttp.go @@ -1,4 +1,4 @@ -// Package keepasshttp provide tools to see and manipulate KeePass credentials through keePassHTTP plugin. +// Package keepasshttp provide tools to see and manipulate KeePass credentials through KeePassHTTP plugin. package keepasshttp import ( @@ -26,7 +26,7 @@ type Credential struct { Uuid string StringFields map[string]string - kph *keePassHTTP + kph *KeePassHTTP } // Commit update an existing entry in KeePass database. @@ -34,7 +34,7 @@ type Credential struct { func (credential *Credential) Commit() error { if credential.kph == nil { return fmt.Errorf( - "credential is not bound to a keePassHTTP instance, use `kph.update(credential)` instead") + "credential is not bound to a KeePassHTTP instance, use `kph.update(credential)` instead") } return credential.kph.Update(credential) } @@ -47,9 +47,9 @@ type Filter struct { Realm string } -// keePassHTTP is a class to manipulate KeePass credentials using keePassHTTP protocol. -type keePassHTTP struct { - // Url is the listening keePassHTTP's server address. +// KeePassHTTP is a class to manipulate KeePass credentials using KeePassHTTP protocol. +type KeePassHTTP struct { + // Url is the listening KeePassHTTP's server address. Url string // Storage is the file path to store private association key (default to "~/.python_keepass_http"). Storage string @@ -69,9 +69,9 @@ type httpClient interface { Do(req *http.Request) (*http.Response, error) } -// New creates a keePassHTTP instance with default values -func New() *keePassHTTP { - kph := new(keePassHTTP) +// New creates a KeePassHTTP instance with default values +func New() *KeePassHTTP { + kph := new(KeePassHTTP) // replace mock fields kph.httpClient = &http.Client{Timeout: time.Second * 30} @@ -82,7 +82,7 @@ func New() *keePassHTTP { // List all entries that look like an url. // Passwords are omitted. -func (kph *keePassHTTP) List() (credentials []*Credential, err error) { +func (kph *KeePassHTTP) List() (credentials []*Credential, err error) { result, err := kph.request(&body{ RequestType: "get-all-logins", }) @@ -94,7 +94,7 @@ func (kph *keePassHTTP) List() (credentials []*Credential, err error) { // Count entries for a given `Filter`. // Filtering is done the same as `Search` method. -func (kph *keePassHTTP) Count(filter *Filter) (credentialsCount int, err error) { +func (kph *KeePassHTTP) Count(filter *Filter) (credentialsCount int, err error) { result, err := kph.request(&body{ RequestType: "get-logins-count", Url: filter.Url, @@ -112,7 +112,7 @@ func (kph *keePassHTTP) Count(filter *Filter) (credentialsCount int, err error) // For every entry, the Levenshtein Distance of his Entry-URL (or Title, if Entry-URL is not set) // to the `Url` is calculated. // Only the entries with the minimal distance are returned. -func (kph *keePassHTTP) Search(filter *Filter) (credentials []*Credential, err error) { +func (kph *KeePassHTTP) Search(filter *Filter) (credentials []*Credential, err error) { result, err := kph.request(&body{ RequestType: "get-logins", Url: filter.Url, @@ -129,7 +129,7 @@ func (kph *keePassHTTP) Search(filter *Filter) (credentials []*Credential, err e // For every entry, the Levenshtein Distance of his Entry-URL (or Title, if Entry-URL is not set) // to the ``key`` is calculated. // Only the entry with the minimal distance is returned -func (kph *keePassHTTP) Get(filter *Filter) (credential *Credential, err error) { +func (kph *KeePassHTTP) Get(filter *Filter) (credential *Credential, err error) { credentials, err := kph.Search(filter) if err == nil && len(credentials) > 0 { credential = credentials[0] @@ -138,7 +138,7 @@ func (kph *keePassHTTP) Get(filter *Filter) (credential *Credential, err error) } // Create a new credential into KeePass -func (kph *keePassHTTP) Create(credential *Credential) (err error) { +func (kph *KeePassHTTP) Create(credential *Credential) (err error) { _, err = kph.request(&body{ RequestType: "set-login", Url: credential.Url, @@ -152,7 +152,7 @@ func (kph *keePassHTTP) Create(credential *Credential) (err error) { // Update a credential into KeePass. // KeePass will prompt for validation only when a change is detected. -func (kph *keePassHTTP) Update(credential *Credential) (err error) { +func (kph *KeePassHTTP) Update(credential *Credential) (err error) { if credential.Uuid == "" { return fmt.Errorf("cannot update a credential without its uuid") } @@ -166,7 +166,7 @@ func (kph *keePassHTTP) Update(credential *Credential) (err error) { return } -func (kph *keePassHTTP) mockError(currentError string, err *error) (raiseError bool) { +func (kph *KeePassHTTP) mockError(currentError string, err *error) (raiseError bool) { // used for mocking error that are difficult to trigger or test // it always returns false unless a specific error is manually set to be raised if currentError != kph.mockErrorExpected { @@ -176,7 +176,7 @@ func (kph *keePassHTTP) mockError(currentError string, err *error) (raiseError b return true } -func (kph *keePassHTTP) getCredentials(result *body, credentials *[]*Credential) { +func (kph *KeePassHTTP) getCredentials(result *body, credentials *[]*Credential) { if result == nil { return } @@ -195,7 +195,7 @@ func (kph *keePassHTTP) getCredentials(result *body, credentials *[]*Credential) } } -func (kph *keePassHTTP) setDefaults() (err error) { +func (kph *KeePassHTTP) setDefaults() (err error) { if kph.Storage == "" { var usr *user.User usr, err = user.Current() @@ -210,7 +210,7 @@ func (kph *keePassHTTP) setDefaults() (err error) { return } -func (kph *keePassHTTP) loadCreate() (err error) { +func (kph *KeePassHTTP) loadCreate() (err error) { kph.key, err = kph.randBytes(32) if err != nil { return @@ -239,7 +239,7 @@ func (kph *keePassHTTP) loadCreate() (err error) { return } -func (kph *keePassHTTP) loadOpen() (err error) { +func (kph *KeePassHTTP) loadOpen() (err error) { var fd *os.File fd, err = os.OpenFile(kph.Storage, os.O_RDONLY, 0600) if err != nil || kph.mockError("os.OpenFile", &err) { @@ -279,7 +279,7 @@ func (kph *keePassHTTP) loadOpen() (err error) { return } -func (kph *keePassHTTP) load() (err error) { +func (kph *KeePassHTTP) load() (err error) { err = kph.setDefaults() if err != nil { return @@ -302,7 +302,7 @@ func (kph *keePassHTTP) load() (err error) { return err } -func (kph *keePassHTTP) register() (uid string, dbHash string, err error) { +func (kph *KeePassHTTP) register() (uid string, dbHash string, err error) { data, err := kph.request(&body{ RequestType: "associate", Key: base64.StdEncoding.EncodeToString(kph.key), @@ -319,16 +319,16 @@ func (kph *keePassHTTP) register() (uid string, dbHash string, err error) { return } -func (kph *keePassHTTP) registerValidate(data *body) (err error) { +func (kph *KeePassHTTP) registerValidate(data *body) (err error) { if data.Id == "" { - err = fmt.Errorf("fail to associate with keePassHTTP, no app id returned") + err = fmt.Errorf("fail to associate with KeePassHTTP, no app id returned") } else if data.Hash == "" { - err = fmt.Errorf("fail to associate with keePassHTTP, no app database hash returned") + err = fmt.Errorf("fail to associate with KeePassHTTP, no app database hash returned") } return } -func (kph *keePassHTTP) authenticate() (err error) { +func (kph *KeePassHTTP) authenticate() (err error) { _, err = kph.request(&body{ RequestType: "test-associate", TriggerUnlock: true, @@ -345,7 +345,7 @@ func (kph *keePassHTTP) authenticate() (err error) { return } -func (kph *keePassHTTP) request(requestData *body) (responseData *body, err error) { +func (kph *KeePassHTTP) request(requestData *body) (responseData *body, err error) { if kph.key == nil { err = kph.load() if err != nil { @@ -365,7 +365,7 @@ func (kph *keePassHTTP) request(requestData *body) (responseData *body, err erro return } -func (kph *keePassHTTP) requestPrepare(requestData *body) (jsonRequestData []byte, err error) { +func (kph *KeePassHTTP) requestPrepare(requestData *body) (jsonRequestData []byte, err error) { aes, err := NewAES256CBCPksc7(kph.key, nil) if err != nil { return @@ -385,7 +385,7 @@ func (kph *keePassHTTP) requestPrepare(requestData *body) (jsonRequestData []byt return } -func (kph *keePassHTTP) requestSend(jsonRequestData []byte) (responseData *body, err error) { +func (kph *KeePassHTTP) requestSend(jsonRequestData []byte) (responseData *body, err error) { httpRequest, err := http.NewRequest("POST", kph.Url, bytes.NewBuffer(jsonRequestData)) if err != nil || kph.mockError("http.NewRequest", &err) { return @@ -404,7 +404,7 @@ func (kph *keePassHTTP) requestSend(jsonRequestData []byte) (responseData *body, } if response.StatusCode != 200 { - err = fmt.Errorf("keePassHTTP returned an error (detail: %#v)", responseText) + err = fmt.Errorf("KeePassHTTP returned an error (detail: %#v)", responseText) return } @@ -412,13 +412,13 @@ func (kph *keePassHTTP) requestSend(jsonRequestData []byte) (responseData *body, return } -func (kph *keePassHTTP) responseValidate(responseData *body) (err error) { +func (kph *KeePassHTTP) responseValidate(responseData *body) (err error) { if !responseData.Success { - return fmt.Errorf("keePassHTTP returned an error (detail: %#v)", responseData.Error) + return fmt.Errorf("KeePassHTTP returned an error (detail: %#v)", responseData.Error) } if responseData.Nonce == "" { - return fmt.Errorf("keePassHTTP does not have returned a Nonce") + return fmt.Errorf("KeePassHTTP does not have returned a Nonce") } responseIv, err := base64.StdEncoding.DecodeString(responseData.Nonce) if err != nil { @@ -426,7 +426,7 @@ func (kph *keePassHTTP) responseValidate(responseData *body) (err error) { } if responseData.Verifier == "" { - return fmt.Errorf("keePassHTTP does not have returned a Verifier") + return fmt.Errorf("KeePassHTTP does not have returned a Verifier") } responseVerifier, err := base64.StdEncoding.DecodeString(responseData.Verifier) if err != nil { @@ -449,21 +449,21 @@ func (kph *keePassHTTP) responseValidate(responseData *body) (err error) { **/ if responseData.Nonce != string(signatureIv) { - return fmt.Errorf("keePassHTTP invalid signature") + return fmt.Errorf("KeePassHTTP invalid signature") } if responseData.Id == "" { - return fmt.Errorf("keePassHTTP does not have returned an appId") + return fmt.Errorf("KeePassHTTP does not have returned an appId") } if kph.uid != "" && kph.uid != responseData.Id { - return fmt.Errorf("keePassHTTP application id mismatch") + return fmt.Errorf("KeePassHTTP application id mismatch") } if responseData.Hash == "" { - return fmt.Errorf("keePassHTTP does not have returned a Hash") + return fmt.Errorf("KeePassHTTP does not have returned a Hash") } if kph.dbHash != "" && kph.dbHash != responseData.Hash { - return fmt.Errorf("keePassHTTP database id mismatch") + return fmt.Errorf("KeePassHTTP database id mismatch") } err = kph.decryptBody(aes, responseData) diff --git a/keepasshttp/keepasshttp_test.go b/keepasshttp/keepasshttp_test.go index 318a625..f98691d 100644 --- a/keepasshttp/keepasshttp_test.go +++ b/keepasshttp/keepasshttp_test.go @@ -14,7 +14,7 @@ import ( "testing" ) -func newKeePassHTTP() *keePassHTTP { +func newKeePassHTTP() *KeePassHTTP { storage := filepath.Join("..", "tests", "test_storage") serverUrl := "" @@ -78,7 +78,7 @@ func (c *httpClientMock) Do(req *http.Request) (*http.Response, error) { func TestKeePassHTTP_catchError(t *testing.T) { tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP wantErr bool }{ { @@ -94,7 +94,7 @@ func TestKeePassHTTP_catchError(t *testing.T) { panic(fmt.Errorf("controlled panic")) } if err := panicker(); (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.catchError() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.catchError() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -103,7 +103,7 @@ func TestKeePassHTTP_catchError(t *testing.T) { func TestKeePassHTTP_List(t *testing.T) { tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP wantCredentials []string wantErr bool }{ @@ -117,7 +117,7 @@ func TestKeePassHTTP_List(t *testing.T) { t.Run(tt.name, func(t *testing.T) { gotCredentials, err := tt.self.List() if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.List() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.List() error = %v, wantErr %v", err, tt.wantErr) return } var gotCredentialsUUID []string @@ -125,7 +125,7 @@ func TestKeePassHTTP_List(t *testing.T) { gotCredentialsUUID = append(gotCredentialsUUID, cred.Uuid) } if !reflect.DeepEqual(gotCredentialsUUID, tt.wantCredentials) { - t.Errorf("keePassHTTP.List() = %v, want %v", gotCredentials, tt.wantCredentials) + t.Errorf("KeePassHTTP.List() = %v, want %v", gotCredentials, tt.wantCredentials) } }) } @@ -137,7 +137,7 @@ func TestKeePassHTTP_Count(t *testing.T) { } tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP args args wantCredentialsCount int wantErr bool @@ -153,11 +153,11 @@ func TestKeePassHTTP_Count(t *testing.T) { t.Run(tt.name, func(t *testing.T) { gotCredentialsCount, err := tt.self.Count(tt.args.filter) if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.Count() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.Count() error = %v, wantErr %v", err, tt.wantErr) return } if gotCredentialsCount != tt.wantCredentialsCount { - t.Errorf("keePassHTTP.Count() = %v, want %v", gotCredentialsCount, tt.wantCredentialsCount) + t.Errorf("KeePassHTTP.Count() = %v, want %v", gotCredentialsCount, tt.wantCredentialsCount) } }) } @@ -169,7 +169,7 @@ func TestKeePassHTTP_Search(t *testing.T) { } tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP args args wantCredentials []string wantErr bool @@ -185,7 +185,7 @@ func TestKeePassHTTP_Search(t *testing.T) { t.Run(tt.name, func(t *testing.T) { gotCredentials, err := tt.self.Search(tt.args.filter) if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.Search() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.Search() error = %v, wantErr %v", err, tt.wantErr) return } var gotCredentialsUUID []string @@ -193,7 +193,7 @@ func TestKeePassHTTP_Search(t *testing.T) { gotCredentialsUUID = append(gotCredentialsUUID, cred.Uuid) } if !reflect.DeepEqual(gotCredentialsUUID, tt.wantCredentials) { - t.Errorf("keePassHTTP.Search() = %v, want %v", gotCredentials, tt.wantCredentials) + t.Errorf("KeePassHTTP.Search() = %v, want %v", gotCredentials, tt.wantCredentials) } }) } @@ -205,7 +205,7 @@ func TestKeePassHTTP_Get(t *testing.T) { } tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP args args wantCredential string wantErr bool @@ -221,11 +221,11 @@ func TestKeePassHTTP_Get(t *testing.T) { t.Run(tt.name, func(t *testing.T) { gotCredential, err := tt.self.Get(tt.args.filter) if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.Get() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.Get() error = %v, wantErr %v", err, tt.wantErr) return } if gotCredential == nil || gotCredential.Uuid != tt.wantCredential { - t.Errorf("keePassHTTP.Get() = %v, want %v", gotCredential, tt.wantCredential) + t.Errorf("KeePassHTTP.Get() = %v, want %v", gotCredential, tt.wantCredential) } }) } @@ -268,7 +268,7 @@ func TestKeePassHTTP_Create(t *testing.T) { } tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP args args wantErr bool }{ @@ -285,7 +285,7 @@ func TestKeePassHTTP_Create(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if err := tt.self.Create(tt.args.credential); (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.Create() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.Create() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -297,7 +297,7 @@ func TestKeePassHTTP_Update(t *testing.T) { } tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP args args wantErr bool }{ @@ -325,7 +325,7 @@ func TestKeePassHTTP_Update(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if err := tt.self.Update(tt.args.credential); (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.Update() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.Update() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -334,7 +334,7 @@ func TestKeePassHTTP_Update(t *testing.T) { func TestKeePassHTTP_load(t *testing.T) { tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP freshStorage bool keepRandBytes bool corruptLine int @@ -371,7 +371,7 @@ func TestKeePassHTTP_load(t *testing.T) { }, { name: "should fail when setDefaults fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), mockErrorExpected: "user.Current", }, @@ -379,7 +379,7 @@ func TestKeePassHTTP_load(t *testing.T) { }, { name: "should fail when randBytes fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), mockErrorExpected: "kph.randBytes", randBytes: func(i int) ([]byte, error) { @@ -392,7 +392,7 @@ func TestKeePassHTTP_load(t *testing.T) { }, { name: "should fail when kph.register fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), randBytes: new(aes256CBCPksc7).randBytes, }, @@ -402,7 +402,7 @@ func TestKeePassHTTP_load(t *testing.T) { }, { name: "should fail when kph.registerValidate fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), mockErrorExpected: "kph.registerValidate", }, @@ -411,7 +411,7 @@ func TestKeePassHTTP_load(t *testing.T) { }, { name: "should fail when os.OpenFile(create) fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), mockErrorExpected: "os.OpenFile", }, @@ -420,7 +420,7 @@ func TestKeePassHTTP_load(t *testing.T) { }, { name: "should fail when os.OpenFile(read) fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), randBytes: new(aes256CBCPksc7).randBytes, mockErrorExpected: "os.OpenFile", @@ -430,7 +430,7 @@ func TestKeePassHTTP_load(t *testing.T) { }, { name: "should fail when ioutil.ReadAll fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), randBytes: new(aes256CBCPksc7).randBytes, mockErrorExpected: "ioutil.ReadAll", @@ -440,7 +440,7 @@ func TestKeePassHTTP_load(t *testing.T) { }, { name: "should fail when fd.WriteString fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), randBytes: new(aes256CBCPksc7).randBytes, mockErrorExpected: "fd.WriteString", @@ -487,7 +487,7 @@ func TestKeePassHTTP_load(t *testing.T) { } err := tt.self.load() if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.load() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.load() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -496,16 +496,16 @@ func TestKeePassHTTP_load(t *testing.T) { func TestKeePassHTTP_setDefaults(t *testing.T) { tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP wantErr bool }{ { name: "should set default when nothing is present", - self: &keePassHTTP{httpClient: new(httpClientMock)}, + self: &KeePassHTTP{httpClient: new(httpClientMock)}, }, { name: "should raise an error when no user if found", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), mockErrorExpected: "user.Current", }, @@ -516,7 +516,7 @@ func TestKeePassHTTP_setDefaults(t *testing.T) { t.Run(tt.name, func(t *testing.T) { err := tt.self.setDefaults() if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.setDefaults() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.setDefaults() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -528,19 +528,19 @@ func TestKeePassHTTP_requestSend(t *testing.T) { } tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP args args wantErr bool }{ { name: "should raise an error when server answer with non 200", - self: &keePassHTTP{httpClient: new(httpClientMock), Url: defaultServerUrl}, + self: &KeePassHTTP{httpClient: new(httpClientMock), Url: defaultServerUrl}, args: args{[]byte(`{"RequestType": "associate"}`)}, wantErr: true, }, { name: "should raise an error when http.NewRequest fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), Url: defaultServerUrl, mockErrorExpected: "http.NewRequest", @@ -550,7 +550,7 @@ func TestKeePassHTTP_requestSend(t *testing.T) { }, { name: "should raise an error when kph.httpClient.Do fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), Url: defaultServerUrl, mockErrorExpected: "kph.httpClient.Do", @@ -560,7 +560,7 @@ func TestKeePassHTTP_requestSend(t *testing.T) { }, { name: "should raise an error when ioutil.ReadAll fails", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: new(httpClientMock), Url: defaultServerUrl, mockErrorExpected: "ioutil.ReadAll", @@ -573,7 +573,7 @@ func TestKeePassHTTP_requestSend(t *testing.T) { t.Run(tt.name, func(t *testing.T) { _, err := tt.self.requestSend(tt.args.jsonRequestData) if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.requestSend() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.requestSend() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -585,7 +585,7 @@ func TestKeePassHTTP_registerValidate(t *testing.T) { } tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP args args wantErr bool }{ @@ -611,7 +611,7 @@ func TestKeePassHTTP_registerValidate(t *testing.T) { t.Run(tt.name, func(t *testing.T) { err := tt.self.registerValidate(tt.args.data) if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.registerValidate() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.registerValidate() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -623,7 +623,7 @@ func TestKeePassHTTP_responseValidate(t *testing.T) { } tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP args args wantErr bool }{ @@ -743,7 +743,7 @@ func TestKeePassHTTP_responseValidate(t *testing.T) { err := kph.responseValidate(tt.args.responseData) if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.responseValidate() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.responseValidate() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -752,7 +752,7 @@ func TestKeePassHTTP_responseValidate(t *testing.T) { func TestKeePassHTTP_authenticate(t *testing.T) { tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP key []byte wantErr bool }{ @@ -764,14 +764,14 @@ func TestKeePassHTTP_authenticate(t *testing.T) { }, { name: "should raise an error on unsuccessful load", - self: &keePassHTTP{ + self: &KeePassHTTP{ mockErrorExpected: "user.Current", }, wantErr: true, }, { name: "should raise an error on unsuccessful http request", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: &httpClientMock{}, randBytes: new(aes256CBCPksc7).randBytes, mockErrorExpected: "http.NewRequest", @@ -780,7 +780,7 @@ func TestKeePassHTTP_authenticate(t *testing.T) { }, { name: "should raise an error on body encrypt failure", - self: &keePassHTTP{ + self: &KeePassHTTP{ httpClient: &httpClientMock{}, randBytes: new(aes256CBCPksc7).randBytes, mockErrorExpected: "kph.encryptBody", @@ -795,7 +795,7 @@ func TestKeePassHTTP_authenticate(t *testing.T) { } err := tt.self.authenticate() if (err != nil) != tt.wantErr { - t.Errorf("keePassHTTP.authenticate() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.authenticate() error = %v, wantErr %v", err, tt.wantErr) } }) } @@ -808,7 +808,7 @@ func TestKeePassHTTP_getCredentials(t *testing.T) { } tests := []struct { name string - self *keePassHTTP + self *KeePassHTTP args args wantErr bool }{ diff --git a/keepasshttp/keepasshttpbody.go b/keepasshttp/keepasshttpbody.go index fb0ec08..c07c10b 100644 --- a/keepasshttp/keepasshttpbody.go +++ b/keepasshttp/keepasshttpbody.go @@ -73,12 +73,12 @@ func (aes256 *aes256CBCPksc7) decryptBase64String(cipherText string) (string, er return clearText, nil } -func (kph *keePassHTTP) encryptBody(aes *aes256CBCPksc7, data *body) (err error) { +func (kph *KeePassHTTP) encryptBody(aes *aes256CBCPksc7, data *body) (err error) { err = applyToTag(reflect.ValueOf(data), "encrypted", aes.encryptBase64String) return } -func (kph *keePassHTTP) decryptBody(aes *aes256CBCPksc7, data *body) (err error) { +func (kph *KeePassHTTP) decryptBody(aes *aes256CBCPksc7, data *body) (err error) { err = applyToTag(reflect.ValueOf(data), "encrypted", aes.decryptBase64String) return } diff --git a/keepasshttp/keepasshttpbody_test.go b/keepasshttp/keepasshttpbody_test.go index b687ac5..acfd97f 100644 --- a/keepasshttp/keepasshttpbody_test.go +++ b/keepasshttp/keepasshttpbody_test.go @@ -53,16 +53,16 @@ func TestKeePassHTTP_encryptBody(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - self := new(keePassHTTP) + self := new(KeePassHTTP) err := self.encryptBody(tt.aes, tt.data) if err != nil { if !tt.wantErr { - t.Errorf("keePassHTTP.encryptBody() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.encryptBody() error = %v, wantErr %v", err, tt.wantErr) } return } if !reflect.DeepEqual(tt.data, tt.wantEncryptedData) { - t.Errorf("keePassHTTP.encryptBody() = %v, want %v", tt.data, tt.wantEncryptedData) + t.Errorf("KeePassHTTP.encryptBody() = %v, want %v", tt.data, tt.wantEncryptedData) } }) } @@ -122,16 +122,16 @@ func TestKeePassHTTP_decryptBody(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - self := new(keePassHTTP) + self := new(KeePassHTTP) err := self.decryptBody(tt.aes, tt.data) if err != nil { if !tt.wantErr { - t.Errorf("keePassHTTP.decryptBody() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("KeePassHTTP.decryptBody() error = %v, wantErr %v", err, tt.wantErr) } return } if !reflect.DeepEqual(tt.data, tt.wantEncryptedData) { - t.Errorf("keePassHTTP.decryptBody() = %v, want %v", tt.data, tt.wantEncryptedData) + t.Errorf("KeePassHTTP.decryptBody() = %v, want %v", tt.data, tt.wantEncryptedData) } }) }