Skip to content

Commit

Permalink
chore: synchronize workspaces
Browse files Browse the repository at this point in the history
  • Loading branch information
aeneasr committed Nov 15, 2023
1 parent 9df6ee8 commit ab29f5c
Show file tree
Hide file tree
Showing 10 changed files with 99 additions and 31 deletions.
2 changes: 1 addition & 1 deletion .docker/Dockerfile-alpine
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM alpine:3.15
FROM alpine:3.18.4

RUN addgroup -S ory; \
adduser -S ory -G ory -D -h /home/ory -s /bin/nologin; \
Expand Down
2 changes: 1 addition & 1 deletion .docker/Dockerfile-build
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.19-alpine3.16 AS builder
FROM golang:1.21-alpine3.18 AS builder

RUN apk -U --no-cache add build-base git gcc bash

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export GO111MODULE := on
export PATH := .bin:${PATH}
export PWD := $(shell pwd)

GOLANGCI_LINT_VERSION = 1.48.0
GOLANGCI_LINT_VERSION = 1.55.2

GO_DEPENDENCIES = github.com/ory/go-acc \
github.com/golang/mock/mockgen \
Expand Down
5 changes: 0 additions & 5 deletions cmd/cloudx/accountexperience/accountexperience_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,9 @@ import (
"testing"

"github.com/stretchr/testify/require"

"github.com/ory/cli/cmd/cloudx/testhelpers"
)

var _, _, _, _, defaultProject, defaultCmd = testhelpers.CreateDefaultAssets()

