Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 6ba2185

Browse files
committed
Add test for serializing/deserializing metrics from disk
1 parent ab5df1e commit 6ba2185

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

src/tests/IntegrationTests/Metrics/MetricsTests.cs

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ namespace IntegrationTests
1212
[TestFixture]
1313
class MetricsTests : BaseIntegrationTest
1414
{
15-
1615
[TestCase(nameof(Measures.AssetExplorerContextMenuLfsLock))]
1716
[TestCase(nameof(Measures.AssetExplorerContextMenuLfsUnlock))]
1817
[TestCase(nameof(Measures.AuthenticationViewButtonAuthentication))]
@@ -29,7 +28,6 @@ class MetricsTests : BaseIntegrationTest
2928
[TestCase(nameof(Measures.SettingsViewUnlockButtonLfsUnlock))]
3029
public void IncrementMetricsWorks(string measureName)
3130
{
32-
InitializeEnvironment(TestBasePath, null, false, false);
3331
var userId = Guid.NewGuid().ToString();
3432
var appVersion = ApplicationConfiguration.AssemblyName.Version.ToString();
3533
var unityVersion = "2017.3f1";
@@ -50,5 +48,25 @@ public void IncrementMetricsWorks(string measureName)
5048
currentUsage = usageStore.GetCurrentMeasures(appVersion, unityVersion, instanceId);
5149
Assert.AreEqual(1, prop.GetValue(currentUsage, null));
5250
}
51+
52+
[Test]
53+
public void LoadingWorks()
54+
{
55+
InitializeEnvironment(TestBasePath, TestBasePath, false, false);
56+
var userId = Guid.NewGuid().ToString();
57+
var appVersion = ApplicationConfiguration.AssemblyName.Version.ToString();
58+
var unityVersion = "2017.3f1";
59+
var instanceId = Guid.NewGuid().ToString();
60+
var usageStore = new UsageStore();
61+
usageStore.Model.Guid = userId;
62+
var usageTracker = new UsageTracker(Substitute.For<IMetricsService>(), Substitute.For<ISettings>(),
63+
Environment, userId, unityVersion, instanceId);
64+
usageTracker.IncrementNumberOfStartups();
65+
var storePath = Environment.UserCachePath.Combine(Constants.UsageFile);
66+
Assert.IsTrue(storePath.FileExists());
67+
var json = storePath.ReadAllText(Encoding.UTF8);
68+
var savedStore = json.FromJson<UsageStore>(lowerCase: true);
69+
Assert.AreEqual(1, savedStore.GetCurrentMeasures(appVersion, unityVersion, instanceId).NumberOfStartups);
70+
}
5371
}
5472
}

0 commit comments

Comments
 (0)