public void UpdateTwinIsHealthy() { Skip.IfNot(this.credentialsAvailable, "Skipping this test for Travis pull request as credentials are not available"); var deviceId = "updateTwinTestDevice1"; var device = this.CreateDeviceIfNotExists(deviceId); try { var newTagValue = Guid.NewGuid().ToString(); // update twin by adding/editing a tag if (device.Tags.ContainsKey("newTag")) { device.Tags["newTag"] = newTagValue; } else { device.Tags.Add("newTag", newTagValue); } var newConfig = new NewConfig { TelemetryInterval = 10, TelemetryType = "Type1;Type2" }; // update twin by adding config var configValue = JToken.Parse(JsonConvert.SerializeObject(newConfig)); if (device.Properties.Desired.ContainsKey("config")) { device.Properties.Desired["config"] = configValue; } else { device.Properties.Desired.Add("config", configValue); } var request = new HttpRequest(); request.SetUriFromString(AssemblyInitialize.Current.WsHostname + $"/v1/devices/{deviceId}"); request.SetContent(device); var response = this.httpClient.PutAsync(request).Result; device = JsonConvert.DeserializeObject <DeviceRegistryApiModel>(response.Content); Assert.Equal(newTagValue, device.Tags["newTag"]); // get device again device = this.GetDevice(deviceId); Assert.Equal(newTagValue, device.Tags["newTag"]); var configInTwin = JsonConvert.DeserializeObject <NewConfig>(device.Properties.Desired["config"].ToString()); Assert.Equal(10, configInTwin.TelemetryInterval); } finally { // clean it up this.DeleteDeviceIfExists(deviceId); } }
public static void Read() { if (loaded == true) { return; } try { FileStream Configu; try { Configu = new FileStream(Application.StartupPath + "/Configuration.obc", FileMode.Open); } #pragma warning disable 0168 catch (System.IO.FileNotFoundException e) { Config.GenStandartFile(); return; } #pragma warning restore 0168 StreamReader ConfigReader = new StreamReader(Configu); string param; while (ConfigReader.EndOfStream == false) { param = ConfigReader.ReadLine(); param.Trim(); if (param.Length < 2) { continue; } if (param[0] == '/' && param[1] == '/') { continue; } string[] read = param.Split('='); if (read.Length == 2) { if (ConfigurationInfo.ContainsKey(read[0]) == false) { ConfigurationInfo.Add(read[0], read[1]); } } } ConfigReader.Close(); string h = " "; loaded = true; if (NewConfig != null) { NewConfig.Invoke(h, new ConfigurationChangeArgs(true, "AllParams")); } } catch (Exception e) { MessageBox.Show(e.Message); } }
public static void SetKeyValue(string Key, string NewValue, bool lng = false) { if (lng) { string oldValue2; if (ConfigurationInfo.TryGetValue(Key, out oldValue2) == false) { ConfigurationInfo.Add(Key, NewValue); } else { ConfigurationInfo.Remove(Key); ConfigurationInfo.Add(Key, NewValue); } return; } string oldValue; if (Key.Split('.')[0] == "language" && Key != "language") { return; } if (ConfigurationInfo.TryGetValue(Key, out oldValue) == false) { ConfigurationInfo.Add(Key, NewValue); } else { ConfigurationInfo.Remove(Key); ConfigurationInfo.Add(Key, NewValue); } if (Key == "language") { return; } string H = " "; if (NewConfig != null) { NewConfig.Invoke(H, new ConfigurationChangeArgs(false, Key)); } }
private void menuItem9_Click(object sender, EventArgs e) { if (currentConfig != "null") { NewConfig nc = new NewConfig(currentConfig); DialogResult dr = nc.ShowDialog(); switch (dr) { case (DialogResult.OK): ResetItems(this.Controls, true); curNpcId = nc.npcId; Console.WriteLine("Selected NPC ID was {0}", curNpcId); break; case (DialogResult.Cancel): break; } } else { //reset items, when this is actually implemented of course ResetItems(this.Controls, true); } }
public void GetDeviceListWithQueryTest() { Skip.IfNot(this.credentialsAvailable, "Skipping this test for Travis pull request as credentials are not available"); var deviceId = "testDevice-getdeviceListWithReportedQuery"; var device = this.CreateDeviceIfNotExists(deviceId); try { var newTagValue = $"mynewTag{DateTime.Now.Ticks}"; // update newTag/desired property { if (device.Tags.ContainsKey("newTag")) { device.Tags["newTag"] = newTagValue; } else { device.Tags.Add("newTag", newTagValue); } var newConfig = new NewConfig { TelemetryInterval = 10 }; // update desired value var configValue = JToken.Parse(JsonConvert.SerializeObject(newConfig)); if (device.Properties.Desired.ContainsKey("config")) { device.Properties.Desired["config"] = configValue; } else { device.Properties.Desired.Add("config", configValue); } var newReport = new NewConfig { TelemetryInterval = 15 }; var request = new HttpRequest(); request.SetUriFromString(AssemblyInitialize.Current.WsHostname + $"/v1/devices/{deviceId}"); request.SetContent(device); var response = this.httpClient.PutAsync(request).Result; Assert.Equal(HttpStatusCode.OK, response.StatusCode); } // verify var queries = new List <string>(); queries.Add(WebUtility.UrlEncode($"tags.newTag = '{newTagValue}'")); queries.Add(WebUtility.UrlEncode($"properties.desired.config.TelemetryInterval = 10")); queries.Add(WebUtility.UrlEncode($"properties.desired.config.TelemetryInterval > 9")); queries.Add(WebUtility.UrlEncode($"properties.desired.config.TelemetryInterval >= 10")); queries.Add(WebUtility.UrlEncode($"properties.desired.config.TelemetryInterval < 11")); queries.Add(WebUtility.UrlEncode($"properties.desired.config.TelemetryInterval <= 10")); queries.Add(WebUtility.UrlEncode($"tags.newTag = '{newTagValue}' and properties.desired.config.TelemetryInterval = 10")); queries.Add(WebUtility.UrlEncode($"properties.desired.config.TelemetryInterval = 10")); foreach (var query in queries) { var request = new HttpRequest(); request.SetUriFromString(AssemblyInitialize.Current.WsHostname + $"/v1/devices?query={query}"); var response = this.httpClient.GetAsync(request).Result; Assert.Equal(HttpStatusCode.OK, response.StatusCode); var deviceList = JsonConvert.DeserializeObject <DeviceListApiModel>(response.Content); Assert.True(deviceList.Items.Count >= 1, WebUtility.UrlDecode(query)); Assert.True(deviceList.Items.Any(d => d.Id == deviceId), WebUtility.UrlDecode(query)); } queries.Clear(); queries.Add(WebUtility.UrlEncode($"properties.desired.config.TelemetryInterval != 10")); queries.Add(WebUtility.UrlEncode($"properties.desired.config.TelemetryInterval < 9")); queries.Add(WebUtility.UrlEncode($"properties.desired.config.TelemetryInterval > 10 and properties.desired.config.TelemetryInterval = 10")); foreach (var query in queries) { var request = new HttpRequest(); request.SetUriFromString(AssemblyInitialize.Current.WsHostname + $"/v1/devices?query={query}"); var response = this.httpClient.GetAsync(request).Result; Assert.Equal(HttpStatusCode.OK, response.StatusCode); var deviceList = JsonConvert.DeserializeObject <DeviceListApiModel>(response.Content); Assert.True(!deviceList.Items.Any(d => d.Id == deviceId), WebUtility.UrlDecode(query)); } } finally { // clean it up this.DeleteDeviceIfExists(deviceId); } }
private void NewMapForm_Load(object sender, EventArgs e) { Config = new NewConfig(); }