Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit dae613c

Browse files
Fixing read tests
1 parent 3be8c11 commit dae613c

File tree

1 file changed

+16
-129
lines changed

1 file changed

+16
-129
lines changed

test/UnitTests/GitHub.VisualStudio/Services/MetricsTests.cs

Lines changed: 16 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Linq;
66
using System.Reactive.Disposables;
77
using System.Threading.Tasks;
8+
using GitHub;
89
using GitHub.Extensions;
910
using GitHub.Models;
1011
using GitHub.Services;
@@ -208,41 +209,6 @@ await service.Received(1).WriteLocalData(Arg.Is<UsageData>(data =>
208209
));
209210
}
210211

211-
[Test]
212-
public async Task UsageServiceWritesAllTheDataCorrectly()
213-
{
214-
var model = CreateUsageModel();
215-
var serviceProvider = CreateServiceProvider();
216-
var usageService = CreateUsageService(model);
217-
var targetAndTick = CreateTargetAndGetTick(serviceProvider, usageService);
218-
var vsservices = serviceProvider.GetService<IVSServices>();
219-
// vsservices.VSVersion.Returns(model.VSVersion);
220-
221-
await targetAndTick.Item2();
222-
223-
var metricsService = serviceProvider.TryGetService<IMetricsService>();
224-
225-
var expected = model;
226-
// expected.NumberOfStartups++;
227-
// expected.NumberOfStartupsWeek++;
228-
// expected.NumberOfStartupsMonth++;
229-
230-
// var result = (usageService.ReceivedCalls().First(x => x.GetMethodInfo().Name == "WriteLocalData").GetArguments()[0] as UsageData).Model;
231-
// CollectionAssert.AreEquivalent(
232-
// ReflectionUtils.GetProperties(expected.GetType()).Select(x => new { x.Name, Value = x.GetValue(expected) }),
233-
// ReflectionUtils.GetProperties(result.GetType()).Select(x => new { x.Name, Value = x.GetValue(result) }));
234-
}
235-
236-
static UsageModel CreateUsageModel()
237-
{
238-
return new UsageModel
239-
{
240-
Dimensions = new UsageModel.DimensionsModel(),
241-
Measures = new UsageModel.MeasuresModel()
242-
243-
};
244-
}
245-
246212
static Tuple<UsageTracker, Func<Task>> CreateTargetAndGetTick(
247213
IGitHubServiceProvider serviceProvider,
248214
IUsageService service)
@@ -298,95 +264,7 @@ public class UsageServiceTests : TestBaseClass
298264
static readonly Guid UserGuid = Guid.NewGuid();
299265
static readonly string DefaultUserStoreContent = @"{""UserGuid"":""" + UserGuid + @"""}";
300266

301-
static readonly string DefaultUsageContent =
302-
@"{
303-
""LastUpdated"": ""2017-02-24T18:18:52.4298622Z"",
304-
""Model"": {
305-
""Guid"": """ + UserGuid + @""",
306-
""IsGitHubUser"": false,
307-
""IsEnterpriseUser"": false,
308-
""AppVersion"": ""2.4.3.0"",
309-
""VSVersion"": ""14.0.25431.01 Update 3"",
310-
""Lang"": ""en-US"",
311-
""NumberOfStartups"": 0,
312-
""NumberOfStartupsWeek"": 0,
313-
""NumberOfStartupsMonth"": 0,
314-
""NumberOfUpstreamPullRequests"": 0,
315-
""NumberOfClones"": 0,
316-
""NumberOfReposCreated"": 0,
317-
""NumberOfReposPublished"": 0,
318-
""NumberOfGists"": 0,
319-
""NumberOfOpenInGitHub"": 0,
320-
""NumberOfLinkToGitHub"": 0,
321-
""NumberOfLogins"": 1,
322-
""NumberOfOAuthLogins"": 0,
323-
""NumberOfTokenLogins"": 0,
324-
""NumberOfPullRequestsOpened"": 1,
325-
""NumberOfLocalPullRequestsCheckedOut"": 0,
326-
""NumberOfLocalPullRequestPulls"": 0,
327-
""NumberOfLocalPullRequestPushes"": 0,
328-
""NumberOfForkPullRequestsCheckedOut"": 0,
329-
""NumberOfForkPullRequestPulls"": 0,
330-
""NumberOfForkPullRequestPushes"": 0,
331-
""NumberOfSyncSubmodules"": 0,
332-
""NumberOfWelcomeDocsClicks"": 0,
333-
""NumberOfWelcomeTrainingClicks"": 0,
334-
""NumberOfGitHubPaneHelpClicks"": 0,
335-
""NumberOfPRDetailsViewChanges"": 0,
336-
""NumberOfPRDetailsViewFile"": 0,
337-
""NumberOfPRDetailsCompareWithSolution"": 0,
338-
""NumberOfPRDetailsOpenFileInSolution"": 0,
339-
""NumberOfPRDetailsNavigateToEditor"": 0,
340-
""NumberOfPRReviewDiffViewInlineCommentOpen"": 0,
341-
""NumberOfPRReviewDiffViewInlineCommentPost"": 0
342-
}
343-
}
344-
";
345-
346-
static readonly string LegacyUsageContent =
347-
@"{
348-
""LastUpdated"": ""2017-02-24T12:37:09.4771538Z"",
349-
""Model"": {
350-
""IsGitHubUser"": true,
351-
""IsEnterpriseUser"": false,
352-
""AppVersion"": ""2.4.3.0"",
353-
""VSVersion"": ""14.0.25431.01 Update 3"",
354-
""Lang"": ""en-US"",
355-
""NumberOfStartups"": 0,
356-
""NumberOfStartupsWeek"": 3,
357-
""NumberOfStartupsMonth"": 23,
358-
""NumberOfUpstreamPullRequests"": 0,
359-
""NumberOfClones"": 0,
360-
""NumberOfReposCreated"": 0,
361-
""NumberOfReposPublished"": 0,
362-
""NumberOfGists"": 0,
363-
""NumberOfOpenInGitHub"": 0,
364-
""NumberOfLinkToGitHub"": 2,
365-
""NumberOfLogins"": 1,
366-
""NumberOfOAuthLogins"": 0,
367-
""NumberOfTokenLogins"": 0,
368-
""NumberOfPullRequestsOpened"": 1,
369-
""NumberOfLocalPullRequestsCheckedOut"": 0,
370-
""NumberOfLocalPullRequestPulls"": 0,
371-
""NumberOfLocalPullRequestPushes"": 0,
372-
""NumberOfForkPullRequestsCheckedOut"": 0,
373-
""NumberOfForkPullRequestPulls"": 0,
374-
""NumberOfForkPullRequestPushes"": 0,
375-
""NumberOfSyncSubmodules"": 0,
376-
""NumberOfWelcomeDocsClicks"": 0,
377-
""NumberOfWelcomeTrainingClicks"": 0,
378-
""NumberOfGitHubPaneHelpClicks"": 0,
379-
""NumberOfPRDetailsViewChanges"": 1,
380-
""NumberOfPRDetailsViewFile"": 0,
381-
""NumberOfPRDetailsCompareWithSolution"": 0,
382-
""NumberOfPRDetailsOpenFileInSolution"": 0,
383-
""NumberOfPRDetailsNavigateToEditor"": 0,
384-
""NumberOfPRReviewDiffViewInlineCommentOpen"": 1,
385-
""NumberOfPRReviewDiffViewInlineCommentPost"": 0,
386-
""NumberOfShowCurrentPullRequest"": 2
387-
}
388-
}
389-
";
267+
static readonly string DefaultUsageContent = @"{""Reports"":[{""Dimensions"":{""Guid"":""26fa0c25-653f-4fa5-ad83-7438ad526b0a"",""Date"":""2018-03-13T18:45:19.0453424Z"",""IsGitHubUser"":false,""IsEnterpriseUser"":false,""AppVersion"":null,""VSVersion"":null,""Lang"":null,""CurrentLang"":null},""Measures"":{""NumberOfStartups"":0,""NumberOfUpstreamPullRequests"":0,""NumberOfClones"":1,""NumberOfReposCreated"":0,""NumberOfReposPublished"":2,""NumberOfGists"":0,""NumberOfOpenInGitHub"":0,""NumberOfLinkToGitHub"":0,""NumberOfLogins"":0,""NumberOfOAuthLogins"":0,""NumberOfTokenLogins"":0,""NumberOfPullRequestsOpened"":3,""NumberOfLocalPullRequestsCheckedOut"":0,""NumberOfLocalPullRequestPulls"":0,""NumberOfLocalPullRequestPushes"":0,""NumberOfForkPullRequestsCheckedOut"":0,""NumberOfForkPullRequestPulls"":0,""NumberOfForkPullRequestPushes"":0,""NumberOfSyncSubmodules"":0,""NumberOfWelcomeDocsClicks"":0,""NumberOfWelcomeTrainingClicks"":0,""NumberOfGitHubPaneHelpClicks"":0,""NumberOfPRDetailsViewChanges"":0,""NumberOfPRDetailsViewFile"":0,""NumberOfPRDetailsCompareWithSolution"":0,""NumberOfPRDetailsOpenFileInSolution"":0,""NumberOfPRDetailsNavigateToEditor"":0,""NumberOfPRReviewDiffViewInlineCommentOpen"":0,""NumberOfPRReviewDiffViewInlineCommentPost"":0,""NumberOfShowCurrentPullRequest"":0}}]}";
390268

391269
string usageFileName;
392270
string userFileName;
@@ -410,7 +288,7 @@ public void SetUp()
410288

411289
Directory.CreateDirectory(localApplicationDataPath);
412290

413-
usageFileName = Path.Combine(localApplicationDataPath, "ghfvs.usage");
291+
usageFileName = Path.Combine(localApplicationDataPath, "metrics.json");
414292
userFileName = Path.Combine(localApplicationDataPath, "user.json");
415293

416294
environment = Substitute.For<IEnvironment>();
@@ -454,17 +332,26 @@ public async Task ReadUsageDataWorks()
454332
{
455333
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment);
456334
var usageData = await usageService.ReadLocalData();
457-
//Assert.AreEqual(usageData.LastUpdated.Date, DateTime.Parse("2017-02-24"));
335+
336+
Assert.IsNotNull(usageData);
337+
Assert.IsNotNull(usageData.Reports);
338+
Assert.AreEqual(1, usageData.Reports.Count);
339+
Assert.AreEqual(1, usageData.Reports[0].Measures.NumberOfClones);
340+
Assert.AreEqual(2, usageData.Reports[0].Measures.NumberOfReposPublished);
341+
Assert.AreEqual(3, usageData.Reports[0].Measures.NumberOfPullRequestsOpened);
458342
}
459343

460344
[Test]
461-
public async Task ReadUsageDataWorksWhenLegacyContent()
345+
public async Task ReadUsageDataWorksWhenFileMissing()
462346
{
463-
WriteUsageFileContent(LegacyUsageContent);
347+
File.Delete(usageFileName);
464348

465349
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment);
466350
var usageData = await usageService.ReadLocalData();
467-
//Assert.AreEqual(usageData.LastUpdated.Date, DateTime.Parse("2017-02-24"));
351+
352+
Assert.IsNotNull(usageData);
353+
Assert.IsNotNull(usageData.Reports);
354+
Assert.AreEqual(0, usageData.Reports.Count);
468355
}
469356

470357
[Test]

0 commit comments

Comments
 (0)