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:
Todd Knight authored and GitHub committed 2021-02-22 14:37:14 -07:00
1 parent 1906a7311b
commit 909026ed3d
11 files changed
+72 -1

No files matched your search

+1 -1
View File
@@ -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 {
+7
View File
@@ -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 {
+7
View File
@@ -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 {
+7
View File
@@ -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)
})
}
}
+7
View File
@@ -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 {
+7
View File
@@ -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 {