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);
        }
Exemple #2
0
        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));

            ;
        }