Skip to content

Commit 955c451

Browse files
fix: audit timestamp generation
1 parent 02d87e5 commit 955c451

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

internal/audit/agent_log_test.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ func TestLogAgent(t *testing.T) {
4444
ID: "some user",
4545
Groups: []string{"g1", "g2"},
4646
},
47-
Request: RequestInfo{Body: []byte("some body")},
47+
Request: RequestInfo{Body: []byte("some body")},
48+
Timestamp: 123123123,
4849
})
4950

5051
entries := hook.AllEntries()
@@ -59,9 +60,6 @@ func TestLogAgent(t *testing.T) {
5960
require.NotEmpty(t, trailDataMap["id"])
6061
delete(trailDataMap, "id")
6162

62-
require.NotNil(t, trailData.(map[string]interface{})["timestamp"])
63-
delete(trailData.(map[string]interface{}), "timestamp")
64-
6563
require.Equal(t, map[string]any{
6664
"aggregationId": "the-aggregation-id",
6765
"authorization": map[string]any{
@@ -81,6 +79,7 @@ func TestLogAgent(t *testing.T) {
8179
"groups": []string{"g1", "g2"},
8280
"id": "some user",
8381
},
82+
"timestamp": int64(123123123),
8483
}, trailData)
8584
}
8685

@@ -108,7 +107,8 @@ func TestLogAgentWithGlobalLabels(t *testing.T) {
108107
ID: "some user",
109108
Groups: []string{"g1", "g2"},
110109
},
111-
Request: RequestInfo{Body: []byte("some body")},
110+
Request: RequestInfo{Body: []byte("some body")},
111+
Timestamp: 543543543,
112112
})
113113

114114
entries := hook.AllEntries()
@@ -123,9 +123,6 @@ func TestLogAgentWithGlobalLabels(t *testing.T) {
123123
require.NotEmpty(t, trailDataMap["id"])
124124
delete(trailDataMap, "id")
125125

126-
require.NotNil(t, trailData.(map[string]interface{})["timestamp"])
127-
delete(trailData.(map[string]interface{}), "timestamp")
128-
129126
require.Equal(t, map[string]any{
130127
"aggregationId": "the-aggregation-id",
131128
"authorization": map[string]any{
@@ -147,5 +144,6 @@ func TestLogAgentWithGlobalLabels(t *testing.T) {
147144
"groups": []string{"g1", "g2"},
148145
"id": "some user",
149146
},
147+
"timestamp": int64(543543543),
150148
}, trailData)
151149
}

internal/audit/audit.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ package audit
1616

1717
import (
1818
"slices"
19-
"time"
2019

2120
"github.com/google/uuid"
2221
"github.com/rond-authz/rond/internal/utils"
@@ -46,6 +45,7 @@ type Audit struct {
4645
Subject SubjectInfo
4746
Request RequestInfo
4847
Labels Labels
48+
Timestamp int64
4949
}
5050

5151
type AuthzInfo struct {
@@ -100,7 +100,7 @@ func (a *Audit) toPrint(data map[string]any) auditToPrint {
100100
Subject: a.Subject,
101101
Request: a.Request,
102102
Labels: a.Labels,
103-
Timestamp: time.Now().Unix(),
103+
Timestamp: a.Timestamp,
104104
}
105105
if data != nil {
106106
print.applyDataFromPolicy(data)

sdk/evaluator.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"context"
1919
"encoding/json"
2020
"errors"
21+
"time"
2122

2223
"github.com/rond-authz/rond/core"
2324
"github.com/rond-authz/rond/internal/audit"
@@ -124,6 +125,7 @@ func (e evaluator) EvaluateRequestPolicy(ctx context.Context, rondInput core.Inp
124125
Path: rondInput.Request.Path,
125126
UserAgent: rondInput.Request.Headers.Get(userAgentHeaderKey),
126127
},
128+
Timestamp: time.Now().Unix(),
127129
}); err != nil {
128130
logger.WithField("error", map[string]any{
129131
"aggregationId": options.Audit.AggregationID,
@@ -160,6 +162,7 @@ func (e evaluator) EvaluateRequestPolicy(ctx context.Context, rondInput core.Inp
160162
Path: rondInput.Request.Path,
161163
UserAgent: rondInput.Request.Headers.Get(userAgentHeaderKey),
162164
},
165+
Timestamp: time.Now().Unix(),
163166
}); err != nil {
164167
logger.WithField("error", map[string]any{
165168
"aggregationId": options.Audit.AggregationID,
@@ -213,6 +216,7 @@ func (e evaluator) EvaluateResponsePolicy(ctx context.Context, rondInput core.In
213216
Path: rondInput.Request.Path,
214217
UserAgent: rondInput.Request.Headers.Get(userAgentHeaderKey),
215218
},
219+
Timestamp: time.Now().Unix(),
216220
}); err != nil {
217221
logger.WithField("error", map[string]any{
218222
"aggregationId": options.Audit.AggregationID,
@@ -237,6 +241,7 @@ func (e evaluator) EvaluateResponsePolicy(ctx context.Context, rondInput core.In
237241
Path: rondInput.Request.Path,
238242
UserAgent: rondInput.Request.Headers.Get(userAgentHeaderKey),
239243
},
244+
Timestamp: time.Now().Unix(),
240245
}); err != nil {
241246
logger.WithField("error", map[string]any{
242247
"aggregationId": options.Audit.AggregationID,

0 commit comments

Comments
 (0)