public void UpdateXboxSettingsTest() { XboxSetting setting = new XboxSetting(); setting.Name = "TVResolution"; setting.Value = "1080p"; HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.NoContent); TestHelpers.MockHttpResponder.AddMockResponse(Path.Combine(DevicePortal.XboxSettingsApi, setting.Name), HttpMethods.Put); Task <XboxSetting> updateSettingsTask = TestHelpers.Portal.UpdateXboxSettingAsync(setting); updateSettingsTask.Wait(); Assert.AreEqual(TaskStatus.RanToCompletion, updateSettingsTask.Status); XboxSetting recievedSetting = updateSettingsTask.Result; // Check some known things about this response. Assert.AreEqual(setting.Name, recievedSetting.Name); Assert.AreEqual("1080p", recievedSetting.Value); Assert.AreEqual("Video", recievedSetting.Category); Assert.AreEqual("No", recievedSetting.RequiresReboot); }
/// <summary> /// Updates info for the given Xbox setting. /// </summary> /// <param name="setting">Setting to be updated.</param> /// <returns>Task for tracking async completion.</returns> public async Task <XboxSetting> UpdateXboxSettingAsync(XboxSetting setting) { if (this.Platform != DevicePortalPlatforms.XboxOne) { throw new NotSupportedException("This method is only supported on Xbox One."); } return(await this.PutAsync <XboxSetting, XboxSetting>(Path.Combine(XboxSettingsApi, setting.Name), setting)); }
public void GetSingleXboxSettingTest() { string settingName = "TVResolution"; TestHelpers.MockHttpResponder.AddMockResponse(Path.Combine(DevicePortal.XboxSettingsApi, settingName), HttpMethods.Get); Task <XboxSetting> getSettingTask = TestHelpers.Portal.GetXboxSettingAsync(settingName); getSettingTask.Wait(); Assert.AreEqual(TaskStatus.RanToCompletion, getSettingTask.Status); XboxSetting setting = getSettingTask.Result; // Check some known things about this response. Assert.AreEqual(settingName, setting.Name); Assert.AreEqual("720p", setting.Value); Assert.AreEqual("Video", setting.Category); Assert.AreEqual("No", setting.RequiresReboot); }
/// <summary> /// Main entry point for handling a Config operation /// </summary> /// <param name="portal">DevicePortal reference for communicating with the device.</param> /// <param name="parameters">Parsed command line parameters.</param> public static void HandleOperation(DevicePortal portal, ParameterHelper parameters) { if (parameters.HasFlag(ParameterHelper.HelpFlag)) { Console.WriteLine(ConfigUsageMessage); return; } string desiredSetting = parameters.GetParameterValue("setting"); string desiredValue = parameters.GetParameterValue("value"); // Determine if this is for all settings or a single setting. if (string.IsNullOrWhiteSpace(desiredSetting)) { Task <XboxSettingList> getSettingsTask = portal.GetXboxSettings(); getSettingsTask.Wait(); Console.WriteLine(getSettingsTask.Result); } else { if (string.IsNullOrWhiteSpace(desiredValue)) { Task <XboxSetting> getSettingTask = portal.GetXboxSetting(desiredSetting); getSettingTask.Wait(); Console.WriteLine(getSettingTask.Result); } else { XboxSetting setting = new XboxSetting(); setting.Name = desiredSetting; setting.Value = desiredValue; Task <XboxSetting> setSettingTask = portal.UpdateXboxSetting(setting); setSettingTask.Wait(); Console.WriteLine(setSettingTask.Result); } } }