Skip to content

Commit 7af4913

Browse files
test(audience-sdk): extend TestEventNames with transport and queue scenarios
Adds named event-name constants for the EventQueue scenario tests (IntervalFlush, DisposeTest), placeholder constants for transport / queue scaffolding where the event name is just filler (PlaceholderA, PlaceholderB, PlaceholderTest, PlaceholderTrack, PlaceholderIgnored, PlaceholderEvt), and BlockedPrefix for the OfflineResilienceTests $"blocked_{i}" templated string. Migrates inline references in: - MessageBuilderTests ("evt" placeholders, six sites) - EventQueueTests (Msg() helper calls, six sites) - HttpTransportTests (WireFixture.Track event-name args, eight sites) - OfflineResilienceTests ($"blocked_{i}" templated literal, three sites) Per the user's "everything random goes in a constant" stance. Follow-up to SDK-272 (centralisation of duplicated literals).
1 parent 9392a1a commit 7af4913

5 files changed

Lines changed: 38 additions & 23 deletions

File tree

src/Packages/Audience/Tests/Runtime/Events/MessageBuilderTests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ public void Track_EventNameLongerThan256Chars_TruncatedTo256()
3636
[Test]
3737
public void Track_NullUserId_NotPresentInDict()
3838
{
39-
var result = MessageBuilder.Track("evt", TestFixtures.AnonId1, null, PackageVersion);
39+
var result = MessageBuilder.Track(TestEventNames.PlaceholderEvt, TestFixtures.AnonId1, null, PackageVersion);
4040

4141
Assert.IsFalse(result.ContainsKey(MessageFields.UserId));
4242
}
4343

