blob: 516f9d56e4fc2421e7c6f2556b3094ca1e6f8494 [file] [log] [blame]
package allowed
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
"go.skia.org/infra/go/mockhttpclient"
"go.skia.org/infra/go/testutils"
)
func TestInfraConvert(t *testing.T) {
testutils.SmallTest(t)
infra := []string{
"user:*@google.com",
"user:test@example.com",
"anonymous:anonymous",
"bot:foo",
"service:bar",
"user:",
"user:last@example.org",
}
expected := []string{
"google.com",
"test@example.com",
"last@example.org",
}
assert.Equal(t, expected, infraAuthToAllowFromList(infra))
assert.Equal(t, []string{}, infraAuthToAllowFromList([]string{}))
}
const JSON = `{
"group": {
"members": [
"user:test@example.org",
"user:*@chromium.org"
]
}
}`
func TestWithClientMock(t *testing.T) {
testutils.SmallTest(t)
m := mockhttpclient.NewURLMock()
m.Mock(fmt.Sprintf(GROUP_URL_TEMPLATE, "test"), mockhttpclient.MockGetDialogue([]byte(JSON)))
i, err := NewAllowedFromChromeInfraAuth(m.Client(), "test")
assert.NoError(t, err)
assert.True(t, i.Member("foo@chromium.org"))
assert.True(t, i.Member("test@example.org"))
assert.False(t, i.Member("example.org"))
assert.False(t, i.Member("bar@example.org"))
}