private Mock <ITelimenaHttpClient> GetMockClientForCheckForUpdates(Guid propertiesTelemetryKey, object programUpdatesResponse, object updaterResponse) { Mock <ITelimenaHttpClient> client = new Mock <ITelimenaHttpClient>(); client.Setup(x => x.GetAsync(It.IsRegex("^" + Regex.Escape(ApiRoutes.GetProgramUpdaterName(propertiesTelemetryKey))))).Returns((string uri) => { HttpResponseMessage response = new HttpResponseMessage(); response.Content = new StringContent("MyUpdater.exe"); return(Task.FromResult(response)); }); client.Setup(x => x.PostAsync("api/v1/telemetry/initialize", It.IsAny <HttpContent>())).Returns((string uri, HttpContent requestContent) => { HttpResponseMessage response = new HttpResponseMessage(); TelemetryInitializeResponse telemetryInitializeResponse = new TelemetryInitializeResponse { UserId = Guid.NewGuid() }; response.Content = new StringContent(JsonConvert.SerializeObject(telemetryInitializeResponse)); return(Task.FromResult(response)); }); client.Setup(x => x.PostAsync(It.IsRegex(".*" + Regex.Escape(ApiRoutes.ProgramUpdateCheck)), It.IsAny <HttpContent>())).Returns((string uri, HttpContent cnt) => { HttpResponseMessage response = new HttpResponseMessage(); response.Content = new StringContent(JsonConvert.SerializeObject(programUpdatesResponse)); return(Task.FromResult(response)); }); client.Setup(x => x.PostAsync(It.IsRegex(".*" + Regex.Escape(ApiRoutes.UpdaterUpdateCheck)), It.IsAny <HttpContent>())).Returns((string uri, HttpContent cnt) => { HttpResponseMessage response = new HttpResponseMessage(); response.Content = new StringContent(JsonConvert.SerializeObject(updaterResponse)); return(Task.FromResult(response)); }); return(client); }
public static IMessenger GetMessenger_InitializeAndAcceptTelemetry(Guid key) { Mock <ITelimenaHttpClient> client = new Mock <ITelimenaHttpClient>(); client.Setup(x => x.GetAsync(It.IsRegex("^" + Regex.Escape(ApiRoutes.GetProgramUpdaterName(key))))).Returns((string uri) => { HttpResponseMessage response = new HttpResponseMessage(); response.Content = new StringContent("Updater.exe"); return(Task.FromResult(response)); }); client.Setup(x => x.PostAsync(ApiRoutes.Initialize, It.IsAny <HttpContent>())).Returns((string uri, HttpContent requestContent) => { HttpResponseMessage response = new HttpResponseMessage(); TelemetryInitializeResponse telemetryInitializeResponse = new TelemetryInitializeResponse { UserId = Guid.NewGuid() }; response.Content = new StringContent(JsonConvert.SerializeObject(telemetryInitializeResponse)); return(Task.FromResult(response)); }); client.Setup(x => x.PostAsync(It.IsIn(ApiRoutes.PostTelemetryData), It.IsAny <HttpContent>())).Returns( (string uri, HttpContent requestContent) => Task.FromResult(new HttpResponseMessage(HttpStatusCode.Accepted))); return(new Messenger(new TelimenaSerializer(), client.Object)); ; }