Skip to content

Commit 10d8d04

Browse files
alanhamlettgandarez
authored andcommitted
When entity hidden, should also hide branch and dependencies unless specific patterns set for those
1 parent 0bc3464 commit 10d8d04

File tree

2 files changed

+40
-37
lines changed

2 files changed

+40
-37
lines changed

pkg/heartbeat/sanitize.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,14 @@ func Sanitize(ctx context.Context, h Heartbeat, config SanitizeConfig) Heartbeat
5555
ProjectPathOverride: h.ProjectPathOverride,
5656
}
5757

58+
// project patterns
59+
if h.Project != nil {
60+
check.Patterns = config.ProjectPatterns
61+
if ShouldSanitize(ctx, check) {
62+
h = sanitizeMetaData(h)
63+
}
64+
}
65+
5866
// file patterns
5967
check.Patterns = config.FilePatterns
6068
if ShouldSanitize(ctx, check) {
@@ -64,15 +72,15 @@ func Sanitize(ctx context.Context, h Heartbeat, config SanitizeConfig) Heartbeat
6472
h.Entity = "HIDDEN"
6573
}
6674

67-
h = sanitizeMetaData(h)
68-
}
75+
if len(config.BranchPatterns) == 0 {
76+
h.Branch = nil
77+
}
6978

70-
// project patterns
71-
if h.Project != nil {
72-
check.Patterns = config.ProjectPatterns
73-
if ShouldSanitize(ctx, check) {
74-
h = sanitizeMetaData(h)
79+
if len(config.DependencyPatterns) == 0 {
80+
h.Dependencies = nil
7581
}
82+
83+
h = sanitizeMetaData(h)
7684
}
7785

7886
// branch patterns

pkg/heartbeat/sanitize_test.go

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,14 @@ func TestWithSanitization_ObfuscateFile(t *testing.T) {
2020
handle := opt(func(_ context.Context, hh []heartbeat.Heartbeat) ([]heartbeat.Result, error) {
2121
assert.Equal(t, []heartbeat.Heartbeat{
2222
{
23-
Branch: heartbeat.PointerTo("heartbeat"),
24-
Category: heartbeat.CodingCategory,
25-
Dependencies: []string{"dep1", "dep2"},
26-
Entity: "HIDDEN.go",
27-
EntityType: heartbeat.FileType,
28-
IsWrite: heartbeat.PointerTo(true),
29-
Language: heartbeat.PointerTo("Go"),
30-
Project: heartbeat.PointerTo("wakatime"),
31-
Time: 1585598060,
32-
UserAgent: "wakatime/13.0.7",
23+
Category: heartbeat.CodingCategory,
24+
Entity: "HIDDEN.go",
25+
EntityType: heartbeat.FileType,
26+
IsWrite: heartbeat.PointerTo(true),
27+
Language: heartbeat.PointerTo("Go"),
28+
Project: heartbeat.PointerTo("wakatime"),
29+
Time: 1585598060,
30+
UserAgent: "wakatime/13.0.7",
3331
},
3432
}, hh)
3533

@@ -74,16 +72,14 @@ func TestSanitize_Obfuscate(t *testing.T) {
7472
UserAgent: "wakatime/13.0.7",
7573
},
7674
Expected: heartbeat.Heartbeat{
77-
Branch: heartbeat.PointerTo("heartbeat"),
78-
Category: heartbeat.CodingCategory,
79-
Dependencies: []string{"dep1", "dep2"},
80-
Entity: "HIDDEN.go",
81-
EntityType: heartbeat.FileType,
82-
IsWrite: heartbeat.PointerTo(true),
83-
Language: heartbeat.PointerTo("Go"),
84-
Project: heartbeat.PointerTo("wakatime"),
85-
Time: 1585598060,
86-
UserAgent: "wakatime/13.0.7",
75+
Category: heartbeat.CodingCategory,
76+
Entity: "HIDDEN.go",
77+
EntityType: heartbeat.FileType,
78+
IsWrite: heartbeat.PointerTo(true),
79+
Language: heartbeat.PointerTo("Go"),
80+
Project: heartbeat.PointerTo("wakatime"),
81+
Time: 1585598060,
82+
UserAgent: "wakatime/13.0.7",
8783
},
8884
},
8985
"app": {
@@ -138,16 +134,15 @@ func TestSanitize_ObfuscateFile_SkipBranchIfNotMatching(t *testing.T) {
138134
})
139135

140136
assert.Equal(t, heartbeat.Heartbeat{
141-
Branch: heartbeat.PointerTo("heartbeat"),
142-
Dependencies: []string{"dep1", "dep2"},
143-
Category: heartbeat.CodingCategory,
144-
Entity: "HIDDEN.go",
145-
EntityType: heartbeat.FileType,
146-
IsWrite: heartbeat.PointerTo(true),
147-
Language: heartbeat.PointerTo("Go"),
148-
Project: heartbeat.PointerTo("wakatime"),
149-
Time: 1585598060,
150-
UserAgent: "wakatime/13.0.7",
137+
Branch: heartbeat.PointerTo("heartbeat"),
138+
Category: heartbeat.CodingCategory,
139+
Entity: "HIDDEN.go",
140+
EntityType: heartbeat.FileType,
141+
IsWrite: heartbeat.PointerTo(true),
142+
Language: heartbeat.PointerTo("Go"),
143+
Project: heartbeat.PointerTo("wakatime"),
144+
Time: 1585598060,
145+
UserAgent: "wakatime/13.0.7",
151146
}, r)
152147
}
153148

0 commit comments

Comments
 (0)