68 lines
1.5 KiB
Go
68 lines
1.5 KiB
Go
package system
|
|
|
|
import (
|
|
"context"
|
|
"net/http"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/cortezaproject/corteza-server/pkg/actionlog"
|
|
"github.com/cortezaproject/corteza-server/pkg/id"
|
|
"github.com/cortezaproject/corteza-server/store"
|
|
"github.com/cortezaproject/corteza-server/system/service"
|
|
"github.com/cortezaproject/corteza-server/system/types"
|
|
"github.com/cortezaproject/corteza-server/tests/helpers"
|
|
jsonpath "github.com/steinfletcher/apitest-jsonpath"
|
|
)
|
|
|
|
func (h helper) clearActionLog() {
|
|
h.noError(store.TruncateActionlogs(context.Background(), service.DefaultStore))
|
|
}
|
|
|
|
func (h helper) repoMakeActionLog() *actionlog.Action {
|
|
var res = &actionlog.Action{
|
|
ID: id.Next(),
|
|
Timestamp: time.Now(),
|
|
ActorID: id.Next(),
|
|
Resource: types.ComponentRbacResource(),
|
|
Action: "lookup",
|
|
}
|
|
|
|
h.a.NoError(store.CreateActionlog(context.Background(), service.DefaultStore, res))
|
|
|
|
return res
|
|
}
|
|
|
|
func TestActionLogList(t *testing.T) {
|
|
h := newHelper(t)
|
|
h.clearActionLog()
|
|
|
|
helpers.AllowMe(h, types.ComponentRbacResource(), "action-log.read")
|
|
|
|
h.repoMakeActionLog()
|
|
|
|
h.apiInit().
|
|
Get("/actionlog/").
|
|
Header("Accept", "application/json").
|
|
Expect(t).
|
|
Status(http.StatusOK).
|
|
Assert(helpers.AssertNoErrors).
|
|
Assert(jsonpath.Len(`$.response.set`, 1)).
|
|
End()
|
|
}
|
|
|
|
func TestActionLogListForbidden(t *testing.T) {
|
|
h := newHelper(t)
|
|
h.clearActionLog()
|
|
|
|
h.repoMakeActionLog()
|
|
|
|
h.apiInit().
|
|
Get("/actionlog/").
|
|
Header("Accept", "application/json").
|
|
Expect(t).
|
|
Status(http.StatusOK).
|
|
Assert(helpers.AssertError("access_denied")).
|
|
End()
|
|
}
|