mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
AGPL Entitlements API (#3523)
* AGPL Entitlements API Signed-off-by: Spike Curtis <spike@coder.com> * Generate typesGenerated.ts Signed-off-by: Spike Curtis <spike@coder.com> * AllFeatures -> FeatureNames Signed-off-by: Spike Curtis <spike@coder.com> Signed-off-by: Spike Curtis <spike@coder.com>
This commit is contained in:
36
coderd/features_internal_test.go
Normal file
36
coderd/features_internal_test.go
Normal file
@ -0,0 +1,36 @@
|
||||
package coderd
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/coder/coder/codersdk"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
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()
|
||||
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)
|
||||
}
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user