@@ -29,8 +29,7 @@ import (
|
||||
func TestDatum_Create(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -103,7 +102,7 @@ func TestDatum_Create(t *testing.T) {
|
||||
|
||||
input := map[string]any{
|
||||
"organizationId": owner.GetOrganizationID().String(),
|
||||
"ownerId": profileID.String(),
|
||||
"ownerId": profileID,
|
||||
}
|
||||
for k, v := range tt.input {
|
||||
input[k] = v
|
||||
@@ -140,8 +139,7 @@ func TestDatum_Create(t *testing.T) {
|
||||
func TestDatum_Create_Validation(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -277,8 +275,7 @@ func TestDatum_Create_Validation(t *testing.T) {
|
||||
func TestDatum_Update(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -290,7 +287,7 @@ func TestDatum_Update(t *testing.T) {
|
||||
{
|
||||
name: "update name",
|
||||
setup: func() string {
|
||||
return factory.NewDatum(owner, profileID.String()).
|
||||
return factory.NewDatum(owner, profileID).
|
||||
WithName("Datum to Update").
|
||||
Create()
|
||||
},
|
||||
@@ -306,7 +303,7 @@ func TestDatum_Update(t *testing.T) {
|
||||
{
|
||||
name: "update to PUBLIC classification",
|
||||
setup: func() string {
|
||||
return factory.NewDatum(owner, profileID.String()).
|
||||
return factory.NewDatum(owner, profileID).
|
||||
WithName("Classification Test").
|
||||
WithDataClassification("INTERNAL").
|
||||
Create()
|
||||
@@ -320,7 +317,7 @@ func TestDatum_Update(t *testing.T) {
|
||||
{
|
||||
name: "update to SECRET classification",
|
||||
setup: func() string {
|
||||
return factory.NewDatum(owner, profileID.String()).
|
||||
return factory.NewDatum(owner, profileID).
|
||||
WithName("Classification Test").
|
||||
Create()
|
||||
},
|
||||
@@ -375,9 +372,8 @@ func TestDatum_Update(t *testing.T) {
|
||||
func TestDatum_Update_Validation(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
baseDatumID := factory.NewDatum(owner, profileID.String()).WithName("Validation Test Datum").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
baseDatumID := factory.NewDatum(owner, profileID).WithName("Validation Test Datum").Create()
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -491,11 +487,10 @@ func TestDatum_Update_Validation(t *testing.T) {
|
||||
func TestDatum_Delete(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
t.Run("delete existing datum", func(t *testing.T) {
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("Datum to Delete").Create()
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("Datum to Delete").Create()
|
||||
|
||||
query := `
|
||||
mutation DeleteDatum($input: DeleteDatumInput!) {
|
||||
@@ -557,12 +552,11 @@ func TestDatum_Delete_Validation(t *testing.T) {
|
||||
func TestDatum_List(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
datumNames := []string{"Datum A", "Datum B", "Datum C"}
|
||||
for _, name := range datumNames {
|
||||
factory.NewDatum(owner, profileID.String()).WithName(name).Create()
|
||||
factory.NewDatum(owner, profileID).WithName(name).Create()
|
||||
}
|
||||
|
||||
query := `
|
||||
@@ -630,8 +624,7 @@ func TestDatum_Query(t *testing.T) {
|
||||
func TestDatum_Timestamps(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
t.Run("createdAt and updatedAt are set on create", func(t *testing.T) {
|
||||
beforeCreate := time.Now().Add(-time.Second)
|
||||
@@ -665,7 +658,7 @@ func TestDatum_Timestamps(t *testing.T) {
|
||||
err := owner.Execute(query, map[string]any{
|
||||
"input": map[string]any{
|
||||
"organizationId": owner.GetOrganizationID().String(),
|
||||
"ownerId": profileID.String(),
|
||||
"ownerId": profileID,
|
||||
"name": "Timestamp Test Datum",
|
||||
"dataClassification": "INTERNAL",
|
||||
},
|
||||
@@ -677,7 +670,7 @@ func TestDatum_Timestamps(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("updatedAt changes on update", func(t *testing.T) {
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("Timestamp Update Test").Create()
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("Timestamp Update Test").Create()
|
||||
|
||||
getQuery := `
|
||||
query($id: ID!) {
|
||||
@@ -741,9 +734,8 @@ func TestDatum_Timestamps(t *testing.T) {
|
||||
func TestDatum_SubResolvers(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("SubResolver Test Datum").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("SubResolver Test Datum").Create()
|
||||
|
||||
t.Run("owner sub-resolver", func(t *testing.T) {
|
||||
query := `
|
||||
@@ -772,7 +764,7 @@ func TestDatum_SubResolvers(t *testing.T) {
|
||||
|
||||
err := owner.Execute(query, map[string]any{"id": datumID}, &result)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, profileID.String(), result.Node.Owner.ID)
|
||||
assert.Equal(t, profileID, result.Node.Owner.ID)
|
||||
})
|
||||
|
||||
t.Run("organization sub-resolver", func(t *testing.T) {
|
||||
@@ -813,8 +805,7 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("create", func(t *testing.T) {
|
||||
t.Run("owner can create", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
_, err := owner.Do(`
|
||||
mutation CreateDatum($input: CreateDatumInput!) {
|
||||
@@ -825,7 +816,7 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
`, map[string]any{
|
||||
"input": map[string]any{
|
||||
"organizationId": owner.GetOrganizationID().String(),
|
||||
"ownerId": profileID.String(),
|
||||
"ownerId": profileID,
|
||||
"name": "RBAC Test Datum",
|
||||
"dataClassification": "INTERNAL",
|
||||
},
|
||||
@@ -836,8 +827,7 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("admin can create", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
admin := testutil.NewClientInOrg(t, testutil.RoleAdmin, owner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
_, err := admin.Do(`
|
||||
mutation CreateDatum($input: CreateDatumInput!) {
|
||||
@@ -848,7 +838,7 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
`, map[string]any{
|
||||
"input": map[string]any{
|
||||
"organizationId": admin.GetOrganizationID().String(),
|
||||
"ownerId": profileID.String(),
|
||||
"ownerId": profileID,
|
||||
"name": "RBAC Test Datum",
|
||||
"dataClassification": "INTERNAL",
|
||||
},
|
||||
@@ -859,8 +849,7 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("viewer cannot create", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
viewer := testutil.NewClientInOrg(t, testutil.RoleViewer, owner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
_, err := viewer.Do(`
|
||||
mutation CreateDatum($input: CreateDatumInput!) {
|
||||
@@ -871,7 +860,7 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
`, map[string]any{
|
||||
"input": map[string]any{
|
||||
"organizationId": viewer.GetOrganizationID().String(),
|
||||
"ownerId": profileID.String(),
|
||||
"ownerId": profileID,
|
||||
"name": "RBAC Test Datum",
|
||||
"dataClassification": "INTERNAL",
|
||||
},
|
||||
@@ -883,9 +872,8 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("update", func(t *testing.T) {
|
||||
t.Run("owner can update", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("RBAC Update Test").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("RBAC Update Test").Create()
|
||||
|
||||
_, err := owner.Do(`
|
||||
mutation UpdateDatum($input: UpdateDatumInput!) {
|
||||
@@ -905,9 +893,8 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("admin can update", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
admin := testutil.NewClientInOrg(t, testutil.RoleAdmin, owner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("RBAC Update Test").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("RBAC Update Test").Create()
|
||||
|
||||
_, err := admin.Do(`
|
||||
mutation UpdateDatum($input: UpdateDatumInput!) {
|
||||
@@ -927,9 +914,8 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("viewer cannot update", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
viewer := testutil.NewClientInOrg(t, testutil.RoleViewer, owner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("RBAC Update Test").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("RBAC Update Test").Create()
|
||||
|
||||
_, err := viewer.Do(`
|
||||
mutation UpdateDatum($input: UpdateDatumInput!) {
|
||||
@@ -950,9 +936,8 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("delete", func(t *testing.T) {
|
||||
t.Run("owner can delete", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("RBAC Delete Test").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("RBAC Delete Test").Create()
|
||||
|
||||
_, err := owner.Do(`
|
||||
mutation DeleteDatum($input: DeleteDatumInput!) {
|
||||
@@ -969,9 +954,8 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("admin can delete", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
admin := testutil.NewClientInOrg(t, testutil.RoleAdmin, owner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("RBAC Delete Test").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("RBAC Delete Test").Create()
|
||||
|
||||
_, err := admin.Do(`
|
||||
mutation DeleteDatum($input: DeleteDatumInput!) {
|
||||
@@ -988,9 +972,8 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("viewer cannot delete", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
viewer := testutil.NewClientInOrg(t, testutil.RoleViewer, owner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("RBAC Delete Test").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("RBAC Delete Test").Create()
|
||||
|
||||
_, err := viewer.Do(`
|
||||
mutation DeleteDatum($input: DeleteDatumInput!) {
|
||||
@@ -1008,9 +991,8 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("read", func(t *testing.T) {
|
||||
t.Run("owner can read", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("RBAC Read Test").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("RBAC Read Test").Create()
|
||||
|
||||
var result struct {
|
||||
Node *struct {
|
||||
@@ -1033,9 +1015,8 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("admin can read", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
admin := testutil.NewClientInOrg(t, testutil.RoleAdmin, owner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("RBAC Read Test").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("RBAC Read Test").Create()
|
||||
|
||||
var result struct {
|
||||
Node *struct {
|
||||
@@ -1058,9 +1039,8 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
t.Run("viewer can read", func(t *testing.T) {
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
viewer := testutil.NewClientInOrg(t, testutil.RoleViewer, owner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("RBAC Read Test").Create()
|
||||
profileID := factory.CreateUser(owner)
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("RBAC Read Test").Create()
|
||||
|
||||
var result struct {
|
||||
Node *struct {
|
||||
@@ -1085,8 +1065,7 @@ func TestDatum_RBAC(t *testing.T) {
|
||||
func TestDatum_MaxLength_Validation(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
longName := strings.Repeat("a", 1001)
|
||||
|
||||
@@ -1104,7 +1083,7 @@ func TestDatum_MaxLength_Validation(t *testing.T) {
|
||||
_, err := owner.Do(query, map[string]any{
|
||||
"input": map[string]any{
|
||||
"organizationId": owner.GetOrganizationID().String(),
|
||||
"ownerId": profileID.String(),
|
||||
"ownerId": profileID,
|
||||
"name": longName,
|
||||
"dataClassification": "INTERNAL",
|
||||
},
|
||||
@@ -1114,7 +1093,7 @@ func TestDatum_MaxLength_Validation(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("update", func(t *testing.T) {
|
||||
datumID := factory.NewDatum(owner, profileID.String()).WithName("Max Length Test").Create()
|
||||
datumID := factory.NewDatum(owner, profileID).WithName("Max Length Test").Create()
|
||||
|
||||
query := `
|
||||
mutation UpdateDatum($input: UpdateDatumInput!) {
|
||||
@@ -1138,11 +1117,10 @@ func TestDatum_MaxLength_Validation(t *testing.T) {
|
||||
func TestDatum_Pagination(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
for i := 0; i < 5; i++ {
|
||||
factory.NewDatum(owner, profileID.String()).
|
||||
factory.NewDatum(owner, profileID).
|
||||
WithName(fmt.Sprintf("Pagination Datum %d", i)).
|
||||
Create()
|
||||
}
|
||||
@@ -1288,9 +1266,8 @@ func TestDatum_TenantIsolation(t *testing.T) {
|
||||
org1Owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
org2Owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, org1Owner).GetProfileID()
|
||||
datumID := factory.NewDatum(org1Owner, profileID.String()).WithName("Org1 Datum").Create()
|
||||
profileID := factory.CreateUser(org1Owner)
|
||||
datumID := factory.NewDatum(org1Owner, profileID).WithName("Org1 Datum").Create()
|
||||
|
||||
t.Run("cannot read datum from another organization", func(t *testing.T) {
|
||||
query := `
|
||||
@@ -1396,11 +1373,10 @@ func TestDatum_TenantIsolation(t *testing.T) {
|
||||
func TestDatum_Ordering(t *testing.T) {
|
||||
t.Parallel()
|
||||
owner := testutil.NewClient(t, testutil.RoleOwner)
|
||||
// TODO: right now we need to invite and accept invite to get new profile.
|
||||
profileID := testutil.NewClientInOrg(t, testutil.RoleViewer, owner).GetProfileID()
|
||||
profileID := factory.CreateUser(owner)
|
||||
|
||||
factory.NewDatum(owner, profileID.String()).WithName("AAA Order Test").Create()
|
||||
factory.NewDatum(owner, profileID.String()).WithName("ZZZ Order Test").Create()
|
||||
factory.NewDatum(owner, profileID).WithName("AAA Order Test").Create()
|
||||
factory.NewDatum(owner, profileID).WithName("ZZZ Order Test").Create()
|
||||
|
||||
t.Run("order by created_at descending", func(t *testing.T) {
|
||||
query := `
|
||||
|
||||
Reference in New Issue
Block a user