MediaSourceManagerTests.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. using AutoFixture;
  2. using AutoFixture.AutoMoq;
  3. using Emby.Server.Implementations.IO;
  4. using Emby.Server.Implementations.Library;
  5. using MediaBrowser.Model.IO;
  6. using MediaBrowser.Model.MediaInfo;
  7. using Xunit;
  8. namespace Jellyfin.Server.Implementations.Tests.Library
  9. {
  10. public class MediaSourceManagerTests
  11. {
  12. private readonly MediaSourceManager _mediaSourceManager;
  13. public MediaSourceManagerTests()
  14. {
  15. IFixture fixture = new Fixture().Customize(new AutoMoqCustomization { ConfigureMembers = true });
  16. fixture.Inject<IFileSystem>(fixture.Create<ManagedFileSystem>());
  17. _mediaSourceManager = fixture.Create<MediaSourceManager>();
  18. }
  19. [Theory]
  20. [InlineData(@"C:\mydir\myfile.ext", MediaProtocol.File)]
  21. [InlineData("/mydir/myfile.ext", MediaProtocol.File)]
  22. [InlineData("file:///mydir/myfile.ext", MediaProtocol.File)]
  23. [InlineData("http://example.com/stream.m3u8", MediaProtocol.Http)]
  24. [InlineData("https://example.com/stream.m3u8", MediaProtocol.Http)]
  25. [InlineData("rtsp://media.example.com:554/twister/audiotrack", MediaProtocol.Rtsp)]
  26. public void GetPathProtocol_ValidArg_Correct(string path, MediaProtocol expected)
  27. => Assert.Equal(expected, _mediaSourceManager.GetPathProtocol(path));
  28. }
  29. }