func TestOpenAXPages(t *testing.T) {

t.Run("is able to open login page", func(t *testing.T) {
var pages = [5]string{"login", "registration", "recovery", "verification", "settings"}
for _, p := range pages {
Expand Down
21 changes: 21 additions & 0 deletions cmd/cloudx/accountexperience/main_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Copyright © 2023 Ory Corp
// SPDX-License-Identifier: Apache-2.0

package accountexperience_test

import (
"testing"

"github.com/ory/cli/cmd/cloudx/testhelpers"
"github.com/ory/x/cmdx"
)

var (
defaultProject, defaultConfig, defaultEmail, defaultPassword string
defaultCmd *cmdx.CommandExecuter
)

func TestMain(m *testing.M) {
defaultConfig, defaultEmail, defaultPassword, _, defaultProject, defaultCmd = testhelpers.CreateDefaultAssets()
testhelpers.RunAgainstStaging(m)
}
21 changes: 21 additions & 0 deletions cmd/cloudx/client/main_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Copyright © 2023 Ory Corp
// SPDX-License-Identifier: Apache-2.0

package client_test

import (
"testing"

"github.com/ory/cli/cmd/cloudx/testhelpers"
"github.com/ory/x/cmdx"
)

var (
defaultProject, defaultConfig, defaultEmail, defaultPassword string
defaultCmd *cmdx.CommandExecuter
)

func TestMain(m *testing.M) {
defaultConfig, defaultEmail, defaultPassword, _, defaultProject, defaultCmd = testhelpers.CreateDefaultAssets()
testhelpers.RunAgainstStaging(m)
}
21 changes: 21 additions & 0 deletions cmd/cloudx/proxy/main_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Copyright © 2023 Ory Corp
// SPDX-License-Identifier: Apache-2.0

package proxy_test

import (
"testing"

"github.com/ory/cli/cmd/cloudx/testhelpers"
"github.com/ory/x/cmdx"
)

var (
defaultProject, defaultConfig, defaultEmail, defaultPassword string
defaultCmd *cmdx.CommandExecuter
)

func TestMain(m *testing.M) {
defaultConfig, defaultEmail, defaultPassword, _, defaultProject, defaultCmd = testhelpers.CreateDefaultAssets()
testhelpers.RunAgainstStaging(m)
}
21 changes: 21 additions & 0 deletions cmd/cloudx/relationtuples/main_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Copyright © 2023 Ory Corp
// SPDX-License-Identifier: Apache-2.0

package relationtuples_test

import (
"testing"

"github.com/ory/cli/cmd/cloudx/testhelpers"
"github.com/ory/x/cmdx"
)

var (
defaultProject, defaultConfig, defaultEmail, defaultPassword string
defaultCmd *cmdx.CommandExecuter
)

func TestMain(m *testing.M) {
defaultConfig, defaultEmail, defaultPassword, _, defaultProject, defaultCmd = testhelpers.CreateDefaultAssets()
testhelpers.RunAgainstStaging(m)
}
2 changes: 1 addition & 1 deletion cmd/cloudx/relationtuples/permissions_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ func TestIsAllowedNoUnauthenticated(t *testing.T) {
cmd := testhelpers.ConfigAwareCmd(configDir)
_, _, err := cmd.Exec(nil,
"is", "allowed", "user", "relation", "namespace", "object",
"--quiet", "--project", project)
"--quiet", "--project", defaultProject)
require.ErrorIsf(t, err, client.ErrNoConfigQuiet, "got error: %v", err)
}
33 changes: 11 additions & 22 deletions cmd/cloudx/relationtuples/relationtuples_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,8 @@ import (
"github.com/ory/cli/cmd/cloudx/client"
"github.com/ory/cli/cmd/cloudx/relationtuples"
"github.com/ory/cli/cmd/cloudx/testhelpers"
"github.com/ory/x/cmdx"
)

var (
project, defaultEmail, defaultPassword string
defaultCmd *cmdx.CommandExecuter
)

func TestMain(m *testing.M) {
_, defaultEmail, defaultPassword, _, project, defaultCmd = testhelpers.CreateDefaultAssets()
testhelpers.RunAgainstStaging(m)
}

func TestNoUnauthenticated(t *testing.T) {
t.Parallel()
cases := []struct {
Expand All @@ -44,7 +33,7 @@ func TestNoUnauthenticated(t *testing.T) {
t.Run("verb="+tc.verb, func(t *testing.T) {
configDir := testhelpers.NewConfigDir(t)
cmd := testhelpers.ConfigAwareCmd(configDir)
args := append([]string{tc.verb, "relationships", "--quiet", "--project", project},
args := append([]string{tc.verb, "relationships", "--quiet", "--project", defaultProject},
tc.extraArgs...)
_, _, err := cmd.Exec(nil, args...)
require.ErrorIsf(t, err, client.ErrNoConfigQuiet, "got error: %v", err)
Expand All @@ -68,7 +57,7 @@ func TestAfterAuthentication(t *testing.T) {
t.Run("verb="+tc.verb, func(t *testing.T) {
t.Parallel()
cmd, r := testhelpers.WithReAuth(t, defaultEmail, defaultPassword)
args := append([]string{tc.verb, "relation-tuples", "--project", project},
args := append([]string{tc.verb, "relation-tuples", "--project", defaultProject},
tc.extraArgs...)
_, stderr, err := cmd.Exec(r, args...)
require.NoError(t, err, stderr)
Expand All @@ -80,7 +69,7 @@ func TestParse(t *testing.T) {
t.Parallel()

in := strings.NewReader("nspace:obj#rel@sub")
out, stderr, err := defaultCmd.Exec(in, "parse", "relation-tuples", "--format=json", "--project", project, "-")
out, stderr, err := defaultCmd.Exec(in, "parse", "relation-tuples", "--format=json", "--project", defaultProject, "-")

require.NoError(t, err, stderr)
assert.JSONEq(t, `{"namespace":"nspace","object":"obj","relation":"rel","subject_id":"sub"}`, out, out)
Expand All @@ -90,7 +79,7 @@ func TestParse(t *testing.T) {
// The tests must be run in a sequence.
func TestCRUD(t *testing.T) {
t.Parallel()
createNamespace(t, project, `{"name": "n", "id": 0}`)
createNamespace(t, defaultProject, `{"name": "n", "id": 0}`)

tuple := func(object string) string {
return fmt.Sprintf(`[{
Expand All @@ -102,19 +91,19 @@ func TestCRUD(t *testing.T) {
}
create := func(t *testing.T, object string) string {
in := strings.NewReader(tuple(object))
stdout, stderr, err := defaultCmd.Exec(in, "create", "relation-tuples", "--format", "json", "--project", project, "-")
stdout, stderr, err := defaultCmd.Exec(in, "create", "relation-tuples", "--format", "json", "--project", defaultProject, "-")
require.NoError(t, err, stderr)
return stdout
}
list := func(t *testing.T) string {
stdout, stderr, err := defaultCmd.Exec(nil, "list", "relation-tuples", "--format", "json", "--project", project)
stdout, stderr, err := defaultCmd.Exec(nil, "list", "relation-tuples", "--format", "json", "--project", defaultProject)
require.NoError(t, err, stderr)
return stdout
}
isAllowed := func(t *testing.T, subject, relation, namespace, object string) string {
stdout, stderr, err := defaultCmd.Exec(nil,
"is", "allowed", subject, relation, namespace, object,
"--project", project, "--format", "json")
"--project", defaultProject, "--format", "json")
require.NoError(t, err, stderr)
return stdout
}
Expand All @@ -132,7 +121,7 @@ func TestCRUD(t *testing.T) {
require.JSONEq(t, `{"allowed":true}`, stdout, stdout)

// 3. delete with --all but without --force
stdout, stderr, err := defaultCmd.Exec(nil, "delete", "relation-tuples", "--format", "json", "--project", project,
stdout, stderr, err := defaultCmd.Exec(nil, "delete", "relation-tuples", "--format", "json", "--project", defaultProject,
"--all")
require.NoError(t, err, stderr)
require.JSONEq(t, tuple("o1"), gjson.Get(stdout, "relation_tuples").Raw, stdout)
Expand All @@ -141,13 +130,13 @@ func TestCRUD(t *testing.T) {
create(t, "o2")

// 5. delete without --all but with --force
_, stderr, err = defaultCmd.Exec(nil, "delete", "relation-tuples", "--format", "json", "--project", project,
_, stderr, err = defaultCmd.Exec(nil, "delete", "relation-tuples", "--format", "json", "--project", defaultProject,
"--force")
require.ErrorIs(t, err, relationtuples.ErrDeleteMissingAllFlag, stderr)
require.Len(t, gjson.Get(list(t), "relation_tuples").Array(), 2, list(t))

// 6. delete one tuple with query and with --force
_, stderr, err = defaultCmd.Exec(nil, "delete", "relation-tuples", "--format", "json", "--project", project,
_, stderr, err = defaultCmd.Exec(nil, "delete", "relation-tuples", "--format", "json", "--project", defaultProject,
"--force", "--object=o2")
require.NoError(t, err, stderr)
require.JSONEq(t, tuple("o1"), gjson.Get(list(t), "relation_tuples").Raw, list(t))
Expand All @@ -156,7 +145,7 @@ func TestCRUD(t *testing.T) {
create(t, "o42")

// 8. delete with --all and with --force
_, stderr, err = defaultCmd.Exec(nil, "delete", "relation-tuples", "--format", "json", "--project", project,
_, stderr, err = defaultCmd.Exec(nil, "delete", "relation-tuples", "--format", "json", "--project", defaultProject,
"--force", "--all")
require.NoError(t, err, stderr)
assert.Len(t, gjson.Get(list(t), "relation_tuples").Array(), 0, list(t))
Expand Down

0 comments on commit ab29f5c

Please sign in to comment.