| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | 
							- using System;
 
- using System.IO;
 
- using Emby.Naming.Common;
 
- using Emby.Naming.Video;
 
- using Emby.Server.Implementations.Library;
 
- using MediaBrowser.Controller;
 
- using MediaBrowser.Controller.Entities;
 
- using MediaBrowser.Model.Entities;
 
- using MediaBrowser.Model.IO;
 
- using Moq;
 
- using Xunit;
 
- namespace Jellyfin.Server.Implementations.Tests.Library;
 
- public class CoreResolutionIgnoreRuleTest
 
- {
 
-     private readonly CoreResolutionIgnoreRule _rule;
 
-     private readonly NamingOptions _namingOptions;
 
-     private readonly Mock<IServerApplicationPaths> _appPathsMock;
 
-     public CoreResolutionIgnoreRuleTest()
 
-     {
 
-         _namingOptions = new NamingOptions();
 
-         _namingOptions.AllExtrasTypesFolderNames.TryAdd("extras", ExtraType.Trailer);
 
-         _appPathsMock = new Mock<IServerApplicationPaths>();
 
-         _appPathsMock.SetupGet(x => x.RootFolderPath).Returns("/server/root");
 
-         _rule = new CoreResolutionIgnoreRule(_namingOptions, _appPathsMock.Object);
 
-     }
 
-     private FileSystemMetadata MakeFileSystemMetadata(string fullName, bool isDirectory = false)
 
-         => new FileSystemMetadata { FullName = fullName, Name = Path.GetFileName(fullName), IsDirectory = isDirectory };
 
-     private BaseItem MakeParent(string name = "Parent", bool isTopParent = false, Type? type = null)
 
-     {
 
-         return type switch
 
-         {
 
-             Type t when t == typeof(Folder) => CreateMock<Folder>(name, isTopParent).Object,
 
-             Type t when t == typeof(AggregateFolder) => CreateMock<AggregateFolder>(name, isTopParent).Object,
 
-             Type t when t == typeof(UserRootFolder) => CreateMock<UserRootFolder>(name, isTopParent).Object,
 
-             _ => CreateMock<BaseItem>(name, isTopParent).Object
 
-         };
 
-     }
 
-     private static Mock<T> CreateMock<T>(string name, bool isTopParent)
 
-     where T : BaseItem
 
-     {
 
-         var mock = new Mock<T>();
 
-         mock.SetupGet(p => p.Name).Returns(name);
 
-         mock.SetupGet(p => p.IsTopParent).Returns(isTopParent);
 
-         return mock;
 
-     }
 
-     [Fact]
 
-     public void TestApplicationFolder()
 
-     {
 
-         Assert.False(_rule.ShouldIgnore(
 
-             MakeFileSystemMetadata("/server/root/extras", isDirectory: true),
 
-             null));
 
-         Assert.False(_rule.ShouldIgnore(
 
-             MakeFileSystemMetadata("/server/root/small.jpg"),
 
-             null));
 
-     }
 
-     [Fact]
 
-     public void TestTopLevelDirectory()
 
-     {
 
-         Assert.False(_rule.ShouldIgnore(
 
-             MakeFileSystemMetadata("Series/Extras", true),
 
-             MakeParent(type: typeof(AggregateFolder))));
 
-         Assert.False(_rule.ShouldIgnore(
 
-             MakeFileSystemMetadata("Series/Extras/Extras", true),
 
-             MakeParent(isTopParent: true)));
 
-     }
 
-     [Fact]
 
-     public void TestIgnorePatterns()
 
-     {
 
-         Assert.False(_rule.ShouldIgnore(
 
-             MakeFileSystemMetadata("/Media/big.jpg"),
 
-             MakeParent()));
 
-         Assert.True(_rule.ShouldIgnore(
 
-             MakeFileSystemMetadata("/Media/small.jpg"),
 
-             MakeParent()));
 
-     }
 
-     [Fact]
 
-     public void TestExtrasTypesFolderNames()
 
-     {
 
-         FileSystemMetadata fileSystemMetadata = MakeFileSystemMetadata("/Movies/Up/extras", true);
 
-         Assert.False(_rule.ShouldIgnore(
 
-             fileSystemMetadata,
 
-             MakeParent(type: typeof(AggregateFolder))));
 
-         Assert.False(_rule.ShouldIgnore(
 
-             fileSystemMetadata,
 
-             MakeParent(type: typeof(UserRootFolder))));
 
-         Assert.False(_rule.ShouldIgnore(
 
-             fileSystemMetadata,
 
-             null));
 
-         Assert.True(_rule.ShouldIgnore(
 
-             fileSystemMetadata,
 
-             MakeParent()));
 
-         Assert.True(_rule.ShouldIgnore(
 
-             fileSystemMetadata,
 
-             MakeParent(type: typeof(Folder))));
 
-     }
 
-     [Fact]
 
-     public void TestThemeSong()
 
-     {
 
-         Assert.False(_rule.ShouldIgnore(
 
-             MakeFileSystemMetadata("/Movies/Up/intro.mp3"),
 
-             MakeParent()));
 
-         Assert.True(_rule.ShouldIgnore(
 
-             MakeFileSystemMetadata("/Movies/Up/theme.mp3"),
 
-             MakeParent()));
 
-     }
 
- }
 
 
  |