deprecate/remove LookupByName (#530)
This commit is contained in:
2 files changed
-84
No files matched your search
@@ -26,9 +26,6 @@ const (
|
||||
|
||||
// Reader interface defines lookups/searching for resources
|
||||
type Reader interface {
|
||||
// LookupByName will lookup resource by its friendly name which must be unique
|
||||
LookupByName(ctx context.Context, resource ResourceNamer, opt ...Option) error
|
||||
|
||||
// LookupById will lookup a resource by its primary key id, which must be
|
||||
// unique. The resourceWithIder must implement either ResourcePublicIder or
|
||||
// ResourcePrivateIder interface.
|
||||
@@ -149,11 +146,6 @@ type ResourcePrivateIder interface {
|
||||
GetPrivateId() string
|
||||
}
|
||||
|
||||
// ResourceNamer defines an interface that LookupByName() can use to get the resource's friendly name
|
||||
type ResourceNamer interface {
|
||||
GetName() string
|
||||
}
|
||||
|
||||
type OpType int
|
||||
|
||||
const (
|
||||
@@ -920,26 +912,6 @@ func (w *Db) DoTx(ctx context.Context, retries uint, backOff Backoff, Handler Tx
|
||||
}
|
||||
}
|
||||
|
||||
// LookupByName will lookup resource my its friendly name which must be unique
|
||||
func (rw *Db) LookupByName(ctx context.Context, resource ResourceNamer, opt ...Option) error {
|
||||
if rw.underlying == nil {
|
||||
return errors.New("error underlying db nil for lookup by name")
|
||||
}
|
||||
if reflect.ValueOf(resource).Kind() != reflect.Ptr {
|
||||
return errors.New("error interface parameter must to be a pointer for lookup by name")
|
||||
}
|
||||
if resource.GetName() == "" {
|
||||
return errors.New("error name empty string for lookup by name")
|
||||
}
|
||||
if err := rw.underlying.Where("name = ?", resource.GetName()).First(resource).Error; err != nil {
|
||||
if err == gorm.ErrRecordNotFound {
|
||||
return ErrRecordNotFound
|
||||
}
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// LookupByPublicId will lookup resource by its public_id or private_id, which
|
||||
// must be unique. Options are ignored.
|
||||
func (rw *Db) LookupById(ctx context.Context, resourceWithIder interface{}, opt ...Option) error {
|
||||
|
||||
@@ -784,62 +784,6 @@ func TestDb_Create(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestDb_LookupByName(t *testing.T) {
|
||||
t.Parallel()
|
||||
db, _ := TestSetup(t, "postgres")
|
||||
t.Run("simple", func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
w := Db{underlying: db}
|
||||
id, err := uuid.GenerateUUID()
|
||||
require.NoError(err)
|
||||
user, err := db_test.NewTestUser()
|
||||
require.NoError(err)
|
||||
user.Name = "fn-" + id
|
||||
err = w.Create(context.Background(), user)
|
||||
require.NoError(err)
|
||||
assert.NotEmpty(user.Id)
|
||||
|
||||
foundUser, err := db_test.NewTestUser()
|
||||
require.NoError(err)
|
||||
foundUser.Name = "fn-" + id
|
||||
err = w.LookupByName(context.Background(), foundUser)
|
||||
require.NoError(err)
|
||||
assert.Equal(foundUser.Id, user.Id)
|
||||
})
|
||||
t.Run("tx-nil,", func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
w := Db{}
|
||||
foundUser, err := db_test.NewTestUser()
|
||||
require.NoError(err)
|
||||
foundUser.Name = "fn-name"
|
||||
err = w.LookupByName(context.Background(), foundUser)
|
||||
require.Error(err)
|
||||
assert.Equal("error underlying db nil for lookup by name", err.Error())
|
||||
})
|
||||
t.Run("no-friendly-name-set", func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
w := Db{underlying: db}
|
||||
foundUser, err := db_test.NewTestUser()
|
||||
require.NoError(err)
|
||||
err = w.LookupByName(context.Background(), foundUser)
|
||||
require.Error(err)
|
||||
assert.Equal("error name empty string for lookup by name", err.Error())
|
||||
})
|
||||
t.Run("not-found", func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
w := Db{underlying: db}
|
||||
id, err := uuid.GenerateUUID()
|
||||
require.NoError(err)
|
||||
|
||||
foundUser, err := db_test.NewTestUser()
|
||||
require.NoError(err)
|
||||
foundUser.Name = "fn-" + id
|
||||
err = w.LookupByName(context.Background(), foundUser)
|
||||
require.Error(err)
|
||||
assert.Equal(ErrRecordNotFound, err)
|
||||
})
|
||||
}
|
||||
|
||||
func TestDb_LookupByPublicId(t *testing.T) {
|
||||
t.Parallel()
|
||||
db, _ := TestSetup(t, "postgres")
|
||||
|
||||
Reference in new issue
Block a user