public GetUploadLinkTextTrackRequest(string uri, TextTrackEnum textTrackType, string language = "en", string name = null)
 {
     Uri      = uri;
     Type     = new TextTrackType(textTrackType).ToString();
     Language = language;
     Name     = name;
 }
Ejemplo n.º 2
0
        public async Task ShouldCorrectlyUpdateTextTrackAsync()
        {
            var client   = CreateAuthenticatedClient();
            var original = await client.GetTextTrackAsync(VimeoSettings.VideoId, VimeoSettings.TextTrackId);

            original.ShouldNotBeNull();

            // update the text track record with some new values...
            const string        testName     = "NewTrackName";
            const TextTrackType testType     = TextTrackType.Metadata;
            const string        testLanguage = "fr";
            const bool          testActive   = false;

            var updated = await client.UpdateTextTrackAsync(
                VimeoSettings.VideoId,
                VimeoSettings.TextTrackId,
                new TextTrack
            {
                Name     = testName,
                Type     = testType,
                Language = testLanguage,
                Active   = testActive
            });

            // inspect the result and ensure the values match what we expect...
            updated.Name.ShouldBe(testName);
            updated.Type.ShouldNotBeNull();
            updated.Type.ShouldBe(testType);
            updated.Language.ShouldBe(testLanguage);
            updated.Active.ShouldBeFalse();

            // restore the original values...
            var final = await client.UpdateTextTrackAsync(
                VimeoSettings.VideoId,
                VimeoSettings.TextTrackId,
                new TextTrack
            {
                Name     = original.Name,
                Type     = original.Type,
                Language = original.Language,
                Active   = original.Active
            });

            // inspect the result and ensure the values match our originals...
            final.Name.ShouldBe(original.Name);
            final.Type.ShouldBe(original.Type);
            final.Language.ShouldBe(original.Language);
            final.Active.ShouldBe(original.Active);
        }
Ejemplo n.º 3
0
        public async Task TestTrackInteractionTest()
        {
            await AuthenticatedClient.WithTempVideo(async clipId =>
            {
                var client = CreateAuthenticatedClient();
                TextTrack newTextTrack;
                const string textTrackName     = "UploadtTest.vtt";
                const string textTrackLanguage = "en";
                using (var file = new BinaryContent(TestHelper.GetFileFromEmbeddedResources(TestHelper.TestFilePath),
                                                    "application/octet-stream"))
                {
                    newTextTrack = await client.UploadTextTrackFileAsync(
                        file,
                        clipId,
                        new TextTrack
                    {
                        Active   = false,
                        Name     = textTrackName,
                        Language = textTrackLanguage,
                        Type     = TextTrackType.Captions
                    });
                }

                newTextTrack.ShouldNotBeNull();
                newTextTrack.Name.ShouldBe(textTrackName);
                newTextTrack.Active.ShouldBeFalse();
                newTextTrack.Language.ShouldBe(textTrackLanguage);
                newTextTrack.Uri.ShouldNotBeEmpty();
                newTextTrack.Link.ShouldNotBeEmpty();

                var uri     = newTextTrack.Uri;
                var trackId = Convert.ToInt64(uri.Substring(uri.LastIndexOf('/') + 1));

                var textTrack = await client.GetTextTrackAsync(clipId, trackId);
                textTrack.ShouldNotBeNull();
                textTrack.Active.ShouldBeFalse();
                textTrack.Name.ShouldBe("UploadtTest.vtt");
                textTrack.Type.ShouldBe(TextTrackType.Captions);
                textTrack.Language.ShouldBe("en");
                textTrack.Uri.ShouldNotBeEmpty();
                textTrack.Link.ShouldNotBeEmpty();

                const string testName        = "NewTrackName";
                const TextTrackType testType = TextTrackType.Metadata;
                const string testLanguage    = "fr";
                const bool testActive        = false;

                var updated = await client.UpdateTextTrackAsync(
                    clipId,
                    trackId,
                    new TextTrack
                {
                    Name     = testName,
                    Type     = testType,
                    Language = testLanguage,
                    Active   = testActive
                });

                // inspect the result and ensure the values match what we expect...
                updated.Name.ShouldBe(testName);
                updated.Type.ShouldNotBeNull();
                updated.Type.ShouldBe(testType);
                updated.Language.ShouldBe(testLanguage);
                updated.Active.ShouldBeFalse();

                await client.DeleteTextTrackAsync(clipId, trackId);

                var deletedTrack = await client.GetTextTrackAsync(clipId, trackId);
                deletedTrack.ShouldBeNull();
            });
        }