public void Should_update_users_status() { var url = string.Format("https://{0}/v2", EndpointHost); var client = new RestClient(url); var request = new RestRequest("/user/" + RestSharp.Contrib.HttpUtility.UrlEncode(Email), Method.PUT); request.AddQueryParameter("auth_token", Token); var user = new HipChatUser() { name = "", email = Email, presence = new Presence() { status = "blah", show = "away" }, mention_name = "" }; request.AddJsonBody(user); request.RequestFormat = DataFormat.Json; request.AddHeader("Content-type", "application/json"); request.AddHeader("Accept", "application/json"); var response = client.Execute(request); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); }
public bool UpdateUserStatus(string token, HipChatUser user) { if (user == null || user.presence == null || string.IsNullOrWhiteSpace(user.name) || string.IsNullOrWhiteSpace(user.email) || string.IsNullOrWhiteSpace(user.mention_name)) { throw new ArgumentException("user"); } var encodedEmail = RestSharp.Contrib.HttpUtility.UrlEncode(user.email); var resourceUrl = string.Format("user/{0}", encodedEmail); var client = new RestClient(EndpointHost); var request = new RestRequest(resourceUrl, Method.PUT); request.AddQueryParameter("auth_token", token); request.AddJsonBody(user); request.RequestFormat = DataFormat.Json; request.AddHeader("Content-type", "application/json"); request.AddHeader("Accept", "application/json"); IRestResponse response; try { response = client.Execute(request); } catch (Exception) { return false; } if (response.StatusCode == System.Net.HttpStatusCode.NoContent) { return true; } return false; }