static void Main(string[] args) { if (!SharedUtils.PrintVersionsAndCheckArgs(args, typeof(EmbeddedAssemblyTestAppProgram))) { return; } var arguments = SharedUtils.LoadArguments(args); TelimenaStartupInfo si = new TelimenaStartupInfo(arguments.TelemetryKey) { ProgramInfo = arguments.ProgramInfo , DeliveryInterval = TimeSpan.FromSeconds(3) }; //this is to test that telimena works OK if used as embedded assembly var teli = Telimena.Construct(si); teli.Track.Event("HelloFromEmbeddedTelimenaClientApp"); teli.Track.SendAllDataNow(); Console.WriteLine("Ended with no errors"); }
private void setAppButton_Click(object sender, EventArgs e) { var si = new TelimenaStartupInfo(Guid.Empty, telemetryApiBaseUrl: new Uri(this.apiUrlTextBox.Text)) { InstrumentationKey = "1a14064b-d326-4ce3-939e-8cba4d08c255" }; if (!string.IsNullOrEmpty(this.userNameTextBox.Text)) { si.UserInfo = new UserInfo { UserIdentifier = this.userNameTextBox.Text }; } if (Guid.TryParse(this.apiKeyTextBox.Text, out Guid key)) { si.TelemetryKey = key; Properties.Settings.Default.telemetryKey = this.apiKeyTextBox.Text; Properties.Settings.Default.Save(); this.Telimena = TelimenaFactory.Construct(si) as Telimena; ; } else { MessageBox.Show("Api key missing, cannot run teli"); } Properties.Settings.Default.baseUri = this.apiUrlTextBox.Text; Properties.Settings.Default.Save(); }
public static ITelimena GetCrackedTelimena(ICollection <ITelemetry> sentTelemetry, Guid telemetryKey, string userName, bool excludeStartingEvent = false) { var startupInfo = new TelimenaStartupInfo(telemetryKey, Helpers.TeliUri) { UserInfo = new TelimenaClient.Model.UserInfo() { UserIdentifier = userName } }; var telimena = TelimenaFactory.Construct(startupInfo); StubTelemetryChannel channel = new StubTelemetryChannel { OnSend = t => { EventTelemetry ev = t as EventTelemetry; if (excludeStartingEvent && ev?.Name == "TelimenaSessionStarted") { return; } sentTelemetry.Add(t); } }; TelemetryModule module = telimena.GetFieldValue <TelemetryModule>("telemetryModule"); SetStaticFieldValue(module, "isSessionStartedEventSent", false); TelemetryClient client = module.GetPropertyValue <TelemetryClient>("TelemetryClient"); var config = client.GetPropertyValue <TelemetryConfiguration>("TelemetryConfiguration"); config.SetPropertyValue("TelemetryChannel", channel); return(telimena); }
public void Test_InitializeRequestCreation() { TelimenaStartupInfo si = new TelimenaStartupInfo(this.testTelemetryKey, Helpers.TeliUri); Telimena telimena = TelimenaFactory.Construct(si) as Telimena; telimena.Properties.SuppressAllErrors = false; Assert.AreEqual(this.testTelemetryKey, telimena.Properties.TelemetryKey); Helpers.SetupMockHttpClient(telimena, Helpers.GetMockClient()); this.Test_RegistrationFunc(telimena, () => telimena.Initialize().GetAwaiter().GetResult(), false); }
public void Test__NoInstrumentationKey_ClientCanBeBuiltOk() { var si = new TelimenaStartupInfo(TestTelemetryKey); var props = new TelimenaProperties(si); var builder = new TelemetryClientBuilder(props); var client = builder.GetClient(); Assert.AreEqual("", client.InstrumentationKey); var channel = client.TelemetryConfiguration.TelemetryChannel as TelimenaInMemoryChannel; Assert.IsNotNull(channel); var transmitter = channel.transmitter as TelimenaInMemoryTransmitter; Assert.IsNotNull(transmitter); Assert.That(() => transmitter.DeliverySettings.AppInsightsEndpointEnabled == false); Assert.That(() => transmitter.DeliverySettings.TelimenaTelemetryEndpoint.ToString(), Is.EqualTo(Telimena.DefaultApiUri + "api/v1/telemetry")); Assert.That(() => transmitter.SendingInterval == TimeSpan.FromSeconds(30)); }
public void Test__InstrumentationKey_DeliverySettingsProvided() { var si = new TelimenaStartupInfo(TestTelemetryKey); si.DeliveryInterval = TimeSpan.FromHours(667); si.InstrumentationKey = "yo, MSFT-o"; var props = new TelimenaProperties(si); var builder = new TelemetryClientBuilder(props); var client = builder.GetClient(); Assert.AreEqual("yo, MSFT-o", client.TelemetryConfiguration.InstrumentationKey); Assert.AreEqual("yo, MSFT-o", client.InstrumentationKey); var channel = client.TelemetryConfiguration.TelemetryChannel as TelimenaInMemoryChannel; Assert.IsNotNull(channel); var transmitter = channel.transmitter as TelimenaInMemoryTransmitter; Assert.IsNotNull(transmitter); Assert.That(() => transmitter.SendingInterval == TimeSpan.FromHours(667)); Assert.That(() => transmitter.DeliverySettings.AppInsightsEndpointEnabled == true); }
static void Main(string[] args) { SharedUtils.ShowArgsRequiredMessage(args, typeof(EmbeddedAssemblyTestAppProgram), "EmbeddedAssemblyTestApp"); var arguments = SharedUtils.LoadArguments(args); TelimenaStartupInfo si = new TelimenaStartupInfo(arguments.TelemetryKey, new Uri(arguments.ApiUrl)) { ProgramInfo = arguments.ProgramInfo , DeliveryInterval = TimeSpan.FromSeconds(3) }; //this is to test that telimena works OK if used as embedded assembly var teli = Telimena.Construct(si); teli.Track.Event("HelloFromEmbeddedTelimenaClientApp"); teli.Track.SendAllDataNow(); Console.WriteLine("Ended with no errors"); }
public void Test_CheckForUpdates_Program_AndUpdater() { var si = new TelimenaStartupInfo(Guid.NewGuid(), Helpers.TeliUri) { SuppressAllErrors = false }; ITelimena sut = TelimenaFactory.Construct(si); Assert.AreEqual("Telimena.Client.Tests", sut.Properties.StaticProgramInfo.PrimaryAssembly.Name); UpdateResponse latestVersionResponse = new UpdateResponse { UpdatePackages = new List <UpdatePackageData> { new UpdatePackageData { FileSizeBytes = 666, PublicId = Guid.NewGuid(), IsBeta = true, Version = "3.1.0.0" } } }; UpdateResponse updaterResponse = new UpdateResponse { UpdatePackages = new List <UpdatePackageData> { new UpdatePackageData { FileName = DefaultToolkitNames.UpdaterFileName, Version = "1.2" } } }; Helpers.SetupMockHttpClient(sut, this.GetMockClientForCheckForUpdates(sut.Properties.TelemetryKey, latestVersionResponse, updaterResponse)); UpdateCheckResult response = sut.Update.CheckForUpdatesAsync().GetAwaiter().GetResult(); Assert.IsTrue(response.IsUpdateAvailable); Assert.AreEqual(1, response.ProgramUpdatesToInstall.Count); Assert.IsNotNull(response.ProgramUpdatesToInstall.SingleOrDefault(x => x.Version == "3.1.0.0" && x.IsBeta)); Assert.AreEqual("1.2", response.UpdaterUpdate.Version); Assert.IsNull(response.Exception); }
private ITelimena GetTelimena(Guid argumentsTelemetryKey) { ITelimena telimena; if (this.arguments.ProgramInfo != null) { TelimenaStartupInfo si = new TelimenaStartupInfo(argumentsTelemetryKey, new Uri(this.arguments.ApiUrl)) { ProgramInfo = this.arguments.ProgramInfo , DeliveryInterval = TimeSpan.FromSeconds(3) }; telimena = TelimenaFactory.Construct(si); } else { telimena = TelimenaFactory.Construct(new TelimenaStartupInfo(argumentsTelemetryKey, new Uri(this.arguments.ApiUrl)) { DeliveryInterval = TimeSpan.FromSeconds(3) }); } return(telimena); }
private ITelimena GetTelimena(Guid argumentsTelemetryKey) { ITelimena telimena; if (this.arguments.ProgramInfo != null) { TelimenaStartupInfo si = new TelimenaStartupInfo(argumentsTelemetryKey, new Uri(this.arguments.ApiUrl)) { ProgramInfo = this.arguments.ProgramInfo , DeliveryInterval = TimeSpan.FromSeconds(3) }; telimena = TelimenaFactory.Construct(si); } else { telimena = TelimenaFactory.Construct(new TelimenaStartupInfo(argumentsTelemetryKey, new Uri(this.arguments.ApiUrl)) { DeliveryInterval = TimeSpan.FromSeconds(3) }); } Console.WriteLine($"Initalized [{telimena?.GetType().FullName}]."); return(telimena); }