4444
[Test]
4545
public void Track_NonNullUserId_PresentInDict()
4646
{
47-
var result = MessageBuilder.Track("evt", TestFixtures.AnonId1, TestFixtures.UserId99, PackageVersion);
47+
var result = MessageBuilder.Track(TestEventNames.PlaceholderEvt, TestFixtures.AnonId1, TestFixtures.UserId99, PackageVersion);
4848

4949
Assert.IsTrue(result.ContainsKey(MessageFields.UserId));
5050
Assert.AreEqual(TestFixtures.UserId99, result[MessageFields.UserId]);
@@ -79,7 +79,7 @@ public void Alias_AllFourFieldsPresent()
7979
[Test]
8080
public void AllMessages_ContextContainsLibraryAndLibraryVersion()
8181
{
82-
var track = MessageBuilder.Track("evt", null, null, PackageVersion);
82+
var track = MessageBuilder.Track(TestEventNames.PlaceholderEvt, null, null, PackageVersion);
8383
var identify = MessageBuilder.Identify(null, "u1", IdentityType.Steam.ToLowercaseString(), PackageVersion);
8484
var alias = MessageBuilder.Alias("f", "t1", "t", "t2", PackageVersion);
8585

@@ -94,7 +94,7 @@ public void AllMessages_ContextContainsLibraryAndLibraryVersion()
9494
[Test]
9595
public void AllMessages_SurfaceIsUnity()
9696
{
97-
var track = MessageBuilder.Track("evt", null, null, PackageVersion);
97+
var track = MessageBuilder.Track(TestEventNames.PlaceholderEvt, null, null, PackageVersion);
9898
var identify = MessageBuilder.Identify(null, "u1", IdentityType.Steam.ToLowercaseString(), PackageVersion);
9999
var alias = MessageBuilder.Alias("f", "t1", "t", "t2", PackageVersion);
100100

@@ -120,7 +120,7 @@ public void Track_MessageId_IsUniquePerCall()
120120
// Backend deduplicates on messageId; collisions silently drop events.
121121
var ids = new HashSet<string>();
122122
for (var i = 0; i < 1000; i++)
123-
ids.Add((string)MessageBuilder.Track("evt", null, null, PackageVersion)[MessageFields.MessageId]);
123+
ids.Add((string)MessageBuilder.Track(TestEventNames.PlaceholderEvt, null, null, PackageVersion)[MessageFields.MessageId]);
124124
Assert.AreEqual(1000, ids.Count);
125125
}
126126

@@ -161,7 +161,7 @@ public void AllMessages_Context_LibraryAndLibraryVersionAreNonEmptyStrings()
161161

162162
private static IEnumerable<Dictionary<string, object>> EveryMessageType()
163163
{
164-
yield return MessageBuilder.Track("evt", null, null, PackageVersion);
164+
yield return MessageBuilder.Track(TestEventNames.PlaceholderEvt, null, null, PackageVersion);
165165
yield return MessageBuilder.Identify(null, "u1", IdentityType.Steam.ToLowercaseString(), PackageVersion);
166166
yield return MessageBuilder.Alias("f", "t1", "t", "t2", PackageVersion);
167167
}

src/Packages/Audience/Tests/Runtime/OfflineResilienceTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public void Track_DiskWritesBlocked_DoesNotThrowToCallers()
7979

8080
Assert.DoesNotThrow(() =>
8181
{
82-
for (int i = 0; i < 50; i++) ImmutableAudience.Track($"blocked_{i}");
82+
for (int i = 0; i < 50; i++) ImmutableAudience.Track($"{TestEventNames.BlockedPrefix}{i}");
8383
ImmutableAudience.FlushQueueToDiskForTesting();
8484
}, "Track must not propagate disk-write IOException to callers");
8585

@@ -95,7 +95,7 @@ public void Shutdown_DiskWritesBlocked_DoesNotThrow()
9595
ImmutableAudience.Init(MakeConfig());
9696
ImmutableAudience.Track(TestEventNames.EventPreBlock);
9797
BlockDiskWrites();
98-
for (int i = 0; i < 20; i++) ImmutableAudience.Track($"blocked_{i}");
98+
for (int i = 0; i < 20; i++) ImmutableAudience.Track($"{TestEventNames.BlockedPrefix}{i}");
9999

100100
Assert.DoesNotThrow(() => ImmutableAudience.Shutdown(),
101101
"Shutdown must absorb disk-write failure during the final drain");
@@ -114,7 +114,7 @@ public void Track_DiskWritesBlocked_RetainsEventsInMemory_AndSurfacesOnError()
114114
BlockDiskWrites();
115115

116116
const int eventCount = 50;
117-
for (int i = 0; i < eventCount; i++) ImmutableAudience.Track($"blocked_{i}");
117+
for (int i = 0; i < eventCount; i++) ImmutableAudience.Track($"{TestEventNames.BlockedPrefix}{i}");
118118
ImmutableAudience.FlushQueueToDiskForTesting();
119119

120120
Assert.GreaterOrEqual(ImmutableAudience.QueueSize, eventCount,

src/Packages/Audience/Tests/Runtime/TestEventNames.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,20 @@ internal static class TestEventNames
2626
internal const string MixedLoadTrack = "mixed_load_track";
2727
internal const string SteadyState = "steady_state";
2828
internal const string LevelComplete = "level_complete";
29+
30+
// EventQueue scenario names where the event name is meaningful in the test description.
31+
internal const string IntervalFlush = "interval_flush";
32+
internal const string DisposeTest = "dispose_test";
33+
34+
// Placeholder event names for tests where the event name itself is irrelevant.
35+
internal const string PlaceholderA = "a";
36+
internal const string PlaceholderB = "b";
37+
internal const string PlaceholderTest = "test";
38+
internal const string PlaceholderTrack = "track";
39+
internal const string PlaceholderIgnored = "ignored";
40+
internal const string PlaceholderEvt = "evt";
41+
42+
// Prefix for OfflineResilienceTests' $"blocked_{i}" loop.
43+
internal const string BlockedPrefix = "blocked_";
2944
}
3045
}

src/Packages/Audience/Tests/Runtime/Transport/EventQueueTests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void Enqueue_ThenFlushSync_PersistesEventToDisk()
3535
{
3636
using var queue = new EventQueue(_store, flushIntervalSeconds: 60, flushSize: 100);
3737

38-
queue.Enqueue(Msg("track"));
38+
queue.Enqueue(Msg(TestEventNames.PlaceholderTrack));
3939
queue.FlushSync();
4040

4141
Assert.AreEqual(1, _store.Count(), "event should be on disk after FlushSync");
@@ -77,8 +77,8 @@ public void Shutdown_FlushesRemainingEvents()
7777
{
7878
var queue = new EventQueue(_store, flushIntervalSeconds: 60, flushSize: 100);
7979

80-
queue.Enqueue(Msg("a"));
81-
queue.Enqueue(Msg("b"));
80+
queue.Enqueue(Msg(TestEventNames.PlaceholderA));
81+
queue.Enqueue(Msg(TestEventNames.PlaceholderB));
8282

8383
queue.Shutdown();
8484

@@ -99,7 +99,7 @@ public void Enqueue_AfterShutdown_IsIgnored()
9999
var queue = new EventQueue(_store, flushIntervalSeconds: 60, flushSize: 100);
100100
queue.Shutdown();
101101

102-
queue.Enqueue(Msg("ignored"));
102+
queue.Enqueue(Msg(TestEventNames.PlaceholderIgnored));
103103

104104
Assert.AreEqual(0, _store.Count(), "events enqueued after Shutdown should be discarded");
105105
}
@@ -110,7 +110,7 @@ public void IntervalFlush_DrainsToDiskWithoutExplicitCall()
110110
// Very short interval to make the test fast
111111
using var queue = new EventQueue(_store, flushIntervalSeconds: 1, flushSize: 100);
112112

113-
queue.Enqueue(Msg("interval_flush"));
113+
queue.Enqueue(Msg(TestEventNames.IntervalFlush));
114114

115115
// Wait slightly longer than the flush interval
116116
var deadline = DateTime.UtcNow.AddSeconds(4);
@@ -125,7 +125,7 @@ public void Dispose_FlushesAndStopsDrainThread()
125125
{
126126
using (var queue = new EventQueue(_store, flushIntervalSeconds: 60, flushSize: 100))
127127
{
128-
queue.Enqueue(Msg("dispose_test"));
128+
queue.Enqueue(Msg(TestEventNames.DisposeTest));
129129
} // Dispose called here
130130

131131
Assert.AreEqual(1, _store.Count(), "Dispose should flush events to disk");

src/Packages/Audience/Tests/Runtime/Transport/HttpTransportTests.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ public void TearDown()
4949
[Test]
5050
public async Task SendBatchAsync_200_DeletesFilesFromDisk()
5151
{
52-
_store.Write(WireFixture.Track((MessageFields.EventName, "a")));
53-
_store.Write(WireFixture.Track((MessageFields.EventName, "b")));
52+
_store.Write(WireFixture.Track((MessageFields.EventName, TestEventNames.PlaceholderA)));
53+
_store.Write(WireFixture.Track((MessageFields.EventName, TestEventNames.PlaceholderB)));
5454

5555
var handler = new MockHandler(HttpStatusCode.OK, $"{{\"accepted\":2,\"{ResponseFields.Rejected}\":0}}");
5656
using var transport = new HttpTransport(_store, TestDefaults.PublishableKey, handler: handler);
@@ -65,7 +65,7 @@ public async Task SendBatchAsync_200_DeletesFilesFromDisk()
6565
[Test]
6666
public async Task SendBatchAsync_200_SendsGzippedPayloadWithCorrectHeaders()
6767
{
68-
_store.Write(WireFixture.Track((MessageFields.EventName, "test")));
68+
_store.Write(WireFixture.Track((MessageFields.EventName, TestEventNames.PlaceholderTest)));
6969

7070
byte[]? capturedBody = null;
7171
string? capturedKey = null;
@@ -97,7 +97,7 @@ public async Task SendBatchAsync_200_SendsGzippedPayloadWithCorrectHeaders()
9797
[Test]
9898
public async Task SendBatchAsync_200_SendsPlainJsonPayloadWithoutContentEncoding()
9999
{
100-
_store.Write(WireFixture.Track((MessageFields.EventName, "test")));
100+
_store.Write(WireFixture.Track((MessageFields.EventName, TestEventNames.PlaceholderTest)));
101101

102102
string? capturedKey = null;
103103
string? capturedContentType = null;
@@ -322,8 +322,8 @@ public async Task SendBatchAsync_200_WithRejected_DeletesFilesAndSurfacesValidat
322322
// per-message validation errors. The batch is deleted (retries
323323
// would not help) and the count is surfaced via onError so
324324
// studios can observe silently dropped events.
325-
_store.Write(WireFixture.Track((MessageFields.EventName, "a")));
326-
_store.Write(WireFixture.Track((MessageFields.EventName, "b")));
325+
_store.Write(WireFixture.Track((MessageFields.EventName, TestEventNames.PlaceholderA)));
326+
_store.Write(WireFixture.Track((MessageFields.EventName, TestEventNames.PlaceholderB)));
327327

328328
var handler = new MockHandler(HttpStatusCode.OK, $"{{\"accepted\":1,\"{ResponseFields.Rejected}\":1}}");
329329
AudienceError? reportedError = null;
@@ -341,7 +341,7 @@ public async Task SendBatchAsync_200_WithRejected_DeletesFilesAndSurfacesValidat
341341
[Test]
342342
public async Task SendBatchAsync_200_ZeroRejected_DoesNotFireOnError()
343343
{
344-
_store.Write(WireFixture.Track((MessageFields.EventName, "a")));
344+
_store.Write(WireFixture.Track((MessageFields.EventName, TestEventNames.PlaceholderA)));
345345

346346
var handler = new MockHandler(HttpStatusCode.OK, $"{{\"accepted\":1,\"{ResponseFields.Rejected}\":0}}");
347347
AudienceError? reportedError = null;
@@ -357,7 +357,7 @@ public async Task SendBatchAsync_200_ZeroRejected_DoesNotFireOnError()
357357
public async Task SendBatchAsync_200_MalformedBody_TreatsAsZeroRejected()
358358
{
359359
// Malformed diagnostic body must not block the success path.
360-
_store.Write(WireFixture.Track((MessageFields.EventName, "a")));
360+
_store.Write(WireFixture.Track((MessageFields.EventName, TestEventNames.PlaceholderA)));
361361

362362
var handler = new MockHandler(HttpStatusCode.OK, "not-json");
363363
AudienceError? reportedError = null;

0 commit comments

Comments
 (0)