コード例 #1
0
        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");
        }
コード例 #2
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);
        }