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

Commit 22f99eb

Browse files
Fixing build errors
1 parent ff9e130 commit 22f99eb

File tree

3 files changed

+91
-33
lines changed

3 files changed

+91
-33
lines changed

src/GitHub.Exports/Models/UsageModel.cs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,7 @@ public static UsageModel Create(Guid guid)
1616
Guid = guid,
1717
Date = DateTime.Now,
1818
},
19-
Measures = new MeasuresModel
20-
{
21-
Guid = guid,
22-
Date = DateTime.Now,
23-
},
19+
Measures = new MeasuresModel(),
2420
};
2521
}
2622

@@ -37,8 +33,6 @@ public class DimensionsModel
3733

3834
public class MeasuresModel
3935
{
40-
public Guid Guid { get; set; }
41-
public DateTimeOffset Date { get; set; }
4236
public int NumberOfStartups { get; set; }
4337
public int NumberOfUpstreamPullRequests { get; set; }
4438
public int NumberOfClones { get; set; }

src/GitHub.VisualStudio/Services/UsageService.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
using System.Threading;
88
using System.Threading.Tasks;
99
using GitHub.Helpers;
10+
using GitHub.Logging;
1011
using GitHub.Models;
12+
using Serilog;
1113
using Task = System.Threading.Tasks.Task;
1214

1315
namespace GitHub.Services
@@ -17,7 +19,7 @@ public class UsageService : IUsageService
1719
{
1820
const string StoreFileName = "metrics.json";
1921
const string UserStoreFileName = "user.json";
20-
static readonly NLog.Logger log = NLog.LogManager.GetCurrentClassLogger();
22+
private static readonly ILogger log = LogManager.ForContext<UsageService>();
2123
readonly IGitHubServiceProvider serviceProvider;
2224
string storePath;
2325
string userStorePath;
@@ -46,7 +48,7 @@ public async Task<Guid> GetUserGuid()
4648
}
4749
catch (Exception ex)
4850
{
49-
log.Error("Failed reading user metrics GUID", ex);
51+
log.Error(ex, "Failed reading user metrics GUID");
5052
}
5153
}
5254

@@ -62,7 +64,7 @@ public async Task<Guid> GetUserGuid()
6264
}
6365
catch (Exception ex)
6466
{
65-
log.Error("Failed reading writing metrics GUID", ex);
67+
log.Error(ex, "Failed reading writing metrics GUID");
6668
}
6769
}
6870

@@ -80,7 +82,7 @@ public IDisposable StartTimer(Func<Task> callback, TimeSpan dueTime, TimeSpan pe
8082
async _ =>
8183
{
8284
try { await callback(); }
83-
catch (Exception ex) { log.Warn("Failed submitting usage data", ex); }
85+
catch (Exception ex) { log.Warning(ex, "Failed submitting usage data"); }
8486
},
8587
null,
8688
dueTime,
@@ -115,7 +117,7 @@ public async Task WriteLocalData(UsageData data)
115117
}
116118
catch (Exception ex)
117119
{
118-
log.Warn("Failed to write usage data", ex);
120+
log.Warning(ex, "Failed to write usage data");
119121
}
120122
}
121123

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

Lines changed: 83 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,19 @@ public async Task FirstTickShouldIncrementLaunchCount()
3939
await service.Received(1).WriteLocalData(
4040
Arg.Is<UsageData>(x =>
4141
x.Reports.Count == 1 &&
42-
x.Reports[0].Guid == UserGuid &&
42+
x.Reports[0].Dimensions.Guid == UserGuid &&
4343
x.Reports[0].Measures.NumberOfStartups == 1));
4444
}
4545

