Browse Source

properly fix tests

pull/2667/head
Jason Dove 8 months ago
parent
commit
ba8859c023
No known key found for this signature in database
  1. 2
      ErsatzTV.Scanner.Tests/Core/Metadata/LocalSubtitlesProviderTests.cs
  2. 18
      ErsatzTV.Scanner/Core/Metadata/LocalSubtitlesProvider.cs

2
ErsatzTV.Scanner.Tests/Core/Metadata/LocalSubtitlesProviderTests.cs

@ -60,6 +60,7 @@ public class LocalSubtitlesProviderTests @@ -60,6 +60,7 @@ public class LocalSubtitlesProviderTests
var provider = new LocalSubtitlesProvider(
Substitute.For<IMediaItemRepository>(),
Substitute.For<IMetadataRepository>(),
fileSystem,
new LocalFileSystem(fileSystem, Substitute.For<IClient>(), Substitute.For<ILogger<LocalFileSystem>>()),
Substitute.For<ILogger<LocalSubtitlesProvider>>());
@ -113,6 +114,7 @@ public class LocalSubtitlesProviderTests @@ -113,6 +114,7 @@ public class LocalSubtitlesProviderTests
var provider = new LocalSubtitlesProvider(
Substitute.For<IMediaItemRepository>(),
Substitute.For<IMetadataRepository>(),
fileSystem,
new LocalFileSystem(fileSystem, Substitute.For<IClient>(), Substitute.For<ILogger<LocalFileSystem>>()),
Substitute.For<ILogger<LocalSubtitlesProvider>>());

18
ErsatzTV.Scanner/Core/Metadata/LocalSubtitlesProvider.cs

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
using System.Globalization;
using System.IO.Abstractions;
using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Extensions;
using ErsatzTV.Core.Interfaces.Metadata;
@ -15,6 +16,7 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider @@ -15,6 +16,7 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider
private readonly ILogger<LocalSubtitlesProvider> _logger;
private readonly IMediaItemRepository _mediaItemRepository;
private readonly IMetadataRepository _metadataRepository;
private readonly IFileSystem _fileSystem;
private readonly SemaphoreSlim _slim = new(1, 1);
private bool _disposedValue;
@ -22,11 +24,13 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider @@ -22,11 +24,13 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider
public LocalSubtitlesProvider(
IMediaItemRepository mediaItemRepository,
IMetadataRepository metadataRepository,
IFileSystem fileSystem,
ILocalFileSystem localFileSystem,
ILogger<LocalSubtitlesProvider> logger)
{
_mediaItemRepository = mediaItemRepository;
_metadataRepository = metadataRepository;
_fileSystem = fileSystem;
_localFileSystem = localFileSystem;
_logger = logger;
}
@ -108,19 +112,19 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider @@ -108,19 +112,19 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider
{
var result = new List<Subtitle>();
string? folder = Path.GetDirectoryName(mediaItemPath);
string withoutExtension = Path.GetFileNameWithoutExtension(mediaItemPath);
string? folder = _fileSystem.Path.GetDirectoryName(mediaItemPath);
string withoutExtension = _fileSystem.Path.GetFileNameWithoutExtension(mediaItemPath);
foreach (string file in _localFileSystem.ListFiles(folder, $"{withoutExtension}*"))
{
string lowerFile = file.ToLowerInvariant();
string fileName = Path.GetFileName(file);
string fileName = _fileSystem.Path.GetFileName(file);
if (!fileName.StartsWith(withoutExtension, StringComparison.OrdinalIgnoreCase))
{
continue;
}
string extension = Path.GetExtension(lowerFile);
string extension = _fileSystem.Path.GetExtension(lowerFile);
string codec = extension switch
{
".ssa" or ".ass" => "ass",
@ -134,7 +138,7 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider @@ -134,7 +138,7 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider
continue;
}
string language = Path.GetFileName(lowerFile);
string language = _fileSystem.Path.GetFileName(lowerFile);
var forced = false;
var sdh = false;
@ -181,7 +185,7 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider @@ -181,7 +185,7 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider
Forced = forced,
SDH = sdh,
Language = language,
Path = saveFullPath ? file : Path.GetFileName(file),
Path = saveFullPath ? file : _fileSystem.Path.GetFileName(file),
DateAdded = DateTime.UtcNow,
DateUpdated = _localFileSystem.GetLastWriteTime(file)
});
@ -200,7 +204,7 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider @@ -200,7 +204,7 @@ public class LocalSubtitlesProvider : ILocalSubtitlesProvider
Forced = forced,
SDH = sdh,
Language = culture.ThreeLetterISOLanguageName,
Path = saveFullPath ? file : Path.GetFileName(file),
Path = saveFullPath ? file : _fileSystem.Path.GetFileName(file),
DateAdded = DateTime.UtcNow,
DateUpdated = _localFileSystem.GetLastWriteTime(file)
});

Loading…
Cancel
Save