diff --git a/ErsatzTV.Application/ErsatzTV.Application.csproj b/ErsatzTV.Application/ErsatzTV.Application.csproj
index 0ac00ea47..133ef6984 100644
--- a/ErsatzTV.Application/ErsatzTV.Application.csproj
+++ b/ErsatzTV.Application/ErsatzTV.Application.csproj
@@ -14,8 +14,8 @@
-
-
+
+
diff --git a/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj b/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj
index 9a882a6a1..c40941431 100644
--- a/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj
+++ b/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj
@@ -9,20 +9,20 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
diff --git a/ErsatzTV.Core/ErsatzTV.Core.csproj b/ErsatzTV.Core/ErsatzTV.Core.csproj
index 02be50aed..d753c77f6 100644
--- a/ErsatzTV.Core/ErsatzTV.Core.csproj
+++ b/ErsatzTV.Core/ErsatzTV.Core.csproj
@@ -16,19 +16,19 @@
-
-
-
-
+
+
+
+
-
+
-
-
-
-
+
+
+
+
diff --git a/ErsatzTV.FFmpeg.Tests/ErsatzTV.FFmpeg.Tests.csproj b/ErsatzTV.FFmpeg.Tests/ErsatzTV.FFmpeg.Tests.csproj
index c81e4c005..22d393f1f 100644
--- a/ErsatzTV.FFmpeg.Tests/ErsatzTV.FFmpeg.Tests.csproj
+++ b/ErsatzTV.FFmpeg.Tests/ErsatzTV.FFmpeg.Tests.csproj
@@ -8,10 +8,10 @@
-
-
-
-
+
+
+
+
diff --git a/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj b/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj
index e08b73939..8b7a66f11 100644
--- a/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj
+++ b/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/ErsatzTV.Infrastructure.Sqlite/ErsatzTV.Infrastructure.Sqlite.csproj b/ErsatzTV.Infrastructure.Sqlite/ErsatzTV.Infrastructure.Sqlite.csproj
index 352bd81f8..23fe09aea 100644
--- a/ErsatzTV.Infrastructure.Sqlite/ErsatzTV.Infrastructure.Sqlite.csproj
+++ b/ErsatzTV.Infrastructure.Sqlite/ErsatzTV.Infrastructure.Sqlite.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj b/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj
index ed169e16e..6dd693849 100644
--- a/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj
+++ b/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj
@@ -9,8 +9,8 @@
-
-
+
+
@@ -22,7 +22,7 @@
all
-
+
diff --git a/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj b/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj
index f4cf012a5..3fc8fb95a 100644
--- a/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj
+++ b/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj
@@ -18,8 +18,8 @@
-
-
+
+
@@ -36,7 +36,7 @@
-
+
diff --git a/ErsatzTV.Scanner.Tests/Core/FFmpeg/TranscodingTests.cs b/ErsatzTV.Scanner.Tests/Core/FFmpeg/TranscodingTests.cs
index 179a37dfd..082bf04a3 100644
--- a/ErsatzTV.Scanner.Tests/Core/FFmpeg/TranscodingTests.cs
+++ b/ErsatzTV.Scanner.Tests/Core/FFmpeg/TranscodingTests.cs
@@ -348,13 +348,13 @@ public class TranscodingTests
metadataRepository.When(x => x.UpdateStatistics(Arg.Any(), Arg.Any(), Arg.Any()))
.Do(x =>
{
- MediaVersion version = x.Arg();
- if (version.Streams.Any(s => s.MediaStreamKind == MediaStreamKind.Video && !s.AttachedPic))
+ MediaVersion? version = x.Arg();
+ if (version != null && version.Streams.Any(s => s.MediaStreamKind == MediaStreamKind.Video && !s.AttachedPic))
{
version.MediaFiles = videoVersion.MediaFiles;
videoVersion = version;
}
- else
+ else if (version != null)
{
version.MediaFiles = songVersion.MediaFiles;
songVersion = version;
@@ -520,8 +520,11 @@ public class TranscodingTests
.Do(args =>
{
MediaVersion? version = args.Arg();
- version.MediaFiles = v.MediaFiles;
- v = version;
+ if (version != null)
+ {
+ version.MediaFiles = v.MediaFiles;
+ v = version;
+ }
});
var localStatisticsProvider = new LocalStatisticsProvider(
diff --git a/ErsatzTV.Scanner.Tests/Core/Metadata/MovieFolderScannerTests.cs b/ErsatzTV.Scanner.Tests/Core/Metadata/MovieFolderScannerTests.cs
index 4a2e37132..610bff242 100644
--- a/ErsatzTV.Scanner.Tests/Core/Metadata/MovieFolderScannerTests.cs
+++ b/ErsatzTV.Scanner.Tests/Core/Metadata/MovieFolderScannerTests.cs
@@ -59,7 +59,7 @@ public class MovieFolderScannerTests
_movieRepository = Substitute.For();
_movieRepository.GetOrAdd(Arg.Any(), Arg.Any(), Arg.Any(), Arg.Any())
.Returns(args =>
- Right>(new FakeMovieWithPath(args.Arg()))
+ Right>(new FakeMovieWithPath(args.Arg() ?? string.Empty))
.AsTask());
_movieRepository.FindMoviePaths(Arg.Any())
.Returns(new List().AsEnumerable().AsTask());
@@ -78,7 +78,7 @@ public class MovieFolderScannerTests
_localMetadataProvider.RefreshFallbackMetadata(Arg.Any())
.Returns(arg =>
{
- ((Movie)arg.Arg()).MovieMetadata = [new MovieMetadata { Artwork = [] }];
+ (arg.Arg() as Movie ?? new Movie()).MovieMetadata = [new MovieMetadata { Artwork = [] }];
return Task.FromResult(true);
});
@@ -141,10 +141,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
}
[Test]
@@ -190,10 +190,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
}
[Test]
@@ -238,10 +238,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshSidecarMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath),
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath),
metadataPath);
}
@@ -287,10 +287,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshSidecarMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath),
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath),
metadataPath);
}
@@ -340,10 +340,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _imageCache.Received(1).CopyArtworkToCache(posterPath, ArtworkKind.Poster);
}
@@ -394,10 +394,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _imageCache.Received(1).CopyArtworkToCache(posterPath, ArtworkKind.Poster);
}
@@ -448,10 +448,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _imageCache.Received(1).CopyArtworkToCache(posterPath, ArtworkKind.Poster);
}
@@ -502,10 +502,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _imageCache.Received(1).CopyArtworkToCache(fanArtPath, ArtworkKind.FanArt);
}
@@ -556,10 +556,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _imageCache.Received(1).CopyArtworkToCache(fanArtPath, ArtworkKind.FanArt);
}
@@ -610,10 +610,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _imageCache.Received(1).CopyArtworkToCache(fanArtPath, ArtworkKind.FanArt);
}
@@ -664,10 +664,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
// Should receive Poster call (as folder.ext is valid for poster)
await _imageCache.Received(1).CopyArtworkToCache(folderImagePath, ArtworkKind.Poster);
@@ -805,10 +805,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
}
[Test]
@@ -854,10 +854,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
}
[Test]
@@ -905,10 +905,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
}
[Test]
@@ -950,10 +950,10 @@ public class MovieFolderScannerTests
await _localStatisticsProvider.Received(1).RefreshStatistics(
FFmpegPath,
FFprobePath,
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
await _localMetadataProvider.Received(1).RefreshFallbackMetadata(
- Arg.Is(i => i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
+ Arg.Is(i => i != null && i.MediaVersions.Head().MediaFiles.Head().Path == moviePath));
}
[Test]
diff --git a/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj b/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj
index 073a3f933..0df5a6caa 100644
--- a/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj
+++ b/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj
@@ -10,8 +10,8 @@
-
-
+
+
@@ -23,7 +23,7 @@
all
-
+
diff --git a/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj b/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj
index 8963ce279..128416a88 100644
--- a/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj
+++ b/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj
@@ -26,16 +26,16 @@
-
-
-
-
+
+
+
+
-
+
diff --git a/ErsatzTV.Tests/ErsatzTV.Tests.csproj b/ErsatzTV.Tests/ErsatzTV.Tests.csproj
index 5f8a6b2d2..27e94d915 100644
--- a/ErsatzTV.Tests/ErsatzTV.Tests.csproj
+++ b/ErsatzTV.Tests/ErsatzTV.Tests.csproj
@@ -4,6 +4,7 @@
net10.0
enable
enable
+ direct
diff --git a/ErsatzTV/ErsatzTV.csproj b/ErsatzTV/ErsatzTV.csproj
index 0387fd85d..036c721cf 100644
--- a/ErsatzTV/ErsatzTV.csproj
+++ b/ErsatzTV/ErsatzTV.csproj
@@ -13,6 +13,7 @@
bf31217d-f4ec-4520-8cc3-138059044ede
latest-Recommended
true
+ direct
true
en-US
@@ -36,30 +37,30 @@
-
+
-
-
-
-
+
+
+
+
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
-
-
+
+