1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
package spiffeid_test
import (
"net/url"
"testing"
"github.com/spiffe/go-spiffe/v2/spiffeid"
"github.com/stretchr/testify/assert"
)
func TestRequireFromPath(t *testing.T) {
assert.NotPanics(t, func() {
id := spiffeid.RequireFromPath(td, "/path")
assert.Equal(t, "spiffe://trustdomain/path", id.String())
})
assert.Panics(t, func() {
spiffeid.RequireFromPath(td, "relative")
})
}
func TestRequireFromPathf(t *testing.T) {
assert.NotPanics(t, func() {
id := spiffeid.RequireFromPathf(td, "/%s", "path")
assert.Equal(t, "spiffe://trustdomain/path", id.String())
})
assert.Panics(t, func() {
spiffeid.RequireFromPathf(td, "%s", "relative")
})
}
func TestRequireFromSegments(t *testing.T) {
assert.NotPanics(t, func() {
id := spiffeid.RequireFromSegments(td, "path")
assert.Equal(t, "spiffe://trustdomain/path", id.String())
})
assert.Panics(t, func() {
spiffeid.RequireFromSegments(td, "/absolute")
})
}
func TestRequireFromString(t *testing.T) {
assert.NotPanics(t, func() {
id := spiffeid.RequireFromString("spiffe://trustdomain/path")
assert.Equal(t, "spiffe://trustdomain/path", id.String())
})
assert.Panics(t, func() {
spiffeid.RequireFromString("")
})
}
func TestRequireFromStringf(t *testing.T) {
assert.NotPanics(t, func() {
id := spiffeid.RequireFromStringf("spiffe://trustdomain/%s", "path")
assert.Equal(t, "spiffe://trustdomain/path", id.String())
})
assert.Panics(t, func() {
spiffeid.RequireFromStringf("%s://trustdomain/path", "sparfe")
})
}
func TestRequireFromURI(t *testing.T) {
assert.NotPanics(t, func() {
id := spiffeid.RequireFromURI(&url.URL{Scheme: "spiffe", Host: "trustdomain", Path: "/path"})
assert.Equal(t, "spiffe://trustdomain/path", id.String())
})
assert.Panics(t, func() {
spiffeid.RequireFromURI(&url.URL{})
})
}
func TestRequireTrustDomainFromString(t *testing.T) {
assert.NotPanics(t, func() {
td := spiffeid.RequireTrustDomainFromString("spiffe://trustdomain/path")
assert.Equal(t, "trustdomain", td.String())
})
assert.Panics(t, func() {
spiffeid.RequireTrustDomainFromString("spiffe://TRUSTDOMAIN/path")
})
}
func TestRequireTrustDomainFromURI(t *testing.T) {
assert.NotPanics(t, func() {
td := spiffeid.RequireTrustDomainFromURI(&url.URL{Scheme: "spiffe", Host: "trustdomain", Path: "/path"})
assert.Equal(t, "trustdomain", td.String())
})
assert.Panics(t, func() {
spiffeid.RequireTrustDomainFromURI(&url.URL{})
})
}
func TestRequireFormatPath(t *testing.T) {
assert.NotPanics(t, func() {
path := spiffeid.RequireFormatPath("/%s", "path")
assert.Equal(t, "/path", path)
})
assert.Panics(t, func() {
spiffeid.RequireFormatPath("%s", "path")
})
}
func TestRequireJoinPathSegments(t *testing.T) {
assert.NotPanics(t, func() {
path := spiffeid.RequireJoinPathSegments("path")
assert.Equal(t, "/path", path)
})
assert.Panics(t, func() {
spiffeid.RequireJoinPathSegments("/absolute")
})
}
|