mirror of https://github.com/coder/coder.git
39 lines
960 B
Go
39 lines
960 B
Go
package coderd
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/coder/coder/codersdk"
|
|
)
|
|
|
|
func TestEntitlements(t *testing.T) {
|
|
t.Parallel()
|
|
t.Run("GET", func(t *testing.T) {
|
|
t.Parallel()
|
|
r := httptest.NewRequest("GET", "https://example.com/api/v2/entitlements", nil)
|
|
rw := httptest.NewRecorder()
|
|
entitlements(rw, r)
|
|
resp := rw.Result()
|
|
defer resp.Body.Close()
|
|
assert.Equal(t, http.StatusOK, resp.StatusCode)
|
|
dec := json.NewDecoder(resp.Body)
|
|
var result codersdk.Entitlements
|
|
err := dec.Decode(&result)
|
|
require.NoError(t, err)
|
|
assert.False(t, result.HasLicense)
|
|
assert.Empty(t, result.Warnings)
|
|
for _, f := range codersdk.FeatureNames {
|
|
require.Contains(t, result.Features, f)
|
|
fe := result.Features[f]
|
|
assert.False(t, fe.Enabled)
|
|
assert.Equal(t, codersdk.EntitlementNotEntitled, fe.Entitlement)
|
|
}
|
|
})
|
|
}
|