public void ProcessResults_WithSucceededResponse_IsProcessed() { var statProc = new MediaRequestProcessor <Media> { Type = MediaType.Status, UploadUrl = BaseUrlAndVersion, MediaID = 773017325037580289ul }; List <Media> mediaList = statProc.ProcessResults(MediaStatusSucceededResponse); Assert.IsNotNull(mediaList); Assert.AreEqual(1, mediaList.Count); Media media = mediaList.Single(); Assert.IsNotNull(media); Assert.AreEqual(773017325037580289ul, media.MediaID); Assert.AreEqual(7319206, media.Size); Assert.AreEqual(86395, media.ExpiresAfterSeconds); Assert.AreEqual("video/mp4", media.VideoType); Assert.IsNotNull(media.ProcessingInfo); MediaProcessingInfo info = media.ProcessingInfo; Assert.AreEqual(MediaProcessingInfo.Succeeded, info.State); Assert.AreEqual(100, info.ProgressPercent); }
public void ProcessResults_WithFailedResponse_IsProcessed() { var statProc = new MediaRequestProcessor <Media> { Type = MediaType.Status, UploadUrl = BaseUrlAndVersion, MediaID = 773000650376548356ul }; List <Media> mediaList = statProc.ProcessResults(MediaStatusFailedResponse); Assert.IsNotNull(mediaList); Assert.AreEqual(1, mediaList.Count); Media media = mediaList.Single(); Assert.IsNotNull(media); Assert.AreEqual(773000650376548356ul, media.MediaID); Assert.AreEqual(28276017, media.Size); Assert.IsNotNull(media.ProcessingInfo); MediaProcessingInfo info = media.ProcessingInfo; Assert.AreEqual(MediaProcessingInfo.Failed, info.State); Assert.AreEqual(100, info.ProgressPercent); Assert.IsNotNull(info.Error); MediaError error = info.Error; Assert.AreEqual(3, error.Code); Assert.AreEqual("UnsupportedMedia", error.Name); Assert.AreEqual("Duration 10.minutes+22.seconds+628.milliseconds exceeds max duration of 2.minutes+20.seconds", error.Message); }
public void MediaRequestProcessor_Works_With_Json_Format_Data() { var statProc = new MediaRequestProcessor <Media> { BaseUrl = BaseUrlAndVersion }; Assert.IsInstanceOfType(statProc, typeof(IRequestProcessorWantsJson)); }
public void BuildUrl_Throws_On_Null_Parameter() { var target = new MediaRequestProcessor <Media> { BaseUrl = BaseUrlAndVersion }; ArgumentException ex = L2TAssert.Throws <ArgumentException>(() => target.BuildUrl(null)); Assert.AreEqual(nameof(Media.Type), ex.ParamName); }
public void ProcessResults_Returns_Empty_Collection_When_Empty_Results() { var statProc = new MediaRequestProcessor <Media>() { BaseUrl = BaseUrlAndVersion }; List <Media> stats = statProc.ProcessResults(string.Empty); Assert.AreEqual(0, stats.Count); }
public void BuildUrl_Throws_On_Missing_Type() { var mediaReqProc = new MediaRequestProcessor <Media> { BaseUrl = BaseUrlAndVersion }; var parameters = new Dictionary <string, string> { }; ArgumentException ex = L2TAssert.Throws <ArgumentException>(() => mediaReqProc.BuildUrl(parameters)); Assert.AreEqual(nameof(Media.Type), ex.ParamName); }
public void BuildStatusUrl_MissingRequiredMediaID_Throws() { var target = new MediaRequestProcessor <Media> { BaseUrl = BaseUrlAndVersion }; var parameters = new Dictionary <string, string> { { nameof(Media.Type), ((int)MediaType.Status).ToString() }, { nameof(Media.Command), Media.StatusCommand }, //{ nameof(Media.MediaID), 123.ToString() } }; ArgumentException ex = L2TAssert.Throws <ArgumentException>(() => target.BuildUrl(parameters)); Assert.AreEqual(nameof(Media.MediaID), ex.ParamName); }
public void BuildUrl_Constructs_Status_Url() { const string ExpectedUrl = BaseUrlAndVersion + "media/upload.json?command=STATUS&media_id=123"; var reqProc = new MediaRequestProcessor <Media> { Type = MediaType.Status, UploadUrl = BaseUrlAndVersion }; var parameters = new Dictionary <string, string> { { nameof(Media.Type), ((int)MediaType.Status).ToString() }, { nameof(Media.Command), Media.StatusCommand }, { nameof(Media.MediaID), 123.ToString() } }; Request req = reqProc.BuildUrl(parameters); Assert.AreEqual(ExpectedUrl, req.FullUrl); }
public void ProcessResults_Populates_Input_Parameters() { var statProc = new MediaRequestProcessor <Media>() { BaseUrl = BaseUrlAndVersion, Type = MediaType.Status, Command = "STATUS", MediaID = 123, }; List <Media> mediaList = statProc.ProcessResults(MediaStatusInProgressResponse); Assert.IsNotNull(mediaList); Assert.AreEqual(1, mediaList.Count); Media media = mediaList.Single(); Assert.IsNotNull(media); Assert.AreEqual(MediaType.Status, media.Type); Assert.AreEqual("STATUS", media.Command); Assert.AreEqual(123ul, media.MediaID); }
public void GetParameters_Handles_Input_Params() { var reqProc = new MediaRequestProcessor <Media>(); Expression <Func <Media, bool> > expression = media => media.Type == MediaType.Status && media.Command == Media.StatusCommand && media.MediaID == 123; var lambdaExpression = expression as LambdaExpression; Dictionary <string, string> queryParams = reqProc.GetParameters(lambdaExpression); Assert.IsTrue( queryParams.Contains( new KeyValuePair <string, string>(nameof(Media.Type), ((int)MediaType.Status).ToString()))); Assert.IsTrue( queryParams.Contains( new KeyValuePair <string, string>(nameof(Media.Command), Media.StatusCommand))); Assert.IsTrue( queryParams.Contains( new KeyValuePair <string, string>(nameof(Media.MediaID), 123.ToString()))); }
public void ProcessResults_WithInProgressResponse_IsProcessed() { var statProc = new MediaRequestProcessor <Media> { Type = MediaType.Status, UploadUrl = BaseUrlAndVersion, MediaID = 772492064386912256ul }; List <Media> mediaList = statProc.ProcessResults(MediaStatusInProgressResponse); Assert.IsNotNull(mediaList); Assert.AreEqual(1, mediaList.Count); Media media = mediaList.Single(); Assert.IsNotNull(media); Assert.AreEqual(772492064386912256ul, media.MediaID); Assert.IsNotNull(media.ProcessingInfo); MediaProcessingInfo info = media.ProcessingInfo; Assert.AreEqual(MediaProcessingInfo.InProgress, info.State); Assert.AreEqual(5, info.CheckAfterSeconds); Assert.AreEqual(5, info.ProgressPercent); }
public HtmlMediaElement(Document owner, String name, String prefix) : base(owner, name, prefix) { _request = MediaRequestProcessor <TResource> .Create(this); }
public HtmlMediaElement(Document owner, String name, String prefix) : base(owner, name, prefix) { _request = new MediaRequestProcessor <TResource>(owner.Context); }