4646
[Fact]
4747
public async Task FirstTickShouldIncrementLaunchCountInExistingReport()
4848
{
49-
var model = new UsageModel
49+
var model = new UsageModel()
5050
{
51-
Date = DateTimeOffset.Now,
51+
Dimensions = new UsageModel.DimensionsModel()
52+
{
53+
Date = DateTimeOffset.Now,
54+
},
5255
Measures = new UsageModel.MeasuresModel
5356
{
5457
NumberOfStartups = 4,
@@ -67,7 +70,10 @@ public async Task FirstTickNotShouldIncrementLaunchCountInOldReport()
6770
{
6871
var model = new UsageModel
6972
{
70-
Date = DateTimeOffset.Now - TimeSpan.FromDays(1),
73+
Dimensions = new UsageModel.DimensionsModel()
74+
{
75+
Date = DateTimeOffset.Now - TimeSpan.FromDays(1),
76+
},
7177
Measures = new UsageModel.MeasuresModel
7278
{
7379
NumberOfStartups = 4,
@@ -128,7 +134,13 @@ public async Task TickShouldNotSendDataIfSameDay()
128134
[Fact]
129135
public async Task TickShouldSendDataIfDifferentDay()
130136
{
131-
var model = new UsageModel { Date = DateTimeOffset.Now - TimeSpan.FromDays(1) };
137+
var model = new UsageModel
138+
{
139+
Dimensions = new UsageModel.DimensionsModel()
140+
{
141+
Date = DateTimeOffset.Now - TimeSpan.FromDays(1)
142+
},
143+
};
132144
var serviceProvider = CreateServiceProvider();
133145
var targetAndTick = CreateTargetAndGetTick(
134146
serviceProvider,
@@ -145,9 +157,30 @@ public async Task TickShouldSendBacklogData()
145157
{
146158
var models = new[]
147159
{
148-
new UsageModel { Date = DateTimeOffset.Now - TimeSpan.FromDays(2), Guid = Guid.NewGuid() },
149-
new UsageModel { Date = DateTimeOffset.Now - TimeSpan.FromDays(1), Guid = Guid.NewGuid() },
150-
new UsageModel { Date = DateTimeOffset.Now, Guid = Guid.NewGuid() },
160+
new UsageModel
161+
{
162+
Dimensions = new UsageModel.DimensionsModel()
163+
{
164+
Date = DateTimeOffset.Now - TimeSpan.FromDays(2),
165+
Guid = Guid.NewGuid()
166+
}
167+
},
168+
new UsageModel
169+
{
170+
Dimensions = new UsageModel.DimensionsModel()
171+
{
172+
Date = DateTimeOffset.Now - TimeSpan.FromDays(1),
173+
Guid = Guid.NewGuid()
174+
}
175+
},
176+
new UsageModel
177+
{
178+
Dimensions = new UsageModel.DimensionsModel()
179+
{
180+
Date = DateTimeOffset.Now,
181+
Guid = Guid.NewGuid()
182+
}
183+
},
151184
};
152185
var service = CreateUsageService(models);
153186
var serviceProvider = CreateServiceProvider();
@@ -157,19 +190,31 @@ public async Task TickShouldSendBacklogData()
157190

158191
var metricsService = serviceProvider.TryGetService<IMetricsService>();
159192

160-
await metricsService.Received(1).PostUsage(Arg.Is<UsageModel>(x => x.Guid == models[0].Guid));
161-
await metricsService.Received(1).PostUsage(Arg.Is<UsageModel>(x => x.Guid == models[1].Guid));
162-
await metricsService.Received(0).PostUsage(Arg.Is<UsageModel>(x => x.Guid == models[2].Guid));
193+
await metricsService.Received(1).PostUsage(Arg.Is<UsageModel>(x => x.Dimensions.Guid == models[0].Dimensions.Guid));
194+
await metricsService.Received(1).PostUsage(Arg.Is<UsageModel>(x => x.Dimensions.Guid == models[1].Dimensions.Guid));
195+
await metricsService.Received(0).PostUsage(Arg.Is<UsageModel>(x => x.Dimensions.Guid == models[2].Dimensions.Guid));
163196
}
164197

165198
[Fact]
166199
public async Task SentReportsShouldBeRemovedFromDisk()
167200
{
168201
var models = new[]
169202
{
170-
new UsageModel { Date = DateTimeOffset.Now - TimeSpan.FromDays(2), Guid = Guid.NewGuid() },
171-
new UsageModel { Date = DateTimeOffset.Now - TimeSpan.FromDays(1), Guid = Guid.NewGuid() },
172-
new UsageModel { Date = DateTimeOffset.Now, Guid = Guid.NewGuid() },
203+
new UsageModel
204+
{
205+
Dimensions = new UsageModel.DimensionsModel()
206+
{Date = DateTimeOffset.Now - TimeSpan.FromDays(2), Guid = Guid.NewGuid()}
207+
},
208+
new UsageModel
209+
{
210+
Dimensions = new UsageModel.DimensionsModel()
211+
{Date = DateTimeOffset.Now - TimeSpan.FromDays(1), Guid = Guid.NewGuid()}
212+
},
213+
new UsageModel
214+
{
215+
Dimensions = new UsageModel.DimensionsModel()
216+
{Date = DateTimeOffset.Now, Guid = Guid.NewGuid()}
217+
},
173218
};
174219
var service = CreateUsageService(models);
175220
var serviceProvider = CreateServiceProvider();
@@ -185,9 +230,21 @@ public async Task ReportsShouldNotBeRemovedIfNotSent()
185230
{
186231
var models = new[]
187232
{
188-
new UsageModel { Date = DateTimeOffset.Now - TimeSpan.FromDays(2), Guid = Guid.NewGuid() },
189-
new UsageModel { Date = DateTimeOffset.Now - TimeSpan.FromDays(1), Guid = Guid.NewGuid() },
190-
new UsageModel { Date = DateTimeOffset.Now, Guid = Guid.NewGuid() },
233+
new UsageModel
234+
{
235+
Dimensions = new UsageModel.DimensionsModel()
236+
{Date = DateTimeOffset.Now - TimeSpan.FromDays(2), Guid = Guid.NewGuid()}
237+
},
238+
new UsageModel
239+
{
240+
Dimensions = new UsageModel.DimensionsModel()
241+
{Date = DateTimeOffset.Now - TimeSpan.FromDays(1), Guid = Guid.NewGuid()}
242+
},
243+
new UsageModel
244+
{
245+
Dimensions = new UsageModel.DimensionsModel()
246+
{Date = DateTimeOffset.Now, Guid = Guid.NewGuid()}
247+
},
191248
};
192249
var service = CreateUsageService(models);
193250
var serviceProvider = CreateServiceProvider();
@@ -209,7 +266,10 @@ public async Task ShouldIncrementCounter()
209266
{
210267
var model = new UsageModel
211268
{
212-
Date = DateTimeOffset.Now,
269+
Dimensions = new UsageModel.DimensionsModel()
270+
{
271+
Date = DateTimeOffset.Now,
272+
},
213273
Measures = new UsageModel.MeasuresModel
214274
{
215275
NumberOfClones = 4
@@ -229,7 +289,8 @@ public async Task ShouldWriteUpdatedData()
229289
{
230290
var data = new UsageModel
231291
{
232-
Date = DateTimeOffset.Now,
292+
Dimensions = new UsageModel.DimensionsModel()
293+
{ Date = DateTimeOffset.Now, },
233294
};
234295
var service = CreateUsageService(data);
235296
var target = new UsageTracker(
@@ -249,7 +310,8 @@ public async Task ShouldCreateNewRecordIfNewDay()
249310
{
250311
var data = new UsageModel
251312
{
252-
Date = DateTimeOffset.Now - TimeSpan.FromDays(1),
313+
Dimensions = new UsageModel.DimensionsModel()
314+
{ Date = DateTimeOffset.Now - TimeSpan.FromDays(1),}
253315
};
254316
var service = CreateUsageService(data);
255317
var target = new UsageTracker(
@@ -261,7 +323,7 @@ public async Task ShouldCreateNewRecordIfNewDay()
261323
await service.Received(1).WriteLocalData(
262324
Arg.Is<UsageData>(x =>
263325
x.Reports.Count == 2 &&
264-
x.Reports[1].Guid == UserGuid &&
326+
x.Reports[1].Dimensions.Guid == UserGuid &&
265327
x.Reports[1].Measures.NumberOfClones == 1));
266328
}
267329
}

0 commit comments

Comments
 (0)