public async Task SendMessage(string msg, InstallationData installationData) { using (var client = new HttpClient()) { var accessToken = await _tenantService.GetAccessTokenAsync(installationData.oauthId); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.access_token); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var messageData = new { color = "gray", message = msg, message_format = "html" }; var stringContent = new StringContent(JsonConvert.SerializeObject(messageData)); stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var roomGlanceUpdateUri = new Uri($"{installationData.apiUrl}room/{installationData.roomId}/notification"); var httpResponseMessage = await client.PostAsync(roomGlanceUpdateUri, stringContent); httpResponseMessage.EnsureSuccessStatusCode(); } }
public async Task UpdateGlance(InstallationData installationData) { openCounter++; var glanceData = new { glance = new[] { new { key = "nubot.glance", // see installation descriptor content = BuildGlanceString(openCounter.ToString()) } } }; using (var client = new HttpClient()) { var accessToken = await _tenantService.GetAccessTokenAsync(installationData.oauthId); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.access_token); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var stringContent = new StringContent(JsonConvert.SerializeObject(glanceData)); stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var roomGlanceUpdateUri = new Uri($"{installationData.apiUrl}addon/ui/room/{installationData.roomId}"); var httpResponseMessage = await client.PostAsync(roomGlanceUpdateUri, stringContent); httpResponseMessage.EnsureSuccessStatusCode(); } }
public void can_convert__to_installation() { var installationData = new InstallationData(); var installation = installationData.ToInstallation(); // ReSharper disable once IsExpressionAlwaysTrue Assert.That(installation is Installation, Is.Not.Null); }
public void convert_to_installation__preserves_computer_type() { const ComputerType computerType = ComputerType.Laptop; var installationData = new InstallationData { ComputerType = computerType }; var installation = installationData.ToInstallation(); Assert.That(installation.ComputerType, Is.EqualTo(computerType)); }
public void convert_to_installation__preserves_application_id() { const int applicationId = 11; var installationData = new InstallationData { ApplicationId = applicationId }; var installation = installationData.ToInstallation(); Assert.That(installation.ApplicationId, Is.EqualTo(applicationId)); }
public void convert_to_installation__preserves_user_id() { const int userId = 7; var installationData = new InstallationData { UserId = userId }; var installation = installationData.ToInstallation(); Assert.That(installation.UserId, Is.EqualTo(userId)); }
public void convert_to_installation__preserves_computer_id() { const int computerId = 3; var installationData = new InstallationData { ComputerId = computerId }; var installation = installationData.ToInstallation(); Assert.That(installation.ComputerId, Is.EqualTo(computerId)); }
public async Task CreateAsync(InstallationData installationData) { var response = await _httpClient.GetAsync(new Uri(installationData.capabilitiesUrl)); response.EnsureSuccessStatusCode(); var capabilitiesDocument = JsonConvert.DeserializeObject <CapabilitiesDocument>(await response.Content.ReadAsStringAsync()); installationData.tokenUrl = capabilitiesDocument.capabilities.oauth2Provider.tokenUrl; installationData.apiUrl = capabilitiesDocument.capabilities.hipchatApiProvider.url; await _database.StringSetAsync($"{installationData.oauthId}:installationData", JsonConvert.SerializeObject(installationData)); await _database.ListLeftPushAsync("installations", installationData.oauthId); }
public void convert_to_installation__combined_properties_correct() { const int computerId = 1; const int userId = 2; const int applicationId = 3; const ComputerType computerType = ComputerType.Desktop; var installationData = new InstallationData { ComputerId = computerId, UserId = userId, ApplicationId = applicationId, ComputerType = computerType }; var installation = installationData.ToInstallation(); Assert.That(installation.ComputerId, Is.EqualTo(computerId)); Assert.That(installation.UserId, Is.EqualTo(userId)); Assert.That(installation.ApplicationId, Is.EqualTo(applicationId)); Assert.That(installation.ComputerType, Is.EqualTo(computerType)); }
public InstalledBuildViewModel(BuildExplorerViewModel root, InstallationData installationData) { _installationData = installationData; _root = root; _processes = new List <ChromeProcessViewModel>(); IntPtr hicon = IntPtr.Zero; try { string iconPath = Path.Combine(_installationData.InstallationPath.FullName, "chrome.exe"); ushort index = (ushort)_installationData.IconIndex; hicon = Core.Win32.Shell.NativeMethods.ExtractAssociatedIcon(IntPtr.Zero, iconPath, ref index); using (Icon icon = Icon.FromHandle(hicon)) { _icon = Imaging.CreateBitmapSourceFromHIcon( icon.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); } } catch { _icon = null; } }
public void OneTimeSetUp() { var mappingError = new CsvMappingError { ColumnIndex = 44, Value = "Test error" }; _data0 = new InstallationData { ComputerId = 03, UserId = 04, ApplicationId = 05, ComputerType = ComputerType.Laptop }; _data1 = new InstallationData { ComputerId = 13, UserId = 14, ApplicationId = 15, ComputerType = ComputerType.Desktop }; _data2 = new InstallationData { ComputerId = 23, UserId = 24, ApplicationId = 25, ComputerType = ComputerType.Laptop }; var valid0 = new CsvMappingResult <InstallationData> { RowIndex = 0, Result = _data0 }; var valid1 = new CsvMappingResult <InstallationData> { RowIndex = 1, Result = _data1 }; var valid2 = new CsvMappingResult <InstallationData> { RowIndex = 2, Result = _data2 }; // Note Result would likely be null in a real error item, (but possibly not). This wild data allows us to check that IsValid is used during conversion, not (null != Result) which would be wrong. var invalid1 = new CsvMappingResult <InstallationData> { RowIndex = 1, Error = mappingError, Result = _data1 }; _allValid = new List <CsvMappingResult <InstallationData> > { valid0, valid1, valid2 }; _invalidIndex1 = new List <CsvMappingResult <InstallationData> > { valid0, invalid1, valid2 }; }
public async Task SendCardMessage(string msg, string description, InstallationData installationData) { using (var client = new HttpClient()) { var accessToken = await _tenantService.GetAccessTokenAsync(installationData.oauthId); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.access_token); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var messageData = new { color = "gray", message = msg, message_format = "text", card = new { style = "application", id = "some_id", url = "http://laurentkempe.com", title = "Such awesome. Very API. Wow!", description = description, thumbnail = new { url = "https://pbs.twimg.com/profile_images/582836487776944129/cslDTKEq.jpg" } } }; var stringContent = new StringContent(JsonConvert.SerializeObject(messageData)); stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var roomGlanceUpdateUri = new Uri($"{installationData.apiUrl}room/{installationData.roomId}/notification"); var httpResponseMessage = await client.PostAsync(roomGlanceUpdateUri, stringContent); httpResponseMessage.EnsureSuccessStatusCode(); } }
public async Task <HttpStatusCode> Install([FromBody] InstallationData installation) { await _tenantService.CreateAsync(installation); return(HttpStatusCode.OK); }
public void can_create() { var installationData = new InstallationData(); Assert.That(installationData, Is.Not.Null); }