public void When_downloading_appstore_profile_we_get_file() { var data = new DownloadProvisioningProfileRequest { Username = "******", Password = "******", Team = "MoveOn", AppId = "com.moveonsoftware.timeon", AdHoc = false }; var urlEncodedContent = new FormUrlEncodedContent(new Dictionary <string, string> { { "Username", data.Username }, { "Password", data.Password }, { "Team", data.Team }, { "AppId", data.AppId }, { "AdHoc", data.AdHoc.ToString() } }); var result = client.PostAsync("admin/appleDevCenter/downloadProfile", urlEncodedContent).Result; try { Console.WriteLine(result.Content.ReadAsAsync <HttpError>().Result.Message); } catch (Exception) { } Assert.IsTrue(result.IsSuccessStatusCode); Assert.AreEqual("TimeOn_AppStore.mobileprovision", result.Content.Headers.ContentDisposition.FileName); Assert.Greater(result.Content.Headers.ContentLength, 0, "Content-Length is 0"); }
public HttpResponseMessage Post(DownloadProvisioningProfileRequest request) { var result = _agent.DownloadProfile(request.Username, request.Password, request.Team, request.AppId, request.AdHoc); if (!result.IsSuccessful) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, result.ErrorMessage)); } var response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(result.FileStream) }; response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = result.FileName }; response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); return(response); }