Skip to content

Commit

Permalink
rewriting test to cover error scenario
Browse files Browse the repository at this point in the history
Signed-off-by: Akanksha Gahalot <akankshagahlot0307@gmail.com>
  • Loading branch information
enraiha0307 committed Jun 21, 2023
1 parent 423e43d commit 08cfc6f
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 13 deletions.
4 changes: 1 addition & 3 deletions internal/credential/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ import (
credentials "github.com/oras-project/oras-credentials-go"
)

var CreateNewStore = credentials.NewStore

// NewStore generates a store based on the passed-in config file paths.
func NewStore(configPaths ...string) (credentials.Store, error) {
opts := credentials.StoreOptions{AllowPlaintextPut: true}
Expand All @@ -31,7 +29,7 @@ func NewStore(configPaths ...string) (credentials.Store, error) {

var stores []credentials.Store
for _, config := range configPaths {
store, err := CreateNewStore(config, opts)
store, err := credentials.NewStore(config, opts)
if err != nil {
return nil, err
}
Expand Down
30 changes: 20 additions & 10 deletions internal/credential/store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,37 @@ limitations under the License.
package credential

import (
"fmt"
"os"
"reflect"
"testing"

credentials "github.com/oras-project/oras-credentials-go"
)

func TestNewStoreError(t *testing.T) {
// save current function
oldFunction := CreateNewStore
// restoring changes
defer func() { CreateNewStore = oldFunction }()
CreateNewStore = func(configPath string, opts credentials.StoreOptions) (credentials.Store, error) {
return nil, fmt.Errorf("New Error")
filename := "testfile.txt"
_, err := os.Create(filename)
if err != nil {
t.Errorf("error while creating test file %v", err)
}
defer func() {
err := os.Remove(filename)
if err != nil {
t.Errorf("error while removing test file %v", err)
}
}()

err = os.Chmod(filename, 000)
if err != nil {
t.Errorf("error: cannot change file permissions: %v", err)
}
var config string = "testconfig"

var config string = filename
credStore, err := NewStore(config)

if !reflect.DeepEqual(credStore, nil) {
t.Errorf("Expected NewStore to return nil but actually returned %v ", credStore)
}
if reflect.DeepEqual(err, nil) {
t.Error("Expected Error to be not nil but actually returned nil ")
}

}

0 comments on commit 08cfc6f

Please sign in to comment.