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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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));
            }
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 6
0
 private void NewMapForm_Load(object sender, EventArgs e)
 {
     Config = new NewConfig();
 }