API filter tests (#958)
* API filter tests. Requires that PR https://github.com/hashicorp/boundary/pull/957 is merged and tagged first. * Updating /api dependency.
This commit is contained in:
1 parent
1906a7311b
commit
909026ed3d
11 files changed
+72
-1
No files matched your search
@@ -15,7 +15,7 @@ require (
|
||||
github.com/golang/protobuf v1.4.3
|
||||
github.com/google/go-cmp v0.5.4
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.2.0
|
||||
github.com/hashicorp/boundary/api v0.0.5
|
||||
github.com/hashicorp/boundary/api v0.0.6
|
||||
github.com/hashicorp/boundary/sdk v0.0.3
|
||||
github.com/hashicorp/dbassert v0.0.0-20200930125617-6218396928df
|
||||
github.com/hashicorp/errwrap v1.1.0
|
||||
|
||||
@@ -57,6 +57,13 @@ func TestList(t *testing.T) {
|
||||
ulResult, err = accountClient.List(tc.Context(), am.Id)
|
||||
require.NoError(err)
|
||||
assert.ElementsMatch(comparableSlice(expected), comparableSlice(ulResult.Items))
|
||||
|
||||
filterItem := expected[3]
|
||||
ulResult, err = accountClient.List(tc.Context(), am.Id,
|
||||
accounts.WithFilter(fmt.Sprintf(`"/item/attributes/login_name"==%q`, filterItem.Attributes["login_name"])))
|
||||
require.NoError(err)
|
||||
assert.Len(ulResult.Items, 1)
|
||||
assert.Equal(filterItem.Id, ulResult.Items[0].Id)
|
||||
}
|
||||
|
||||
func comparableSlice(in []*accounts.Account) []accounts.Account {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package authtokens_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"sort"
|
||||
"testing"
|
||||
@@ -74,6 +75,13 @@ func TestList(t *testing.T) {
|
||||
atl, err = tokens.List(tc.Context(), org.GetPublicId())
|
||||
require.NoError(err)
|
||||
assert.ElementsMatch(comparableSlice(expected), comparableSlice(atl.Items))
|
||||
|
||||
filterItem := atl.Items[3]
|
||||
atl, err = tokens.List(tc.Context(), org.GetPublicId(),
|
||||
authtokens.WithFilter(fmt.Sprintf(`"/item/id"==%q`, filterItem.Id)))
|
||||
require.NoError(err)
|
||||
assert.Len(atl.Items, 1)
|
||||
assert.Equal(filterItem.Id, atl.Items[0].Id)
|
||||
}
|
||||
|
||||
func comparableResource(i *authtokens.AuthToken) authtokens.AuthToken {
|
||||
|
||||
@@ -56,6 +56,13 @@ func TestList(t *testing.T) {
|
||||
require.NotNil(pl)
|
||||
require.Len(pl.Items, 10)
|
||||
assert.ElementsMatch(comparableSlice(expected), comparableSlice(pl.Items))
|
||||
|
||||
filterItem := pl.Items[3]
|
||||
pl, err = grps.List(tc.Context(), tt.scopeId,
|
||||
groups.WithFilter(fmt.Sprintf(`"/item/id"==%q`, filterItem.Id)))
|
||||
require.NoError(err)
|
||||
assert.Len(pl.Items, 1)
|
||||
assert.Equal(filterItem.Id, pl.Items[0].Id)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,6 +50,13 @@ func TestList(t *testing.T) {
|
||||
ul, err = catalogClient.List(tc.Context(), proj.GetPublicId())
|
||||
require.NoError(err)
|
||||
assert.ElementsMatch(comparableCatalogSlice(expected), comparableCatalogSlice(ul.Items))
|
||||
|
||||
filterItem := ul.Items[3]
|
||||
ul, err = catalogClient.List(tc.Context(), proj.GetPublicId(),
|
||||
hostcatalogs.WithFilter(fmt.Sprintf(`"/item/id"==%q`, filterItem.Id)))
|
||||
require.NoError(err)
|
||||
assert.Len(ul.Items, 1)
|
||||
assert.Equal(filterItem.Id, ul.Items[0].Id)
|
||||
}
|
||||
|
||||
func comparableCatalogSlice(in []*hostcatalogs.HostCatalog) []hostcatalogs.HostCatalog {
|
||||
|
||||
@@ -56,6 +56,13 @@ func TestList(t *testing.T) {
|
||||
ul, err = hClient.List(tc.Context(), hc.Item.Id)
|
||||
require.NoError(err)
|
||||
assert.ElementsMatch(comparableHostSlice(expected), comparableHostSlice(ul.Items))
|
||||
|
||||
filterItem := ul.Items[3]
|
||||
ul, err = hClient.List(tc.Context(), hc.Item.Id,
|
||||
hosts.WithFilter(fmt.Sprintf(`"/item/id"==%q`, filterItem.Id)))
|
||||
require.NoError(err)
|
||||
assert.Len(ul.Items, 1)
|
||||
assert.Equal(filterItem.Id, ul.Items[0].Id)
|
||||
}
|
||||
|
||||
func comparableHostSlice(in []*hosts.Host) []hosts.Host {
|
||||
|
||||
@@ -93,6 +93,13 @@ func TestList(t *testing.T) {
|
||||
ul, err = hClient.List(tc.Context(), hc.Item.Id)
|
||||
require.NoError(err)
|
||||
assert.ElementsMatch(comparableSetSlice(expected), comparableSetSlice(ul.Items))
|
||||
|
||||
filterItem := ul.Items[3]
|
||||
ul, err = hClient.List(tc.Context(), hc.Item.Id,
|
||||
hostsets.WithFilter(fmt.Sprintf(`"/item/id"==%q`, filterItem.Id)))
|
||||
require.NoError(err)
|
||||
assert.Len(ul.Items, 1)
|
||||
assert.Equal(filterItem.Id, ul.Items[0].Id)
|
||||
}
|
||||
|
||||
func comparableSetSlice(in []*hostsets.HostSet) []hostsets.HostSet {
|
||||
|
||||
@@ -172,6 +172,13 @@ func TestList(t *testing.T) {
|
||||
p3, err := roleClient.List(tc.Context(), tt.scopeId)
|
||||
require.NoError(err)
|
||||
assert.ElementsMatch(comparableSlice(expected), comparableSlice(p3.Items))
|
||||
|
||||
filterItem := p3.Items[3]
|
||||
p3, err = roleClient.List(tc.Context(), tt.scopeId,
|
||||
roles.WithFilter(fmt.Sprintf(`"/item/id"==%q`, filterItem.Id)))
|
||||
require.NoError(err)
|
||||
assert.Len(p3.Items, 1)
|
||||
assert.Equal(filterItem.Id, p3.Items[0].Id)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,6 +38,13 @@ func TestList(t *testing.T) {
|
||||
pl, err = scps.List(tc.Context(), org.GetPublicId())
|
||||
require.NoError(err)
|
||||
assert.ElementsMatch(comparableSlice(expected), comparableSlice(pl.Items))
|
||||
|
||||
filterItem := pl.Items[3]
|
||||
pl, err = scps.List(tc.Context(), org.GetPublicId(),
|
||||
scopes.WithFilter(fmt.Sprintf(`"/item/id"==%q`, filterItem.Id)))
|
||||
require.NoError(err)
|
||||
assert.Len(pl.Items, 1)
|
||||
assert.Equal(filterItem.Id, pl.Items[0].Id)
|
||||
}
|
||||
|
||||
func comparableSlice(in []*scopes.Scope) []scopes.Scope {
|
||||
|
||||
@@ -95,6 +95,13 @@ func TestList(t *testing.T) {
|
||||
ul, err = tarClient.List(tc.Context(), proj.GetPublicId())
|
||||
require.NoError(err)
|
||||
assert.ElementsMatch(comparableSlice(expected), comparableSlice(ul.Items))
|
||||
|
||||
filterItem := ul.Items[3]
|
||||
ul, err = tarClient.List(tc.Context(), proj.GetPublicId(),
|
||||
targets.WithFilter(fmt.Sprintf(`"/item/id"==%q`, filterItem.Id)))
|
||||
require.NoError(err)
|
||||
assert.Len(ul.Items, 1)
|
||||
assert.Equal(filterItem.Id, ul.Items[0].Id)
|
||||
}
|
||||
|
||||
func comparableSlice(in []*targets.Target) []targets.Target {
|
||||
|
||||
@@ -90,6 +90,13 @@ func TestList(t *testing.T) {
|
||||
ul, err = userClient.List(tc.Context(), org.GetPublicId())
|
||||
require.NoError(err)
|
||||
assert.ElementsMatch(comparableSlice(expected), comparableSlice(ul.Items))
|
||||
|
||||
filterItem := ul.Items[3]
|
||||
ul, err = userClient.List(tc.Context(), org.GetPublicId(),
|
||||
users.WithFilter(fmt.Sprintf(`"/item/id"==%q`, filterItem.Id)))
|
||||
require.NoError(err)
|
||||
assert.Len(ul.Items, 1)
|
||||
assert.Equal(filterItem.Id, ul.Items[0].Id)
|
||||
}
|
||||
|
||||
func comparableSlice(in []*users.User) []users.User {
|
||||
|
||||
Reference in new issue
Block a user