diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props
index 798ba8b6..134e06b9 100644
--- a/src/Directory.Packages.props
+++ b/src/Directory.Packages.props
@@ -7,7 +7,6 @@
-
diff --git a/src/Recyclarr.Cli/Cache/ServiceCache.cs b/src/Recyclarr.Cli/Cache/ServiceCache.cs
index ea48b533..adc8055f 100644
--- a/src/Recyclarr.Cli/Cache/ServiceCache.cs
+++ b/src/Recyclarr.Cli/Cache/ServiceCache.cs
@@ -2,10 +2,10 @@ using System.IO.Abstractions;
using System.Reflection;
using System.Text.Json;
using System.Text.RegularExpressions;
+using Recyclarr.Cli.Console.Helpers;
using Recyclarr.Common.Extensions;
using Recyclarr.Config.Models;
using Recyclarr.Json;
-using Recyclarr.TrashLib.Interfaces;
namespace Recyclarr.Cli.Cache;
diff --git a/src/Recyclarr.Cli/CompositionRoot.cs b/src/Recyclarr.Cli/CompositionRoot.cs
index ba7207c4..a36e8ed7 100644
--- a/src/Recyclarr.Cli/CompositionRoot.cs
+++ b/src/Recyclarr.Cli/CompositionRoot.cs
@@ -3,7 +3,6 @@ using System.Reflection;
using Autofac;
using Autofac.Extras.Ordering;
using AutoMapper.Contrib.Autofac.DependencyInjection;
-using AutoMapper.EquivalencyExpression;
using Recyclarr.Cli.Cache;
using Recyclarr.Cli.Console.Helpers;
using Recyclarr.Cli.Console.Setup;
@@ -17,11 +16,15 @@ using Recyclarr.Cli.Pipelines.ReleaseProfile;
using Recyclarr.Cli.Pipelines.Tags;
using Recyclarr.Cli.Processors;
using Recyclarr.Common;
-using Recyclarr.Platform;
-using Recyclarr.TrashLib;
+using Recyclarr.Compatibility;
using Recyclarr.Config;
+using Recyclarr.Json;
+using Recyclarr.Platform;
+using Recyclarr.Repo;
+using Recyclarr.ServarrApi;
+using Recyclarr.Settings;
using Recyclarr.TrashGuide;
-using Recyclarr.TrashLib.Interfaces;
+using Recyclarr.VersionControl;
using Recyclarr.Yaml;
using Serilog.Core;
using Spectre.Console.Cli;
@@ -34,21 +37,31 @@ public static class CompositionRoot
{
var thisAssembly = typeof(CompositionRoot).Assembly;
+ // Needed for Autofac.Extras.Ordering
+ builder.RegisterSource();
+
RegisterLogger(builder);
builder.RegisterModule();
- builder.RegisterModule();
builder.RegisterModule();
builder.RegisterModule();
builder.RegisterModule();
builder.RegisterModule();
builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
builder.RegisterType().As();
builder.RegisterType().As();
builder.Register(_ => new ResourceDataReader(thisAssembly)).As();
- builder.RegisterAutoMapper(c => c.AddCollectionMappers(), thisAssembly);
+ builder.RegisterAutoMapper(thisAssembly);
CommandRegistrations(builder);
PipelineRegistrations(builder);
diff --git a/src/Recyclarr.TrashLib/ExceptionTypes/CommandException.cs b/src/Recyclarr.Cli/Console/CommandException.cs
similarity index 73%
rename from src/Recyclarr.TrashLib/ExceptionTypes/CommandException.cs
rename to src/Recyclarr.Cli/Console/CommandException.cs
index 17ecf58e..5033752e 100644
--- a/src/Recyclarr.TrashLib/ExceptionTypes/CommandException.cs
+++ b/src/Recyclarr.Cli/Console/CommandException.cs
@@ -1,4 +1,4 @@
-namespace Recyclarr.TrashLib.ExceptionTypes;
+namespace Recyclarr.Cli.Console;
public class CommandException : Exception
{
diff --git a/src/Recyclarr.Cli/Console/Commands/ConfigCreateCommand.cs b/src/Recyclarr.Cli/Console/Commands/ConfigCreateCommand.cs
index ac6148a7..00059cab 100644
--- a/src/Recyclarr.Cli/Console/Commands/ConfigCreateCommand.cs
+++ b/src/Recyclarr.Cli/Console/Commands/ConfigCreateCommand.cs
@@ -4,7 +4,6 @@ using JetBrains.Annotations;
using Recyclarr.Cli.Console.Settings;
using Recyclarr.Cli.Processors.Config;
using Recyclarr.Repo;
-using Recyclarr.TrashLib.ExceptionTypes;
using Spectre.Console.Cli;
namespace Recyclarr.Cli.Console.Commands;
diff --git a/src/Recyclarr.Cli/Console/Helpers/CacheStoragePath.cs b/src/Recyclarr.Cli/Console/Helpers/CacheStoragePath.cs
index 0615d44f..c88e5fc6 100644
--- a/src/Recyclarr.Cli/Console/Helpers/CacheStoragePath.cs
+++ b/src/Recyclarr.Cli/Console/Helpers/CacheStoragePath.cs
@@ -4,7 +4,6 @@ using System.IO.Abstractions;
using System.Text;
using Recyclarr.Config.Models;
using Recyclarr.Platform;
-using Recyclarr.TrashLib.Interfaces;
namespace Recyclarr.Cli.Console.Helpers;
diff --git a/src/Recyclarr.TrashLib/Interfaces/ICacheStoragePath.cs b/src/Recyclarr.Cli/Console/Helpers/ICacheStoragePath.cs
similarity index 81%
rename from src/Recyclarr.TrashLib/Interfaces/ICacheStoragePath.cs
rename to src/Recyclarr.Cli/Console/Helpers/ICacheStoragePath.cs
index 716e4d5f..87ad3a62 100644
--- a/src/Recyclarr.TrashLib/Interfaces/ICacheStoragePath.cs
+++ b/src/Recyclarr.Cli/Console/Helpers/ICacheStoragePath.cs
@@ -1,7 +1,7 @@
using System.IO.Abstractions;
using Recyclarr.Config.Models;
-namespace Recyclarr.TrashLib.Interfaces;
+namespace Recyclarr.Cli.Console.Helpers;
public interface ICacheStoragePath
{
diff --git a/src/Recyclarr.Cli/Processors/Config/ConfigCreationProcessor.cs b/src/Recyclarr.Cli/Processors/Config/ConfigCreationProcessor.cs
index 85f619cd..e44b8bad 100644
--- a/src/Recyclarr.Cli/Processors/Config/ConfigCreationProcessor.cs
+++ b/src/Recyclarr.Cli/Processors/Config/ConfigCreationProcessor.cs
@@ -1,5 +1,4 @@
using Recyclarr.Cli.Console.Settings;
-using Recyclarr.TrashLib.ExceptionTypes;
namespace Recyclarr.Cli.Processors.Config;
diff --git a/src/Recyclarr.TrashLib/ExceptionTypes/FileExistsException.cs b/src/Recyclarr.Cli/Processors/Config/FileExistsException.cs
similarity index 81%
rename from src/Recyclarr.TrashLib/ExceptionTypes/FileExistsException.cs
rename to src/Recyclarr.Cli/Processors/Config/FileExistsException.cs
index 28a0acd9..0ffdca30 100644
--- a/src/Recyclarr.TrashLib/ExceptionTypes/FileExistsException.cs
+++ b/src/Recyclarr.Cli/Processors/Config/FileExistsException.cs
@@ -1,4 +1,4 @@
-namespace Recyclarr.TrashLib.ExceptionTypes;
+namespace Recyclarr.Cli.Processors.Config;
public class FileExistsException : Exception
{
diff --git a/src/Recyclarr.Cli/Processors/Config/LocalConfigCreator.cs b/src/Recyclarr.Cli/Processors/Config/LocalConfigCreator.cs
index 88ca8bad..e5c01094 100644
--- a/src/Recyclarr.Cli/Processors/Config/LocalConfigCreator.cs
+++ b/src/Recyclarr.Cli/Processors/Config/LocalConfigCreator.cs
@@ -3,7 +3,6 @@ using Recyclarr.Cli.Console.Settings;
using Recyclarr.Common;
using Recyclarr.Common.Extensions;
using Recyclarr.Platform;
-using Recyclarr.TrashLib.ExceptionTypes;
namespace Recyclarr.Cli.Processors.Config;
diff --git a/src/Recyclarr.Cli/Processors/Config/TemplateConfigCreator.cs b/src/Recyclarr.Cli/Processors/Config/TemplateConfigCreator.cs
index d4948ae8..740b3435 100644
--- a/src/Recyclarr.Cli/Processors/Config/TemplateConfigCreator.cs
+++ b/src/Recyclarr.Cli/Processors/Config/TemplateConfigCreator.cs
@@ -2,7 +2,6 @@ using System.IO.Abstractions;
using Recyclarr.Cli.Console.Settings;
using Recyclarr.Common.Extensions;
using Recyclarr.Platform;
-using Recyclarr.TrashLib.ExceptionTypes;
using Recyclarr.TrashGuide;
namespace Recyclarr.Cli.Processors.Config;
diff --git a/src/Recyclarr.Cli/Processors/Delete/DeleteCustomFormatsProcessor.cs b/src/Recyclarr.Cli/Processors/Delete/DeleteCustomFormatsProcessor.cs
index 2983c6b7..f90b3bc9 100644
--- a/src/Recyclarr.Cli/Processors/Delete/DeleteCustomFormatsProcessor.cs
+++ b/src/Recyclarr.Cli/Processors/Delete/DeleteCustomFormatsProcessor.cs
@@ -1,10 +1,11 @@
using System.Diagnostics.CodeAnalysis;
+using Recyclarr.Cli.Console;
using Recyclarr.Cli.Console.Settings;
-using Recyclarr.TrashLib.Compatibility.Sonarr;
+using Recyclarr.Compatibility;
+using Recyclarr.Compatibility.Sonarr;
using Recyclarr.Config;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
-using Recyclarr.TrashLib.ExceptionTypes;
using Recyclarr.TrashGuide.CustomFormat;
using Spectre.Console;
diff --git a/src/Recyclarr.Cli/Processors/ErrorHandling/ConsoleExceptionHandler.cs b/src/Recyclarr.Cli/Processors/ErrorHandling/ConsoleExceptionHandler.cs
index 81bca192..69699b5b 100644
--- a/src/Recyclarr.Cli/Processors/ErrorHandling/ConsoleExceptionHandler.cs
+++ b/src/Recyclarr.Cli/Processors/ErrorHandling/ConsoleExceptionHandler.cs
@@ -1,8 +1,8 @@
using Flurl.Http;
+using Recyclarr.Cli.Console;
using Recyclarr.Config.ExceptionTypes;
using Recyclarr.Config.Parsing.ErrorHandling;
using Recyclarr.ServarrApi.Http;
-using Recyclarr.TrashLib.ExceptionTypes;
using Recyclarr.VersionControl;
namespace Recyclarr.Cli.Processors.ErrorHandling;
diff --git a/src/Recyclarr.TrashLib/ExceptionTypes/FatalException.cs b/src/Recyclarr.Cli/Processors/FatalException.cs
similarity index 88%
rename from src/Recyclarr.TrashLib/ExceptionTypes/FatalException.cs
rename to src/Recyclarr.Cli/Processors/FatalException.cs
index 6b328496..3d249846 100644
--- a/src/Recyclarr.TrashLib/ExceptionTypes/FatalException.cs
+++ b/src/Recyclarr.Cli/Processors/FatalException.cs
@@ -1,7 +1,7 @@
using System.Runtime.Serialization;
using JetBrains.Annotations;
-namespace Recyclarr.TrashLib.ExceptionTypes;
+namespace Recyclarr.Cli.Processors;
[Serializable]
public class FatalException : Exception
diff --git a/src/Recyclarr.Cli/Processors/Sync/SyncProcessor.cs b/src/Recyclarr.Cli/Processors/Sync/SyncProcessor.cs
index c56ed637..c8cd6a02 100644
--- a/src/Recyclarr.Cli/Processors/Sync/SyncProcessor.cs
+++ b/src/Recyclarr.Cli/Processors/Sync/SyncProcessor.cs
@@ -2,7 +2,7 @@ using System.Diagnostics.CodeAnalysis;
using Recyclarr.Cli.Console.Settings;
using Recyclarr.Cli.Processors.ErrorHandling;
using Recyclarr.Common;
-using Recyclarr.TrashLib.Compatibility;
+using Recyclarr.Compatibility;
using Recyclarr.Config;
using Recyclarr.Config.Models;
using Spectre.Console;
diff --git a/src/Recyclarr.Cli/Recyclarr.Cli.csproj b/src/Recyclarr.Cli/Recyclarr.Cli.csproj
index 6cdedf65..5db8a5ca 100644
--- a/src/Recyclarr.Cli/Recyclarr.Cli.csproj
+++ b/src/Recyclarr.Cli/Recyclarr.Cli.csproj
@@ -31,9 +31,9 @@
+
-
diff --git a/src/Recyclarr.Common/CommonAutofacModule.cs b/src/Recyclarr.Common/CommonAutofacModule.cs
new file mode 100644
index 00000000..75da07ba
--- /dev/null
+++ b/src/Recyclarr.Common/CommonAutofacModule.cs
@@ -0,0 +1,14 @@
+using Autofac;
+using Recyclarr.Common.FluentValidation;
+
+namespace Recyclarr.Common;
+
+public class CommonAutofacModule : Module
+{
+ protected override void Load(ContainerBuilder builder)
+ {
+ base.Load(builder);
+ builder.RegisterType().As();
+ builder.RegisterType().As();
+ }
+}
diff --git a/src/Recyclarr.TrashLib/Compatibility/CompatibilityAutofacModule.cs b/src/Recyclarr.Compatibility/CompatibilityAutofacModule.cs
similarity index 83%
rename from src/Recyclarr.TrashLib/Compatibility/CompatibilityAutofacModule.cs
rename to src/Recyclarr.Compatibility/CompatibilityAutofacModule.cs
index f7dbd2a7..b33132c2 100644
--- a/src/Recyclarr.TrashLib/Compatibility/CompatibilityAutofacModule.cs
+++ b/src/Recyclarr.Compatibility/CompatibilityAutofacModule.cs
@@ -1,8 +1,8 @@
using Autofac;
-using Recyclarr.TrashLib.Compatibility.Radarr;
-using Recyclarr.TrashLib.Compatibility.Sonarr;
+using Recyclarr.Compatibility.Radarr;
+using Recyclarr.Compatibility.Sonarr;
-namespace Recyclarr.TrashLib.Compatibility;
+namespace Recyclarr.Compatibility;
public class CompatibilityAutofacModule : Module
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/IServiceInformation.cs b/src/Recyclarr.Compatibility/IServiceInformation.cs
similarity index 76%
rename from src/Recyclarr.TrashLib/Compatibility/IServiceInformation.cs
rename to src/Recyclarr.Compatibility/IServiceInformation.cs
index ee1e6a6d..f061dd67 100644
--- a/src/Recyclarr.TrashLib/Compatibility/IServiceInformation.cs
+++ b/src/Recyclarr.Compatibility/IServiceInformation.cs
@@ -1,6 +1,6 @@
using Recyclarr.Config.Models;
-namespace Recyclarr.TrashLib.Compatibility;
+namespace Recyclarr.Compatibility;
public interface IServiceInformation
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/Radarr/IRadarrCapabilityFetcher.cs b/src/Recyclarr.Compatibility/Radarr/IRadarrCapabilityFetcher.cs
similarity index 75%
rename from src/Recyclarr.TrashLib/Compatibility/Radarr/IRadarrCapabilityFetcher.cs
rename to src/Recyclarr.Compatibility/Radarr/IRadarrCapabilityFetcher.cs
index ab509f13..30956d15 100644
--- a/src/Recyclarr.TrashLib/Compatibility/Radarr/IRadarrCapabilityFetcher.cs
+++ b/src/Recyclarr.Compatibility/Radarr/IRadarrCapabilityFetcher.cs
@@ -1,6 +1,6 @@
using Recyclarr.Config.Models;
-namespace Recyclarr.TrashLib.Compatibility.Radarr;
+namespace Recyclarr.Compatibility.Radarr;
public interface IRadarrCapabilityFetcher
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilities.cs b/src/Recyclarr.Compatibility/Radarr/RadarrCapabilities.cs
similarity index 85%
rename from src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilities.cs
rename to src/Recyclarr.Compatibility/Radarr/RadarrCapabilities.cs
index d256dbb4..e2f1bf79 100644
--- a/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilities.cs
+++ b/src/Recyclarr.Compatibility/Radarr/RadarrCapabilities.cs
@@ -1,4 +1,4 @@
-namespace Recyclarr.TrashLib.Compatibility.Radarr;
+namespace Recyclarr.Compatibility.Radarr;
// ReSharper disable once NotAccessedPositionalProperty.Global
//
diff --git a/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityEnforcer.cs b/src/Recyclarr.Compatibility/Radarr/RadarrCapabilityEnforcer.cs
similarity index 90%
rename from src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityEnforcer.cs
rename to src/Recyclarr.Compatibility/Radarr/RadarrCapabilityEnforcer.cs
index de395506..817030c1 100644
--- a/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityEnforcer.cs
+++ b/src/Recyclarr.Compatibility/Radarr/RadarrCapabilityEnforcer.cs
@@ -1,6 +1,6 @@
using Recyclarr.Config.Models;
-namespace Recyclarr.TrashLib.Compatibility.Radarr;
+namespace Recyclarr.Compatibility.Radarr;
public class RadarrCapabilityEnforcer
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityFetcher.cs b/src/Recyclarr.Compatibility/Radarr/RadarrCapabilityFetcher.cs
similarity index 87%
rename from src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityFetcher.cs
rename to src/Recyclarr.Compatibility/Radarr/RadarrCapabilityFetcher.cs
index 4138a3a8..d9ec1a4a 100644
--- a/src/Recyclarr.TrashLib/Compatibility/Radarr/RadarrCapabilityFetcher.cs
+++ b/src/Recyclarr.Compatibility/Radarr/RadarrCapabilityFetcher.cs
@@ -1,4 +1,4 @@
-namespace Recyclarr.TrashLib.Compatibility.Radarr;
+namespace Recyclarr.Compatibility.Radarr;
public class RadarrCapabilityFetcher : ServiceCapabilityFetcher, IRadarrCapabilityFetcher
{
diff --git a/src/Recyclarr.TrashLib/Recyclarr.TrashLib.csproj b/src/Recyclarr.Compatibility/Recyclarr.Compatibility.csproj
similarity index 69%
rename from src/Recyclarr.TrashLib/Recyclarr.TrashLib.csproj
rename to src/Recyclarr.Compatibility/Recyclarr.Compatibility.csproj
index b9908d2e..0081af82 100644
--- a/src/Recyclarr.TrashLib/Recyclarr.TrashLib.csproj
+++ b/src/Recyclarr.Compatibility/Recyclarr.Compatibility.csproj
@@ -1,10 +1,9 @@
-
-
+
-
-
+
+
diff --git a/src/Recyclarr.TrashLib/Compatibility/ServiceAgnosticCapabilityEnforcer.cs b/src/Recyclarr.Compatibility/ServiceAgnosticCapabilityEnforcer.cs
similarity index 85%
rename from src/Recyclarr.TrashLib/Compatibility/ServiceAgnosticCapabilityEnforcer.cs
rename to src/Recyclarr.Compatibility/ServiceAgnosticCapabilityEnforcer.cs
index 3a749efd..2fb398d2 100644
--- a/src/Recyclarr.TrashLib/Compatibility/ServiceAgnosticCapabilityEnforcer.cs
+++ b/src/Recyclarr.Compatibility/ServiceAgnosticCapabilityEnforcer.cs
@@ -1,8 +1,8 @@
+using Recyclarr.Compatibility.Radarr;
+using Recyclarr.Compatibility.Sonarr;
using Recyclarr.Config.Models;
-using Recyclarr.TrashLib.Compatibility.Radarr;
-using Recyclarr.TrashLib.Compatibility.Sonarr;
-namespace Recyclarr.TrashLib.Compatibility;
+namespace Recyclarr.Compatibility;
public class ServiceAgnosticCapabilityEnforcer
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/ServiceCapabilityFetcher.cs b/src/Recyclarr.Compatibility/ServiceCapabilityFetcher.cs
similarity index 92%
rename from src/Recyclarr.TrashLib/Compatibility/ServiceCapabilityFetcher.cs
rename to src/Recyclarr.Compatibility/ServiceCapabilityFetcher.cs
index 073856ec..40674c6a 100644
--- a/src/Recyclarr.TrashLib/Compatibility/ServiceCapabilityFetcher.cs
+++ b/src/Recyclarr.Compatibility/ServiceCapabilityFetcher.cs
@@ -1,6 +1,6 @@
using Recyclarr.Config.Models;
-namespace Recyclarr.TrashLib.Compatibility;
+namespace Recyclarr.Compatibility;
public abstract class ServiceCapabilityFetcher where T : class
{
diff --git a/src/Recyclarr.TrashLib/ExceptionTypes/ServiceIncompatibilityException.cs b/src/Recyclarr.Compatibility/ServiceIncompatibilityException.cs
similarity index 76%
rename from src/Recyclarr.TrashLib/ExceptionTypes/ServiceIncompatibilityException.cs
rename to src/Recyclarr.Compatibility/ServiceIncompatibilityException.cs
index b7e47b5b..f5da1fff 100644
--- a/src/Recyclarr.TrashLib/ExceptionTypes/ServiceIncompatibilityException.cs
+++ b/src/Recyclarr.Compatibility/ServiceIncompatibilityException.cs
@@ -1,4 +1,4 @@
-namespace Recyclarr.TrashLib.ExceptionTypes;
+namespace Recyclarr.Compatibility;
public class ServiceIncompatibilityException : Exception
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/ServiceInformation.cs b/src/Recyclarr.Compatibility/ServiceInformation.cs
similarity index 94%
rename from src/Recyclarr.TrashLib/Compatibility/ServiceInformation.cs
rename to src/Recyclarr.Compatibility/ServiceInformation.cs
index e154c68b..bde6c815 100644
--- a/src/Recyclarr.TrashLib/Compatibility/ServiceInformation.cs
+++ b/src/Recyclarr.Compatibility/ServiceInformation.cs
@@ -1,8 +1,9 @@
using Flurl.Http;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
+using Serilog;
-namespace Recyclarr.TrashLib.Compatibility;
+namespace Recyclarr.Compatibility;
public class ServiceInformation : IServiceInformation
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/Sonarr/ISonarrCapabilityFetcher.cs b/src/Recyclarr.Compatibility/Sonarr/ISonarrCapabilityFetcher.cs
similarity index 75%
rename from src/Recyclarr.TrashLib/Compatibility/Sonarr/ISonarrCapabilityFetcher.cs
rename to src/Recyclarr.Compatibility/Sonarr/ISonarrCapabilityFetcher.cs
index e1dff6f9..b893172e 100644
--- a/src/Recyclarr.TrashLib/Compatibility/Sonarr/ISonarrCapabilityFetcher.cs
+++ b/src/Recyclarr.Compatibility/Sonarr/ISonarrCapabilityFetcher.cs
@@ -1,6 +1,6 @@
using Recyclarr.Config.Models;
-namespace Recyclarr.TrashLib.Compatibility.Sonarr;
+namespace Recyclarr.Compatibility.Sonarr;
public interface ISonarrCapabilityFetcher
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilities.cs b/src/Recyclarr.Compatibility/Sonarr/SonarrCapabilities.cs
similarity index 80%
rename from src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilities.cs
rename to src/Recyclarr.Compatibility/Sonarr/SonarrCapabilities.cs
index 6d79ac10..a05ff859 100644
--- a/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilities.cs
+++ b/src/Recyclarr.Compatibility/Sonarr/SonarrCapabilities.cs
@@ -1,4 +1,4 @@
-namespace Recyclarr.TrashLib.Compatibility.Sonarr;
+namespace Recyclarr.Compatibility.Sonarr;
public record SonarrCapabilities
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityEnforcer.cs b/src/Recyclarr.Compatibility/Sonarr/SonarrCapabilityEnforcer.cs
similarity index 96%
rename from src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityEnforcer.cs
rename to src/Recyclarr.Compatibility/Sonarr/SonarrCapabilityEnforcer.cs
index 53827576..c0b42158 100644
--- a/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityEnforcer.cs
+++ b/src/Recyclarr.Compatibility/Sonarr/SonarrCapabilityEnforcer.cs
@@ -1,8 +1,7 @@
using Recyclarr.Common.Extensions;
using Recyclarr.Config.Models;
-using Recyclarr.TrashLib.ExceptionTypes;
-namespace Recyclarr.TrashLib.Compatibility.Sonarr;
+namespace Recyclarr.Compatibility.Sonarr;
public class SonarrCapabilityEnforcer
{
diff --git a/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityFetcher.cs b/src/Recyclarr.Compatibility/Sonarr/SonarrCapabilityFetcher.cs
similarity index 90%
rename from src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityFetcher.cs
rename to src/Recyclarr.Compatibility/Sonarr/SonarrCapabilityFetcher.cs
index 19b849c9..5d086150 100644
--- a/src/Recyclarr.TrashLib/Compatibility/Sonarr/SonarrCapabilityFetcher.cs
+++ b/src/Recyclarr.Compatibility/Sonarr/SonarrCapabilityFetcher.cs
@@ -1,4 +1,4 @@
-namespace Recyclarr.TrashLib.Compatibility.Sonarr;
+namespace Recyclarr.Compatibility.Sonarr;
public class SonarrCapabilityFetcher : ServiceCapabilityFetcher, ISonarrCapabilityFetcher
{
diff --git a/src/Recyclarr.Config/ConfigAutofacModule.cs b/src/Recyclarr.Config/ConfigAutofacModule.cs
index 46019953..663451ed 100644
--- a/src/Recyclarr.Config/ConfigAutofacModule.cs
+++ b/src/Recyclarr.Config/ConfigAutofacModule.cs
@@ -1,6 +1,5 @@
using Autofac;
using AutoMapper.Contrib.Autofac.DependencyInjection;
-using AutoMapper.EquivalencyExpression;
using FluentValidation;
using Recyclarr.Config.Parsing;
using Recyclarr.Config.Parsing.PostProcessing;
@@ -14,7 +13,7 @@ public class ConfigAutofacModule : Module
{
protected override void Load(ContainerBuilder builder)
{
- builder.RegisterAutoMapper(c => c.AddCollectionMappers(), ThisAssembly);
+ builder.RegisterAutoMapper(ThisAssembly);
builder.RegisterAssemblyTypes(ThisAssembly)
.AssignableTo()
diff --git a/src/Recyclarr.TrashLib/ExceptionTypes/PostProcessingException.cs b/src/Recyclarr.Config/Parsing/ErrorHandling/PostProcessingException.cs
similarity index 73%
rename from src/Recyclarr.TrashLib/ExceptionTypes/PostProcessingException.cs
rename to src/Recyclarr.Config/Parsing/ErrorHandling/PostProcessingException.cs
index 28cccb30..ff84a4ce 100644
--- a/src/Recyclarr.TrashLib/ExceptionTypes/PostProcessingException.cs
+++ b/src/Recyclarr.Config/Parsing/ErrorHandling/PostProcessingException.cs
@@ -1,4 +1,4 @@
-namespace Recyclarr.TrashLib.ExceptionTypes;
+namespace Recyclarr.Config.Parsing.ErrorHandling;
public class PostProcessingException : Exception
{
diff --git a/src/Recyclarr.Config/Recyclarr.Config.csproj b/src/Recyclarr.Config/Recyclarr.Config.csproj
index 2071154c..73781afe 100644
--- a/src/Recyclarr.Config/Recyclarr.Config.csproj
+++ b/src/Recyclarr.Config/Recyclarr.Config.csproj
@@ -2,7 +2,6 @@
-
diff --git a/src/Recyclarr.Platform/PlatformAutofacModule.cs b/src/Recyclarr.Platform/PlatformAutofacModule.cs
new file mode 100644
index 00000000..dbe56c17
--- /dev/null
+++ b/src/Recyclarr.Platform/PlatformAutofacModule.cs
@@ -0,0 +1,26 @@
+using Autofac;
+
+namespace Recyclarr.Platform;
+
+public class PlatformAutofacModule : Module
+{
+ protected override void Load(ContainerBuilder builder)
+ {
+ base.Load(builder);
+ RegisterAppPaths(builder);
+ }
+
+ private static void RegisterAppPaths(ContainerBuilder builder)
+ {
+ builder.RegisterType();
+
+ builder.Register(c =>
+ {
+ var appData = c.Resolve();
+ var dataSetup = c.Resolve();
+ return dataSetup.CreateAppPaths(appData.AppDataPath);
+ })
+ .As()
+ .SingleInstance();
+ }
+}
diff --git a/src/Recyclarr.Settings/SettingsAutofacModule.cs b/src/Recyclarr.Settings/SettingsAutofacModule.cs
new file mode 100644
index 00000000..93a4afdd
--- /dev/null
+++ b/src/Recyclarr.Settings/SettingsAutofacModule.cs
@@ -0,0 +1,12 @@
+using Autofac;
+
+namespace Recyclarr.Settings;
+
+public class SettingsAutofacModule : Module
+{
+ protected override void Load(ContainerBuilder builder)
+ {
+ base.Load(builder);
+ builder.RegisterType().As().SingleInstance();
+ }
+}
diff --git a/src/Recyclarr.TrashLib/ExceptionTypes/VersionException.cs b/src/Recyclarr.TrashLib/ExceptionTypes/VersionException.cs
deleted file mode 100644
index d24f0acb..00000000
--- a/src/Recyclarr.TrashLib/ExceptionTypes/VersionException.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System.Runtime.Serialization;
-
-namespace Recyclarr.TrashLib.ExceptionTypes;
-
-[Serializable]
-public class VersionException : Exception
-{
- public VersionException(string msg)
- : base(msg)
- {
- }
-
- protected VersionException(SerializationInfo info, StreamingContext context)
- : base(info, context)
- {
- }
-}
diff --git a/src/Recyclarr.TrashLib/GlobalUsings.cs b/src/Recyclarr.TrashLib/GlobalUsings.cs
deleted file mode 100644
index 1e3063b8..00000000
--- a/src/Recyclarr.TrashLib/GlobalUsings.cs
+++ /dev/null
@@ -1,2 +0,0 @@
-global using SuperLinq;
-global using Serilog;
diff --git a/src/Recyclarr.TrashLib/TrashLibAutofacModule.cs b/src/Recyclarr.TrashLib/TrashLibAutofacModule.cs
deleted file mode 100644
index bd616412..00000000
--- a/src/Recyclarr.TrashLib/TrashLibAutofacModule.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using Autofac;
-using Autofac.Extras.Ordering;
-using Recyclarr.Common;
-using Recyclarr.Common.FluentValidation;
-using Recyclarr.Json;
-using Recyclarr.Platform;
-using Recyclarr.Repo;
-using Recyclarr.ServarrApi;
-using Recyclarr.Settings;
-using Recyclarr.TrashLib.Compatibility;
-using Recyclarr.VersionControl;
-
-namespace Recyclarr.TrashLib;
-
-public class TrashLibAutofacModule : Module
-{
- protected override void Load(ContainerBuilder builder)
- {
- base.Load(builder);
-
- RegisterAppPaths(builder);
- CommonRegistrations(builder);
-
- // Needed for Autofac.Extras.Ordering
- builder.RegisterSource();
-
- builder.RegisterModule();
- builder.RegisterModule();
- builder.RegisterModule();
- builder.RegisterModule();
- builder.RegisterModule();
-
- builder.RegisterType().As().SingleInstance();
- }
-
- private static void CommonRegistrations(ContainerBuilder builder)
- {
- builder.RegisterType().As();
- builder.RegisterType().As();
- }
-
- private static void RegisterAppPaths(ContainerBuilder builder)
- {
- builder.RegisterType();
-
- builder.Register(c =>
- {
- var appData = c.Resolve();
- var dataSetup = c.Resolve();
- return dataSetup.CreateAppPaths(appData.AppDataPath);
- })
- .As()
- .SingleInstance();
- }
-}
diff --git a/src/Recyclarr.sln b/src/Recyclarr.sln
index a1cb5d4f..3f78dd20 100644
--- a/src/Recyclarr.sln
+++ b/src/Recyclarr.sln
@@ -5,12 +5,8 @@ VisualStudioVersion = 17.3.32825.248
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.Cli", "Recyclarr.Cli\Recyclarr.Cli.csproj", "{CD5C6F99-C587-4B7C-86AE-550FA4A5594A}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.Cli.Tests", "tests\Recyclarr.Cli.Tests\Recyclarr.Cli.Tests.csproj", "{217D5972-4BB7-4343-9043-C30BD9A1811E}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.TestLibrary", "tests\Recyclarr.TestLibrary\Recyclarr.TestLibrary.csproj", "{49F28A82-468F-4C48-9A59-D41B8FE26D6E}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.TestLibrary.Tests", "tests\Recyclarr.TestLibrary.Tests\Recyclarr.TestLibrary.Tests.csproj", "{BF105B2F-8E13-48AD-BF72-DF7EFEB018B6}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Props", "Props", "{305C2AC5-803F-41B3-92D8-4AD2B2E3E130}"
ProjectSection(SolutionItems) = preProject
.editorconfig = ..\.editorconfig
@@ -21,20 +17,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Props", "Props", "{305C2AC5
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.Common", "Recyclarr.Common\Recyclarr.Common.csproj", "{18CF1FCA-7983-4423-8B7E-4A830108C624}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.Common.Tests", "tests\Recyclarr.Common.Tests\Recyclarr.Common.Tests.csproj", "{0720939D-1CA6-43D7-BBED-F8F894C4F562}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.TrashLib.TestLibrary", "tests\Recyclarr.TrashLib.TestLibrary\Recyclarr.TrashLib.TestLibrary.csproj", "{33226068-65E3-4890-8671-59A56BA3F6F0}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.TrashLib", "Recyclarr.TrashLib\Recyclarr.TrashLib.csproj", "{4F6ACBA6-9A7D-487C-ACC1-787CCC90A381}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.TrashLib.Tests", "tests\Recyclarr.TrashLib.Tests\Recyclarr.TrashLib.Tests.csproj", "{A4EC7E0D-C591-4874-B9AC-EB12A96F3E83}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.Cli.TestLibrary", "tests\Recyclarr.Cli.TestLibrary\Recyclarr.Cli.TestLibrary.csproj", "{77D1C695-94D4-46A9-8F12-41E54AF97750}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.Tests", "tests\Recyclarr.Tests\Recyclarr.Tests.csproj", "{A4EC7E0D-C591-4874-B9AC-EB12A96F3E83}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.Gui", "Recyclarr.Gui\Recyclarr.Gui.csproj", "{53EECBC0-E0EA-4D6C-925C-5DB8C42CCB85}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Recyclarr.Common.TestLibrary", "tests\Recyclarr.Common.TestLibrary\Recyclarr.Common.TestLibrary.csproj", "{A92321B5-2796-467B-B5A5-2BFC41167A25}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{18E17C53-F600-40AE-82C1-3CD1E547C307}"
ProjectSection(SolutionItems) = preProject
tests\Directory.Build.props = tests\Directory.Build.props
@@ -46,20 +32,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Yaml", "Recyclarr
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.TrashGuide", "Recyclarr.TrashGuide\Recyclarr.TrashGuide.csproj", "{37220364-7C1E-4561-A369-C32BA195A0C3}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.TrashGuide.Tests", "tests\Recyclarr.TrashGuide.Tests\Recyclarr.TrashGuide.Tests.csproj", "{0E5C6E86-F899-4743-8DCF-7812E717C604}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Config.Tests", "tests\Recyclarr.Config.Tests\Recyclarr.Config.Tests.csproj", "{2B4CAFB7-02D7-4909-98C4-7393C1366C39}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Config.TestLibrary", "tests\Recyclarr.Config.TestLibrary\Recyclarr.Config.TestLibrary.csproj", "{533299C5-71A9-4461-90BB-05C3404F2143}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.TrashGuide.TestLibrary", "tests\Recyclarr.TrashGuide.TestLibrary\Recyclarr.TrashGuide.TestLibrary.csproj", "{B3FC265C-36EF-4815-9EB1-CB878FBEE6D6}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Json", "Recyclarr.Json\Recyclarr.Json.csproj", "{A9E2F11E-73F8-48CC-8770-0AFD41E80141}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Json.Tests", "tests\Recyclarr.Json.Tests\Recyclarr.Json.Tests.csproj", "{737A1B22-F3A5-4920-AED7-77E756D14113}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Json.TestLibrary", "tests\Recyclarr.Json.TestLibrary\Recyclarr.Json.TestLibrary.csproj", "{59B75C08-F144-4190-A7D0-C027044147D2}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Platform", "Recyclarr.Platform\Recyclarr.Platform.csproj", "{CB296D81-813B-48C3-9D4B-A52951EF26BF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.VersionControl", "Recyclarr.VersionControl\Recyclarr.VersionControl.csproj", "{0495507A-0307-43EA-B97F-EDF2C0241839}"
@@ -70,6 +44,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Settings", "Recyc
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.ServarrApi", "Recyclarr.ServarrApi\Recyclarr.ServarrApi.csproj", "{5B48995A-1181-46AA-AC38-C040BDD3D7B7}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Compatibility", "Recyclarr.Compatibility\Recyclarr.Compatibility.csproj", "{03B4A46E-234D-47C9-8078-0B749800229A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Tests.TestLibrary", "tests\Recyclarr.Tests.TestLibrary\Recyclarr.Tests.TestLibrary.csproj", "{DE198BA1-2906-43BB-9CDB-977B9218A670}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.IntegrationTests", "tests\Recyclarr.IntegrationTests\Recyclarr.IntegrationTests.csproj", "{0D472E9E-81D9-4E33-8542-A973CF9E4EA8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Cli.IntegrationTests", "tests\Recyclarr.Cli.IntegrationTests\Recyclarr.Cli.IntegrationTests.csproj", "{CB14F77E-1457-41E9-8BA2-B059A11105AE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Recyclarr.Cli.Tests", "tests\Recyclarr.Cli.Tests\Recyclarr.Cli.Tests.csproj", "{59886A2A-338F-4864-9735-1633433B1F8F}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -80,50 +64,22 @@ Global
{CD5C6F99-C587-4B7C-86AE-550FA4A5594A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD5C6F99-C587-4B7C-86AE-550FA4A5594A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD5C6F99-C587-4B7C-86AE-550FA4A5594A}.Release|Any CPU.Build.0 = Release|Any CPU
- {217D5972-4BB7-4343-9043-C30BD9A1811E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {217D5972-4BB7-4343-9043-C30BD9A1811E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {217D5972-4BB7-4343-9043-C30BD9A1811E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {217D5972-4BB7-4343-9043-C30BD9A1811E}.Release|Any CPU.Build.0 = Release|Any CPU
{49F28A82-468F-4C48-9A59-D41B8FE26D6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{49F28A82-468F-4C48-9A59-D41B8FE26D6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{49F28A82-468F-4C48-9A59-D41B8FE26D6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{49F28A82-468F-4C48-9A59-D41B8FE26D6E}.Release|Any CPU.Build.0 = Release|Any CPU
- {BF105B2F-8E13-48AD-BF72-DF7EFEB018B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BF105B2F-8E13-48AD-BF72-DF7EFEB018B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BF105B2F-8E13-48AD-BF72-DF7EFEB018B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BF105B2F-8E13-48AD-BF72-DF7EFEB018B6}.Release|Any CPU.Build.0 = Release|Any CPU
{18CF1FCA-7983-4423-8B7E-4A830108C624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{18CF1FCA-7983-4423-8B7E-4A830108C624}.Debug|Any CPU.Build.0 = Debug|Any CPU
{18CF1FCA-7983-4423-8B7E-4A830108C624}.Release|Any CPU.ActiveCfg = Release|Any CPU
{18CF1FCA-7983-4423-8B7E-4A830108C624}.Release|Any CPU.Build.0 = Release|Any CPU
- {0720939D-1CA6-43D7-BBED-F8F894C4F562}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0720939D-1CA6-43D7-BBED-F8F894C4F562}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0720939D-1CA6-43D7-BBED-F8F894C4F562}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0720939D-1CA6-43D7-BBED-F8F894C4F562}.Release|Any CPU.Build.0 = Release|Any CPU
- {33226068-65E3-4890-8671-59A56BA3F6F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {33226068-65E3-4890-8671-59A56BA3F6F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {33226068-65E3-4890-8671-59A56BA3F6F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {33226068-65E3-4890-8671-59A56BA3F6F0}.Release|Any CPU.Build.0 = Release|Any CPU
- {4F6ACBA6-9A7D-487C-ACC1-787CCC90A381}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4F6ACBA6-9A7D-487C-ACC1-787CCC90A381}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4F6ACBA6-9A7D-487C-ACC1-787CCC90A381}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4F6ACBA6-9A7D-487C-ACC1-787CCC90A381}.Release|Any CPU.Build.0 = Release|Any CPU
{A4EC7E0D-C591-4874-B9AC-EB12A96F3E83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A4EC7E0D-C591-4874-B9AC-EB12A96F3E83}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A4EC7E0D-C591-4874-B9AC-EB12A96F3E83}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A4EC7E0D-C591-4874-B9AC-EB12A96F3E83}.Release|Any CPU.Build.0 = Release|Any CPU
- {77D1C695-94D4-46A9-8F12-41E54AF97750}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {77D1C695-94D4-46A9-8F12-41E54AF97750}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {77D1C695-94D4-46A9-8F12-41E54AF97750}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {77D1C695-94D4-46A9-8F12-41E54AF97750}.Release|Any CPU.Build.0 = Release|Any CPU
{53EECBC0-E0EA-4D6C-925C-5DB8C42CCB85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{53EECBC0-E0EA-4D6C-925C-5DB8C42CCB85}.Debug|Any CPU.Build.0 = Debug|Any CPU
{53EECBC0-E0EA-4D6C-925C-5DB8C42CCB85}.Release|Any CPU.ActiveCfg = Release|Any CPU
{53EECBC0-E0EA-4D6C-925C-5DB8C42CCB85}.Release|Any CPU.Build.0 = Release|Any CPU
- {A92321B5-2796-467B-B5A5-2BFC41167A25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A92321B5-2796-467B-B5A5-2BFC41167A25}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A92321B5-2796-467B-B5A5-2BFC41167A25}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A92321B5-2796-467B-B5A5-2BFC41167A25}.Release|Any CPU.Build.0 = Release|Any CPU
{7B8F0720-A6E1-48FF-BD60-8B6964366B7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7B8F0720-A6E1-48FF-BD60-8B6964366B7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7B8F0720-A6E1-48FF-BD60-8B6964366B7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -136,34 +92,10 @@ Global
{37220364-7C1E-4561-A369-C32BA195A0C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{37220364-7C1E-4561-A369-C32BA195A0C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37220364-7C1E-4561-A369-C32BA195A0C3}.Release|Any CPU.Build.0 = Release|Any CPU
- {0E5C6E86-F899-4743-8DCF-7812E717C604}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0E5C6E86-F899-4743-8DCF-7812E717C604}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0E5C6E86-F899-4743-8DCF-7812E717C604}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0E5C6E86-F899-4743-8DCF-7812E717C604}.Release|Any CPU.Build.0 = Release|Any CPU
- {2B4CAFB7-02D7-4909-98C4-7393C1366C39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2B4CAFB7-02D7-4909-98C4-7393C1366C39}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2B4CAFB7-02D7-4909-98C4-7393C1366C39}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2B4CAFB7-02D7-4909-98C4-7393C1366C39}.Release|Any CPU.Build.0 = Release|Any CPU
- {533299C5-71A9-4461-90BB-05C3404F2143}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {533299C5-71A9-4461-90BB-05C3404F2143}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {533299C5-71A9-4461-90BB-05C3404F2143}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {533299C5-71A9-4461-90BB-05C3404F2143}.Release|Any CPU.Build.0 = Release|Any CPU
- {B3FC265C-36EF-4815-9EB1-CB878FBEE6D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B3FC265C-36EF-4815-9EB1-CB878FBEE6D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B3FC265C-36EF-4815-9EB1-CB878FBEE6D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B3FC265C-36EF-4815-9EB1-CB878FBEE6D6}.Release|Any CPU.Build.0 = Release|Any CPU
{A9E2F11E-73F8-48CC-8770-0AFD41E80141}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A9E2F11E-73F8-48CC-8770-0AFD41E80141}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A9E2F11E-73F8-48CC-8770-0AFD41E80141}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A9E2F11E-73F8-48CC-8770-0AFD41E80141}.Release|Any CPU.Build.0 = Release|Any CPU
- {737A1B22-F3A5-4920-AED7-77E756D14113}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {737A1B22-F3A5-4920-AED7-77E756D14113}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {737A1B22-F3A5-4920-AED7-77E756D14113}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {737A1B22-F3A5-4920-AED7-77E756D14113}.Release|Any CPU.Build.0 = Release|Any CPU
- {59B75C08-F144-4190-A7D0-C027044147D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {59B75C08-F144-4190-A7D0-C027044147D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {59B75C08-F144-4190-A7D0-C027044147D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {59B75C08-F144-4190-A7D0-C027044147D2}.Release|Any CPU.Build.0 = Release|Any CPU
{CB296D81-813B-48C3-9D4B-A52951EF26BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CB296D81-813B-48C3-9D4B-A52951EF26BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CB296D81-813B-48C3-9D4B-A52951EF26BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -184,6 +116,26 @@ Global
{5B48995A-1181-46AA-AC38-C040BDD3D7B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B48995A-1181-46AA-AC38-C040BDD3D7B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B48995A-1181-46AA-AC38-C040BDD3D7B7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {03B4A46E-234D-47C9-8078-0B749800229A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {03B4A46E-234D-47C9-8078-0B749800229A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {03B4A46E-234D-47C9-8078-0B749800229A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {03B4A46E-234D-47C9-8078-0B749800229A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DE198BA1-2906-43BB-9CDB-977B9218A670}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DE198BA1-2906-43BB-9CDB-977B9218A670}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DE198BA1-2906-43BB-9CDB-977B9218A670}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DE198BA1-2906-43BB-9CDB-977B9218A670}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0D472E9E-81D9-4E33-8542-A973CF9E4EA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0D472E9E-81D9-4E33-8542-A973CF9E4EA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0D472E9E-81D9-4E33-8542-A973CF9E4EA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0D472E9E-81D9-4E33-8542-A973CF9E4EA8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CB14F77E-1457-41E9-8BA2-B059A11105AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CB14F77E-1457-41E9-8BA2-B059A11105AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CB14F77E-1457-41E9-8BA2-B059A11105AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CB14F77E-1457-41E9-8BA2-B059A11105AE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {59886A2A-338F-4864-9735-1633433B1F8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {59886A2A-338F-4864-9735-1633433B1F8F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {59886A2A-338F-4864-9735-1633433B1F8F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {59886A2A-338F-4864-9735-1633433B1F8F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -192,19 +144,11 @@ Global
SolutionGuid = {AFBE3E4F-DA4D-4EBD-8700-C3C42B59D6AB}
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {77D1C695-94D4-46A9-8F12-41E54AF97750} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {217D5972-4BB7-4343-9043-C30BD9A1811E} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {A92321B5-2796-467B-B5A5-2BFC41167A25} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {0720939D-1CA6-43D7-BBED-F8F894C4F562} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
{49F28A82-468F-4C48-9A59-D41B8FE26D6E} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {BF105B2F-8E13-48AD-BF72-DF7EFEB018B6} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {33226068-65E3-4890-8671-59A56BA3F6F0} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
{A4EC7E0D-C591-4874-B9AC-EB12A96F3E83} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {0E5C6E86-F899-4743-8DCF-7812E717C604} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {2B4CAFB7-02D7-4909-98C4-7393C1366C39} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {533299C5-71A9-4461-90BB-05C3404F2143} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {B3FC265C-36EF-4815-9EB1-CB878FBEE6D6} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {737A1B22-F3A5-4920-AED7-77E756D14113} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
- {59B75C08-F144-4190-A7D0-C027044147D2} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
+ {DE198BA1-2906-43BB-9CDB-977B9218A670} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
+ {0D472E9E-81D9-4E33-8542-A973CF9E4EA8} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
+ {CB14F77E-1457-41E9-8BA2-B059A11105AE} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
+ {59886A2A-338F-4864-9735-1633433B1F8F} = {18E17C53-F600-40AE-82C1-3CD1E547C307}
EndGlobalSection
EndGlobal
diff --git a/src/tests/Directory.Build.props b/src/tests/Directory.Build.props
index ef984163..05b831c4 100644
--- a/src/tests/Directory.Build.props
+++ b/src/tests/Directory.Build.props
@@ -3,6 +3,7 @@
false
+ $(DefaultItemExcludes);TestResults\*\**
diff --git a/src/tests/Recyclarr.Cli.Tests/AutoMapperConfigurationTest.cs b/src/tests/Recyclarr.Cli.IntegrationTests/AutoMapperConfigurationTest.cs
similarity index 78%
rename from src/tests/Recyclarr.Cli.Tests/AutoMapperConfigurationTest.cs
rename to src/tests/Recyclarr.Cli.IntegrationTests/AutoMapperConfigurationTest.cs
index 152bc304..bf027f72 100644
--- a/src/tests/Recyclarr.Cli.Tests/AutoMapperConfigurationTest.cs
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/AutoMapperConfigurationTest.cs
@@ -1,11 +1,10 @@
using AutoMapper;
-using Recyclarr.Cli.TestLibrary;
-namespace Recyclarr.Cli.Tests;
+namespace Recyclarr.Cli.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class AutoMapperConfigurationTest : CliIntegrationFixture
+internal class AutoMapperConfigurationTest : CliIntegrationFixture
{
[Test]
public void Automapper_config_is_valid()
diff --git a/src/tests/Recyclarr.Cli.Tests/BaseCommandSetupIntegrationTest.cs b/src/tests/Recyclarr.Cli.IntegrationTests/BaseCommandSetupIntegrationTest.cs
similarity index 93%
rename from src/tests/Recyclarr.Cli.Tests/BaseCommandSetupIntegrationTest.cs
rename to src/tests/Recyclarr.Cli.IntegrationTests/BaseCommandSetupIntegrationTest.cs
index 39043019..7f1c89a9 100644
--- a/src/tests/Recyclarr.Cli.Tests/BaseCommandSetupIntegrationTest.cs
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/BaseCommandSetupIntegrationTest.cs
@@ -1,14 +1,13 @@
using System.IO.Abstractions;
using Recyclarr.Cli.Console.Setup;
-using Recyclarr.Cli.TestLibrary;
-using Recyclarr.Common.TestLibrary;
using Recyclarr.Settings;
+using Recyclarr.TestLibrary;
-namespace Recyclarr.Cli.Tests;
+namespace Recyclarr.Cli.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class BaseCommandSetupIntegrationTest : CliIntegrationFixture
+internal class BaseCommandSetupIntegrationTest : CliIntegrationFixture
{
[Test]
public void Base_command_startup_tasks_are_registered()
diff --git a/src/tests/Recyclarr.Cli.TestLibrary/CliIntegrationFixture.cs b/src/tests/Recyclarr.Cli.IntegrationTests/CliIntegrationFixture.cs
similarity index 69%
rename from src/tests/Recyclarr.Cli.TestLibrary/CliIntegrationFixture.cs
rename to src/tests/Recyclarr.Cli.IntegrationTests/CliIntegrationFixture.cs
index 9b51b62b..a0a1e3e9 100644
--- a/src/tests/Recyclarr.Cli.TestLibrary/CliIntegrationFixture.cs
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/CliIntegrationFixture.cs
@@ -1,10 +1,10 @@
using Autofac;
-using Recyclarr.TrashLib.TestLibrary;
+using Recyclarr.IntegrationTests;
-namespace Recyclarr.Cli.TestLibrary;
+namespace Recyclarr.Cli.IntegrationTests;
[FixtureLifeCycle(LifeCycle.InstancePerTestCase)]
-public abstract class CliIntegrationFixture : TrashLibIntegrationFixture
+internal abstract class CliIntegrationFixture : IntegrationTestFixture
{
protected override void RegisterTypes(ContainerBuilder builder)
{
diff --git a/src/tests/Recyclarr.Cli.Tests/CompositionRootTest.cs b/src/tests/Recyclarr.Cli.IntegrationTests/CompositionRootTest.cs
similarity index 97%
rename from src/tests/Recyclarr.Cli.Tests/CompositionRootTest.cs
rename to src/tests/Recyclarr.Cli.IntegrationTests/CompositionRootTest.cs
index dbfb0f3f..cf33378b 100644
--- a/src/tests/Recyclarr.Cli.Tests/CompositionRootTest.cs
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/CompositionRootTest.cs
@@ -8,7 +8,7 @@ using Recyclarr.TestLibrary.Autofac;
using Serilog.Core;
using Spectre.Console;
-namespace Recyclarr.Cli.Tests;
+namespace Recyclarr.Cli.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Cli.Tests/Processors/ConfigCreationProcessorIntegrationTest.cs b/src/tests/Recyclarr.Cli.IntegrationTests/ConfigCreationProcessorIntegrationTest.cs
similarity index 94%
rename from src/tests/Recyclarr.Cli.Tests/Processors/ConfigCreationProcessorIntegrationTest.cs
rename to src/tests/Recyclarr.Cli.IntegrationTests/ConfigCreationProcessorIntegrationTest.cs
index 13819d27..60d15fa3 100644
--- a/src/tests/Recyclarr.Cli.Tests/Processors/ConfigCreationProcessorIntegrationTest.cs
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/ConfigCreationProcessorIntegrationTest.cs
@@ -2,15 +2,13 @@ using System.IO.Abstractions;
using Recyclarr.Cli.Console.Commands;
using Recyclarr.Cli.Console.Settings;
using Recyclarr.Cli.Processors.Config;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Repo;
-using Recyclarr.TrashLib.ExceptionTypes;
-namespace Recyclarr.Cli.Tests.Processors;
+namespace Recyclarr.Cli.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigCreationProcessorIntegrationTest : CliIntegrationFixture
+internal class ConfigCreationProcessorIntegrationTest : CliIntegrationFixture
{
[Test]
public void Config_file_created_when_using_default_path()
diff --git a/src/tests/Recyclarr.Cli.Tests/Processors/Config/ConfigManipulatorTest.cs b/src/tests/Recyclarr.Cli.IntegrationTests/ConfigManipulatorTest.cs
similarity index 90%
rename from src/tests/Recyclarr.Cli.Tests/Processors/Config/ConfigManipulatorTest.cs
rename to src/tests/Recyclarr.Cli.IntegrationTests/ConfigManipulatorTest.cs
index 38473e8f..c90de7e5 100644
--- a/src/tests/Recyclarr.Cli.Tests/Processors/Config/ConfigManipulatorTest.cs
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/ConfigManipulatorTest.cs
@@ -1,13 +1,12 @@
using System.IO.Abstractions;
using Recyclarr.Cli.Processors.Config;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Common.Extensions;
-namespace Recyclarr.Cli.Tests.Processors.Config;
+namespace Recyclarr.Cli.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigManipulatorTest : CliIntegrationFixture
+internal class ConfigManipulatorTest : CliIntegrationFixture
{
[Test]
public void Create_file_when_no_file_already_exists()
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/PipelinePhases/CustomFormatTransactionPhaseTest.cs b/src/tests/Recyclarr.Cli.IntegrationTests/CustomFormatTransactionPhaseTest.cs
similarity index 98%
rename from src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/PipelinePhases/CustomFormatTransactionPhaseTest.cs
rename to src/tests/Recyclarr.Cli.IntegrationTests/CustomFormatTransactionPhaseTest.cs
index 9fd50987..339d2e3c 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/PipelinePhases/CustomFormatTransactionPhaseTest.cs
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/CustomFormatTransactionPhaseTest.cs
@@ -2,15 +2,14 @@ using Recyclarr.Cli.Cache;
using Recyclarr.Cli.Pipelines.CustomFormat;
using Recyclarr.Cli.Pipelines.CustomFormat.Models;
using Recyclarr.Cli.Pipelines.CustomFormat.PipelinePhases;
-using Recyclarr.Cli.TestLibrary;
+using Recyclarr.Tests.TestLibrary;
using Recyclarr.TrashGuide.CustomFormat;
-using Recyclarr.TrashLib.TestLibrary;
-namespace Recyclarr.Cli.Tests.Pipelines.CustomFormat.PipelinePhases;
+namespace Recyclarr.Cli.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class CustomFormatTransactionPhaseTest : CliIntegrationFixture
+internal class CustomFormatTransactionPhaseTest : CliIntegrationFixture
{
[Test]
public void Add_new_cf()
diff --git a/src/tests/Recyclarr.Cli.IntegrationTests/Recyclarr.Cli.IntegrationTests.csproj b/src/tests/Recyclarr.Cli.IntegrationTests/Recyclarr.Cli.IntegrationTests.csproj
new file mode 100644
index 00000000..f715d277
--- /dev/null
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/Recyclarr.Cli.IntegrationTests.csproj
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/tests/Recyclarr.Cli.Tests/ServiceCompatibilityIntegrationTest.cs b/src/tests/Recyclarr.Cli.IntegrationTests/ServiceCompatibilityIntegrationTest.cs
similarity index 85%
rename from src/tests/Recyclarr.Cli.Tests/ServiceCompatibilityIntegrationTest.cs
rename to src/tests/Recyclarr.Cli.IntegrationTests/ServiceCompatibilityIntegrationTest.cs
index 58a1300d..f1119abf 100644
--- a/src/tests/Recyclarr.Cli.Tests/ServiceCompatibilityIntegrationTest.cs
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/ServiceCompatibilityIntegrationTest.cs
@@ -1,12 +1,11 @@
using System.IO.Abstractions;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Settings;
-namespace Recyclarr.Cli.Tests;
+namespace Recyclarr.Cli.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ServiceCompatibilityIntegrationTest : CliIntegrationFixture
+internal class ServiceCompatibilityIntegrationTest : CliIntegrationFixture
{
[Test]
public void Load_settings_yml_correctly_when_file_exists()
diff --git a/src/tests/Recyclarr.Cli.Tests/Processors/Config/TemplateConfigCreatorIntegrationTest.cs b/src/tests/Recyclarr.Cli.IntegrationTests/TemplateConfigCreatorIntegrationTest.cs
similarity index 92%
rename from src/tests/Recyclarr.Cli.Tests/Processors/Config/TemplateConfigCreatorIntegrationTest.cs
rename to src/tests/Recyclarr.Cli.IntegrationTests/TemplateConfigCreatorIntegrationTest.cs
index 525dccbd..86063eef 100644
--- a/src/tests/Recyclarr.Cli.Tests/Processors/Config/TemplateConfigCreatorIntegrationTest.cs
+++ b/src/tests/Recyclarr.Cli.IntegrationTests/TemplateConfigCreatorIntegrationTest.cs
@@ -1,14 +1,13 @@
using System.IO.Abstractions;
using Recyclarr.Cli.Console.Settings;
using Recyclarr.Cli.Processors.Config;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Repo;
-namespace Recyclarr.Cli.Tests.Processors.Config;
+namespace Recyclarr.Cli.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class TemplateConfigCreatorIntegrationTest : CliIntegrationFixture
+internal class TemplateConfigCreatorIntegrationTest : CliIntegrationFixture
{
[Test]
public void Template_id_matching_works()
diff --git a/src/tests/Recyclarr.Cli.TestLibrary/MockSyncSettings.cs b/src/tests/Recyclarr.Cli.TestLibrary/MockSyncSettings.cs
deleted file mode 100644
index a9f555d7..00000000
--- a/src/tests/Recyclarr.Cli.TestLibrary/MockSyncSettings.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using Recyclarr.Cli.Console.Settings;
-using Recyclarr.Common;
-
-namespace Recyclarr.Cli.TestLibrary;
-
-public static class MockSyncSettings
-{
- private static ISyncSettings MakeSyncSettings(SupportedServices? service, params string[] instances)
- {
- var settings = Substitute.For();
- settings.Service.Returns(service);
- settings.Instances.Returns(instances);
- return settings;
- }
-
- public static ISyncSettings Radarr(params string[] instances)
- {
- return MakeSyncSettings(SupportedServices.Radarr, instances);
- }
-
- public static ISyncSettings Sonarr(params string[] instances)
- {
- return MakeSyncSettings(SupportedServices.Sonarr, instances);
- }
-
- public static ISyncSettings AnyService(params string[] instances)
- {
- return MakeSyncSettings(null, instances);
- }
-}
diff --git a/src/tests/Recyclarr.Cli.TestLibrary/Recyclarr.Cli.TestLibrary.csproj b/src/tests/Recyclarr.Cli.TestLibrary/Recyclarr.Cli.TestLibrary.csproj
deleted file mode 100644
index 3f16a94f..00000000
--- a/src/tests/Recyclarr.Cli.TestLibrary/Recyclarr.Cli.TestLibrary.csproj
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/tests/Recyclarr.Cli.Tests/Cache/CustomFormatCacheTest.cs b/src/tests/Recyclarr.Cli.Tests/Cache/CustomFormatCacheTest.cs
index 0d454f50..686263ea 100644
--- a/src/tests/Recyclarr.Cli.Tests/Cache/CustomFormatCacheTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Cache/CustomFormatCacheTest.cs
@@ -1,6 +1,6 @@
using Recyclarr.Cli.Cache;
using Recyclarr.Cli.Pipelines.CustomFormat;
-using Recyclarr.TrashLib.TestLibrary;
+using Recyclarr.Tests.TestLibrary;
namespace Recyclarr.Cli.Tests.Cache;
diff --git a/src/tests/Recyclarr.Cli.Tests/Cache/ServiceCacheTest.cs b/src/tests/Recyclarr.Cli.Tests/Cache/ServiceCacheTest.cs
index 0c81bf70..54be1d39 100644
--- a/src/tests/Recyclarr.Cli.Tests/Cache/ServiceCacheTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Cache/ServiceCacheTest.cs
@@ -1,8 +1,8 @@
using System.Collections.ObjectModel;
using System.Diagnostics.CodeAnalysis;
using Recyclarr.Cli.Cache;
+using Recyclarr.Cli.Console.Helpers;
using Recyclarr.Config.Models;
-using Recyclarr.TrashLib.Interfaces;
namespace Recyclarr.Cli.Tests.Cache;
diff --git a/src/tests/Recyclarr.Cli.Tests/Console/Commands/ConfigCommandsIntegrationTest.cs b/src/tests/Recyclarr.Cli.Tests/Console/Commands/ConfigCommandsTest.cs
similarity index 89%
rename from src/tests/Recyclarr.Cli.Tests/Console/Commands/ConfigCommandsIntegrationTest.cs
rename to src/tests/Recyclarr.Cli.Tests/Console/Commands/ConfigCommandsTest.cs
index 9b47b837..3792a074 100644
--- a/src/tests/Recyclarr.Cli.Tests/Console/Commands/ConfigCommandsIntegrationTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Console/Commands/ConfigCommandsTest.cs
@@ -1,12 +1,11 @@
using Recyclarr.Cli.Console.Commands;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Repo;
namespace Recyclarr.Cli.Tests.Console.Commands;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigCommandsIntegrationTest : CliIntegrationFixture
+public class ConfigCommandsTest
{
[Test, AutoMockData]
public async Task Repo_update_is_called_on_config_list(
diff --git a/src/tests/Recyclarr.Cli.Tests/Console/Commands/ListCommandsIntegrationTest.cs b/src/tests/Recyclarr.Cli.Tests/Console/Commands/ListCommandsTest.cs
similarity index 92%
rename from src/tests/Recyclarr.Cli.Tests/Console/Commands/ListCommandsIntegrationTest.cs
rename to src/tests/Recyclarr.Cli.Tests/Console/Commands/ListCommandsTest.cs
index 86442557..48fe104e 100644
--- a/src/tests/Recyclarr.Cli.Tests/Console/Commands/ListCommandsIntegrationTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Console/Commands/ListCommandsTest.cs
@@ -1,12 +1,11 @@
using Recyclarr.Cli.Console.Commands;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Repo;
namespace Recyclarr.Cli.Tests.Console.Commands;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ListCommandsIntegrationTest : CliIntegrationFixture
+public class ListCommandsTest
{
[Test, AutoMockData]
public async Task Repo_update_is_called_on_list_custom_formats(
diff --git a/src/tests/Recyclarr.Cli.Tests/GlobalUsings.cs b/src/tests/Recyclarr.Cli.Tests/GlobalUsings.cs
index d328a191..ddaecfaa 100644
--- a/src/tests/Recyclarr.Cli.Tests/GlobalUsings.cs
+++ b/src/tests/Recyclarr.Cli.Tests/GlobalUsings.cs
@@ -1 +1,3 @@
+// Global using directives
+
global using Recyclarr.TestLibrary.AutoFixture;
diff --git a/src/tests/Recyclarr.Cli.Tests/LogJanitorTest.cs b/src/tests/Recyclarr.Cli.Tests/LogJanitorTest.cs
index c347f1e0..719fe2c3 100644
--- a/src/tests/Recyclarr.Cli.Tests/LogJanitorTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/LogJanitorTest.cs
@@ -1,6 +1,6 @@
using System.IO.Abstractions;
using Recyclarr.Cli.Logging;
-using Recyclarr.TrashLib.TestLibrary;
+using Recyclarr.Tests.TestLibrary;
namespace Recyclarr.Cli.Tests;
diff --git a/src/tests/Recyclarr.Cli.Tests/Migration/MigrationExecutorTest.cs b/src/tests/Recyclarr.Cli.Tests/Migration/MigrationExecutorTest.cs
index f66c6600..0ec60421 100644
--- a/src/tests/Recyclarr.Cli.Tests/Migration/MigrationExecutorTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Migration/MigrationExecutorTest.cs
@@ -1,13 +1,12 @@
using Recyclarr.Cli.Migration;
using Recyclarr.Cli.Migration.Steps;
-using Recyclarr.Cli.TestLibrary;
using Spectre.Console.Testing;
namespace Recyclarr.Cli.Tests.Migration;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class MigrationExecutorTest : CliIntegrationFixture
+public class MigrationExecutorTest
{
[Test]
public void Step_not_executed_if_check_returns_false()
diff --git a/src/tests/Recyclarr.Cli.TestLibrary/NewQp.cs b/src/tests/Recyclarr.Cli.Tests/NewQp.cs
similarity index 99%
rename from src/tests/Recyclarr.Cli.TestLibrary/NewQp.cs
rename to src/tests/Recyclarr.Cli.Tests/NewQp.cs
index 22e6019a..255b26d6 100644
--- a/src/tests/Recyclarr.Cli.TestLibrary/NewQp.cs
+++ b/src/tests/Recyclarr.Cli.Tests/NewQp.cs
@@ -4,7 +4,7 @@ using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
-namespace Recyclarr.Cli.TestLibrary;
+namespace Recyclarr.Cli.Tests;
public static class NewQp
{
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/CustomFormatDataListerTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/CustomFormatDataListerTest.cs
index 03314256..aacd8e2b 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/CustomFormatDataListerTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/CustomFormatDataListerTest.cs
@@ -1,7 +1,7 @@
using Recyclarr.Cli.Console.Settings;
using Recyclarr.Cli.Pipelines.CustomFormat;
+using Recyclarr.Tests.TestLibrary;
using Recyclarr.TrashGuide.CustomFormat;
-using Recyclarr.TrashLib.TestLibrary;
using Spectre.Console.Testing;
namespace Recyclarr.Cli.Tests.Pipelines.CustomFormat;
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/PipelinePhases/CustomFormatConfigPhaseTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/PipelinePhases/CustomFormatConfigPhaseTest.cs
index 699d0ce2..87f5fc99 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/PipelinePhases/CustomFormatConfigPhaseTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/PipelinePhases/CustomFormatConfigPhaseTest.cs
@@ -1,7 +1,7 @@
using Recyclarr.Cli.Pipelines.CustomFormat.PipelinePhases;
using Recyclarr.Config.Models;
+using Recyclarr.Tests.TestLibrary;
using Recyclarr.TrashGuide.CustomFormat;
-using Recyclarr.TrashLib.TestLibrary;
namespace Recyclarr.Cli.Tests.Pipelines.CustomFormat.PipelinePhases;
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/Api/QualityProfileDtoTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/Api/QualityProfileDtoTest.cs
index 389ff89c..04f7720d 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/Api/QualityProfileDtoTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/Api/QualityProfileDtoTest.cs
@@ -1,4 +1,3 @@
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.ServarrApi.Dto;
namespace Recyclarr.Cli.Tests.Pipelines.QualityProfile.Api;
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileConfigPhaseTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileConfigPhaseTest.cs
index 23a8144a..c7b09540 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileConfigPhaseTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileConfigPhaseTest.cs
@@ -1,8 +1,7 @@
using Recyclarr.Cli.Pipelines.CustomFormat.Models;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Config.Models;
-using Recyclarr.TrashLib.TestLibrary;
+using Recyclarr.Tests.TestLibrary;
namespace Recyclarr.Cli.Tests.Pipelines.QualityProfile.PipelinePhases;
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhaseTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhaseTest.cs
index 9607cd1c..64ead7e6 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhaseTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/PipelinePhases/QualityProfileTransactionPhaseTest.cs
@@ -1,6 +1,5 @@
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityItemOrganizerTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityItemOrganizerTest.cs
index c2f0c4a8..eacf6156 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityItemOrganizerTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityItemOrganizerTest.cs
@@ -1,5 +1,4 @@
using Recyclarr.Cli.Pipelines.QualityProfile;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityProfileExtensionsTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityProfileExtensionsTest.cs
index 852b6ebd..79287a74 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityProfileExtensionsTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/QualityProfileExtensionsTest.cs
@@ -1,5 +1,4 @@
using Recyclarr.Cli.Pipelines.QualityProfile;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.ServarrApi.Dto;
using Recyclarr.ServarrApi.Extensions;
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileTest.cs
index 4b4d14f3..cc37335a 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileTest.cs
@@ -1,6 +1,5 @@
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileValidatorTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileValidatorTest.cs
index 4691adee..df91a9ca 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileValidatorTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/QualityProfile/UpdatedQualityProfileValidatorTest.cs
@@ -1,7 +1,6 @@
using FluentValidation.TestHelper;
using Recyclarr.Cli.Pipelines.QualityProfile;
using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Dto;
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagConfigPhaseTest.cs b/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagConfigPhaseTest.cs
index 4aea3dcf..cc1a0ddf 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagConfigPhaseTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Pipelines/Tags/PipelinePhases/TagConfigPhaseTest.cs
@@ -1,6 +1,6 @@
using Recyclarr.Cli.Pipelines.Tags.PipelinePhases;
using Recyclarr.Config.Models;
-using Recyclarr.TrashLib.TestLibrary;
+using Recyclarr.Tests.TestLibrary;
namespace Recyclarr.Cli.Tests.Pipelines.Tags.PipelinePhases;
diff --git a/src/tests/Recyclarr.Cli.Tests/Processors/Config/TemplateConfigCreatorTest.cs b/src/tests/Recyclarr.Cli.Tests/Processors/Config/TemplateConfigCreatorTest.cs
index 0c98b7f3..4f9bd400 100644
--- a/src/tests/Recyclarr.Cli.Tests/Processors/Config/TemplateConfigCreatorTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Processors/Config/TemplateConfigCreatorTest.cs
@@ -1,7 +1,6 @@
using System.IO.Abstractions;
using Recyclarr.Cli.Console.Settings;
using Recyclarr.Cli.Processors.Config;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Platform;
using Recyclarr.TrashGuide;
@@ -9,7 +8,7 @@ namespace Recyclarr.Cli.Tests.Processors.Config;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class TemplateConfigCreatorTest : CliIntegrationFixture
+public class TemplateConfigCreatorTest
{
[Test, AutoMockData]
public void Can_handle_returns_true_with_templates(
diff --git a/src/tests/Recyclarr.Cli.Tests/Processors/ConfigCreationProcessorTest.cs b/src/tests/Recyclarr.Cli.Tests/Processors/ConfigCreationProcessorTest.cs
index 7ab20aa8..f143181b 100644
--- a/src/tests/Recyclarr.Cli.Tests/Processors/ConfigCreationProcessorTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Processors/ConfigCreationProcessorTest.cs
@@ -2,8 +2,8 @@ using System.Diagnostics.CodeAnalysis;
using Autofac.Extras.Ordering;
using AutoFixture;
using Recyclarr.Cli.Console.Commands;
+using Recyclarr.Cli.Processors;
using Recyclarr.Cli.Processors.Config;
-using Recyclarr.TrashLib.ExceptionTypes;
namespace Recyclarr.Cli.Tests.Processors;
diff --git a/src/tests/Recyclarr.Cli.Tests/Processors/ConfigTemplateListerTest.cs b/src/tests/Recyclarr.Cli.Tests/Processors/ConfigTemplateListerTest.cs
index b8e5983f..849a97e7 100644
--- a/src/tests/Recyclarr.Cli.Tests/Processors/ConfigTemplateListerTest.cs
+++ b/src/tests/Recyclarr.Cli.Tests/Processors/ConfigTemplateListerTest.cs
@@ -3,14 +3,13 @@ using Recyclarr.Cli.Console.Commands;
using Recyclarr.Cli.Processors.Config;
using Recyclarr.Common;
using Recyclarr.TrashGuide;
-using Recyclarr.TrashLib.TestLibrary;
using Spectre.Console.Testing;
namespace Recyclarr.Cli.Tests.Processors;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigTemplateListerTest : TrashLibIntegrationFixture
+public class ConfigTemplateListerTest
{
[Test, AutoMockData]
public void Hidden_templates_are_not_rendered(
diff --git a/src/tests/Recyclarr.Cli.Tests/Recyclarr.Cli.Tests.csproj b/src/tests/Recyclarr.Cli.Tests/Recyclarr.Cli.Tests.csproj
index 53f3932f..5b11b013 100644
--- a/src/tests/Recyclarr.Cli.Tests/Recyclarr.Cli.Tests.csproj
+++ b/src/tests/Recyclarr.Cli.Tests/Recyclarr.Cli.Tests.csproj
@@ -1,11 +1,7 @@
-
-
-
-
-
-
+
+
diff --git a/src/tests/Recyclarr.Common.TestLibrary/Recyclarr.Common.TestLibrary.csproj b/src/tests/Recyclarr.Common.TestLibrary/Recyclarr.Common.TestLibrary.csproj
deleted file mode 100644
index 83e96c5d..00000000
--- a/src/tests/Recyclarr.Common.TestLibrary/Recyclarr.Common.TestLibrary.csproj
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/tests/Recyclarr.Common.Tests/Recyclarr.Common.Tests.csproj b/src/tests/Recyclarr.Common.Tests/Recyclarr.Common.Tests.csproj
deleted file mode 100644
index 2b482c14..00000000
--- a/src/tests/Recyclarr.Common.Tests/Recyclarr.Common.Tests.csproj
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/tests/Recyclarr.Config.TestLibrary/ConfigIntegrationFixture.cs b/src/tests/Recyclarr.Config.TestLibrary/ConfigIntegrationFixture.cs
deleted file mode 100644
index 5363ef16..00000000
--- a/src/tests/Recyclarr.Config.TestLibrary/ConfigIntegrationFixture.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using Autofac;
-using Recyclarr.TrashGuide;
-using Recyclarr.TrashLib.TestLibrary;
-using Recyclarr.Yaml;
-
-namespace Recyclarr.Config.TestLibrary;
-
-[FixtureLifeCycle(LifeCycle.InstancePerTestCase)]
-public abstract class ConfigIntegrationFixture : TrashLibIntegrationFixture
-{
- protected override void RegisterTypes(ContainerBuilder builder)
- {
- base.RegisterTypes(builder);
- builder.RegisterModule();
-
- // dependencies
- builder.RegisterModule();
- builder.RegisterModule();
- }
-}
diff --git a/src/tests/Recyclarr.Config.TestLibrary/Recyclarr.Config.TestLibrary.csproj b/src/tests/Recyclarr.Config.TestLibrary/Recyclarr.Config.TestLibrary.csproj
deleted file mode 100644
index d6a92980..00000000
--- a/src/tests/Recyclarr.Config.TestLibrary/Recyclarr.Config.TestLibrary.csproj
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/src/tests/Recyclarr.Config.Tests/Recyclarr.Config.Tests.csproj b/src/tests/Recyclarr.Config.Tests/Recyclarr.Config.Tests.csproj
deleted file mode 100644
index f419183a..00000000
--- a/src/tests/Recyclarr.Config.Tests/Recyclarr.Config.Tests.csproj
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/src/tests/Recyclarr.Json.Tests/BulkJsonLoaderIntegrationTest.cs b/src/tests/Recyclarr.IntegrationTests/BulkJsonLoaderIntegrationTest.cs
similarity index 93%
rename from src/tests/Recyclarr.Json.Tests/BulkJsonLoaderIntegrationTest.cs
rename to src/tests/Recyclarr.IntegrationTests/BulkJsonLoaderIntegrationTest.cs
index 8edac392..457d2160 100644
--- a/src/tests/Recyclarr.Json.Tests/BulkJsonLoaderIntegrationTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/BulkJsonLoaderIntegrationTest.cs
@@ -1,13 +1,12 @@
using System.Diagnostics.CodeAnalysis;
using System.IO.Abstractions;
using Recyclarr.Json.Loading;
-using Recyclarr.Json.TestLibrary;
-namespace Recyclarr.Json.Tests;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class BulkJsonLoaderIntegrationTest : JsonIntegrationFixture
+public class BulkJsonLoaderIntegrationTest : IntegrationTestFixture
{
[SuppressMessage("ReSharper", "NotAccessedPositionalProperty.Local")]
private sealed record TestGuideObject(string TrashId, int TrashScore, string Name);
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigSaverTest.cs b/src/tests/Recyclarr.IntegrationTests/ConfigSaverTest.cs
similarity index 93%
rename from src/tests/Recyclarr.Config.Tests/Parsing/ConfigSaverTest.cs
rename to src/tests/Recyclarr.IntegrationTests/ConfigSaverTest.cs
index 9c8a685b..4ea1eb04 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigSaverTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/ConfigSaverTest.cs
@@ -1,13 +1,12 @@
using System.IO.Abstractions;
using Recyclarr.Common.Extensions;
using Recyclarr.Config.Parsing;
-using Recyclarr.Config.TestLibrary;
-namespace Recyclarr.Config.Tests.Parsing;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigSaverTest : ConfigIntegrationFixture
+public class ConfigSaverTest : IntegrationTestFixture
{
[Test]
public void Replace_file_when_already_exists()
diff --git a/src/tests/Recyclarr.Config.Tests/Services/ConfigTemplateGuideServiceTest.cs b/src/tests/Recyclarr.IntegrationTests/ConfigTemplateGuideServiceIntegrationTest.cs
similarity index 86%
rename from src/tests/Recyclarr.Config.Tests/Services/ConfigTemplateGuideServiceTest.cs
rename to src/tests/Recyclarr.IntegrationTests/ConfigTemplateGuideServiceIntegrationTest.cs
index de0c75d7..f98afd94 100644
--- a/src/tests/Recyclarr.Config.Tests/Services/ConfigTemplateGuideServiceTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/ConfigTemplateGuideServiceIntegrationTest.cs
@@ -1,15 +1,15 @@
using System.IO.Abstractions;
using Recyclarr.Common;
-using Recyclarr.Common.TestLibrary;
using Recyclarr.Repo;
+using Recyclarr.TestLibrary;
+using Recyclarr.TestLibrary.AutoFixture;
using Recyclarr.TrashGuide;
-using Recyclarr.Config.TestLibrary;
-namespace Recyclarr.Config.Tests.Services;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigTemplateGuideServiceTest : ConfigIntegrationFixture
+public class ConfigTemplateGuideServiceIntegrationTest : IntegrationTestFixture
{
[Test, AutoMockData]
public void Throw_when_templates_dir_does_not_exist(
@@ -25,7 +25,7 @@ public class ConfigTemplateGuideServiceTest : ConfigIntegrationFixture
{
var repo = Resolve();
var templateDir = repo.Path;
- Fs.AddSameFileFromEmbeddedResource(templateDir.File("templates.json"), typeof(ConfigTemplateGuideServiceTest));
+ Fs.AddSameFileFromEmbeddedResource(templateDir.File("templates.json"), typeof(ConfigTemplateGuideServiceIntegrationTest));
TemplatePath MakeTemplatePath(SupportedServices service, string id, string path)
{
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationLoaderEnvVarTest.cs b/src/tests/Recyclarr.IntegrationTests/ConfigurationLoaderEnvVarTest.cs
similarity index 96%
rename from src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationLoaderEnvVarTest.cs
rename to src/tests/Recyclarr.IntegrationTests/ConfigurationLoaderEnvVarTest.cs
index e0dfc7c7..57b4da21 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationLoaderEnvVarTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/ConfigurationLoaderEnvVarTest.cs
@@ -1,12 +1,11 @@
using Recyclarr.Common;
using Recyclarr.Config.Parsing;
-using Recyclarr.Config.TestLibrary;
-namespace Recyclarr.Config.Tests.Parsing;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigurationLoaderEnvVarTest : ConfigIntegrationFixture
+public class ConfigurationLoaderEnvVarTest : IntegrationTestFixture
{
[Test]
public void Test_successful_environment_variable_loading()
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationLoaderSecretsTest.cs b/src/tests/Recyclarr.IntegrationTests/ConfigurationLoaderSecretsTest.cs
similarity index 96%
rename from src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationLoaderSecretsTest.cs
rename to src/tests/Recyclarr.IntegrationTests/ConfigurationLoaderSecretsTest.cs
index d9c11939..d04080ff 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationLoaderSecretsTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/ConfigurationLoaderSecretsTest.cs
@@ -1,13 +1,13 @@
using System.IO.Abstractions;
using Recyclarr.Common;
+using Recyclarr.Config;
using Recyclarr.Config.Parsing;
-using Recyclarr.Config.TestLibrary;
-namespace Recyclarr.Config.Tests.Parsing;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigurationLoaderSecretsTest : ConfigIntegrationFixture
+public class ConfigurationLoaderSecretsTest : IntegrationTestFixture
{
[Test]
public void Test_secret_loading()
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationLoaderTest.cs b/src/tests/Recyclarr.IntegrationTests/ConfigurationLoaderTest.cs
similarity index 97%
rename from src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationLoaderTest.cs
rename to src/tests/Recyclarr.IntegrationTests/ConfigurationLoaderTest.cs
index dc7d920e..8c7ffd41 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationLoaderTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/ConfigurationLoaderTest.cs
@@ -5,16 +5,16 @@ using Autofac;
using FluentValidation;
using Recyclarr.Common;
using Recyclarr.Common.Extensions;
+using Recyclarr.Config;
using Recyclarr.Config.Models;
-using Recyclarr.TestLibrary.Autofac;
using Recyclarr.Config.Parsing;
-using Recyclarr.Config.TestLibrary;
+using Recyclarr.TestLibrary.Autofac;
-namespace Recyclarr.Config.Tests.Parsing;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigurationLoaderTest : ConfigIntegrationFixture
+public class ConfigurationLoaderTest : IntegrationTestFixture
{
private static Func GetResourceData(string file)
{
diff --git a/src/tests/Recyclarr.Config.Tests/ConfigurationRegistryTest.cs b/src/tests/Recyclarr.IntegrationTests/ConfigurationRegistryTest.cs
similarity index 96%
rename from src/tests/Recyclarr.Config.Tests/ConfigurationRegistryTest.cs
rename to src/tests/Recyclarr.IntegrationTests/ConfigurationRegistryTest.cs
index d6da0ebf..3aa336a5 100644
--- a/src/tests/Recyclarr.Config.Tests/ConfigurationRegistryTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/ConfigurationRegistryTest.cs
@@ -1,13 +1,13 @@
+using Recyclarr.Config;
using Recyclarr.Config.ExceptionTypes;
using Recyclarr.Config.Models;
using Recyclarr.Config.Parsing.ErrorHandling;
-using Recyclarr.Config.TestLibrary;
-namespace Recyclarr.Config.Tests;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class ConfigurationRegistryTest : ConfigIntegrationFixture
+public class ConfigurationRegistryTest : IntegrationTestFixture
{
[Test]
public void Use_explicit_paths_instead_of_default()
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/CustomFormat/CustomFormatLoaderIntegrationTest.cs b/src/tests/Recyclarr.IntegrationTests/CustomFormatLoaderIntegrationTest.cs
similarity index 81%
rename from src/tests/Recyclarr.TrashGuide.Tests/CustomFormat/CustomFormatLoaderIntegrationTest.cs
rename to src/tests/Recyclarr.IntegrationTests/CustomFormatLoaderIntegrationTest.cs
index c685729f..206760a5 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/CustomFormat/CustomFormatLoaderIntegrationTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/CustomFormatLoaderIntegrationTest.cs
@@ -1,14 +1,13 @@
using System.IO.Abstractions;
using System.Text.Json;
+using Recyclarr.Tests.TestLibrary;
using Recyclarr.TrashGuide.CustomFormat;
-using Recyclarr.TrashGuide.TestLibrary;
-using Recyclarr.TrashLib.TestLibrary;
-namespace Recyclarr.TrashGuide.Tests.CustomFormat;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class CustomFormatLoaderIntegrationTest : GuideIntegrationFixture
+public class CustomFormatLoaderIntegrationTest : IntegrationTestFixture
{
[Test]
public void Get_custom_format_json_works()
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/Api/CustomFormatServiceTest.cs b/src/tests/Recyclarr.IntegrationTests/CustomFormatServiceTest.cs
similarity index 63%
rename from src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/Api/CustomFormatServiceTest.cs
rename to src/tests/Recyclarr.IntegrationTests/CustomFormatServiceTest.cs
index 683c6a03..b66ae20a 100644
--- a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/Api/CustomFormatServiceTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/CustomFormatServiceTest.cs
@@ -1,17 +1,16 @@
using Flurl.Http.Testing;
-using Recyclarr.Cli.TestLibrary;
using Recyclarr.Common;
using Recyclarr.Config.Models;
using Recyclarr.ServarrApi.Services;
-namespace Recyclarr.Cli.Tests.Pipelines.CustomFormat.Api;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class CustomFormatServiceTest : CliIntegrationFixture
+public class CustomFormatServiceTest : IntegrationTestFixture
{
- [Test, AutoMockData]
- public async Task Get_can_parse_json(IServiceConfiguration config)
+ [Test]
+ public async Task Get_can_parse_json()
{
var resourceData = new ResourceDataReader(typeof(CustomFormatServiceTest), "Data");
var jsonBody = resourceData.ReadData("issue_178.json");
@@ -20,7 +19,7 @@ public class CustomFormatServiceTest : CliIntegrationFixture
http.RespondWith(jsonBody);
var sut = Resolve();
- var result = await sut.GetCustomFormats(config);
+ var result = await sut.GetCustomFormats(Substitute.ForPartsOf());
result.Should().HaveCountGreaterThan(5);
}
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/Data/Load_UsingStream_CorrectParsing.yml b/src/tests/Recyclarr.IntegrationTests/Data/Load_UsingStream_CorrectParsing.yml
similarity index 100%
rename from src/tests/Recyclarr.Config.Tests/Parsing/Data/Load_UsingStream_CorrectParsing.yml
rename to src/tests/Recyclarr.IntegrationTests/Data/Load_UsingStream_CorrectParsing.yml
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/Data/invalid_quality_size.json b/src/tests/Recyclarr.IntegrationTests/Data/invalid_quality_size.json
similarity index 100%
rename from src/tests/Recyclarr.TrashGuide.Tests/QualitySize/Data/invalid_quality_size.json
rename to src/tests/Recyclarr.IntegrationTests/Data/invalid_quality_size.json
diff --git a/src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/Api/Data/issue_178.json b/src/tests/Recyclarr.IntegrationTests/Data/issue_178.json
similarity index 100%
rename from src/tests/Recyclarr.Cli.Tests/Pipelines/CustomFormat/Api/Data/issue_178.json
rename to src/tests/Recyclarr.IntegrationTests/Data/issue_178.json
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/Data/quality_size.json b/src/tests/Recyclarr.IntegrationTests/Data/quality_size.json
similarity index 100%
rename from src/tests/Recyclarr.TrashGuide.Tests/QualitySize/Data/quality_size.json
rename to src/tests/Recyclarr.IntegrationTests/Data/quality_size.json
diff --git a/src/tests/Recyclarr.Config.Tests/Services/Data/templates.json b/src/tests/Recyclarr.IntegrationTests/Data/templates.json
similarity index 100%
rename from src/tests/Recyclarr.Config.Tests/Services/Data/templates.json
rename to src/tests/Recyclarr.IntegrationTests/Data/templates.json
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/IncludePostProcessorIntegrationTest.cs b/src/tests/Recyclarr.IntegrationTests/IncludePostProcessorIntegrationTest.cs
similarity index 97%
rename from src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/IncludePostProcessorIntegrationTest.cs
rename to src/tests/Recyclarr.IntegrationTests/IncludePostProcessorIntegrationTest.cs
index d1c73a7b..ac719110 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/IncludePostProcessorIntegrationTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/IncludePostProcessorIntegrationTest.cs
@@ -2,13 +2,12 @@ using System.IO.Abstractions;
using Recyclarr.Config.Parsing;
using Recyclarr.Config.Parsing.PostProcessing;
using Recyclarr.Config.Parsing.PostProcessing.ConfigMerging;
-using Recyclarr.Config.TestLibrary;
-namespace Recyclarr.Config.Tests.Parsing.PostProcessing;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class IncludePostProcessorIntegrationTest : ConfigIntegrationFixture
+public class IncludePostProcessorIntegrationTest : IntegrationTestFixture
{
[Test]
public void No_change_when_no_includes()
diff --git a/src/tests/Recyclarr.TestLibrary/IntegrationTestFixture.cs b/src/tests/Recyclarr.IntegrationTests/IntegrationTestFixture.cs
similarity index 57%
rename from src/tests/Recyclarr.TestLibrary/IntegrationTestFixture.cs
rename to src/tests/Recyclarr.IntegrationTests/IntegrationTestFixture.cs
index a0df24ee..5c77cad3 100644
--- a/src/tests/Recyclarr.TestLibrary/IntegrationTestFixture.cs
+++ b/src/tests/Recyclarr.IntegrationTests/IntegrationTestFixture.cs
@@ -1,12 +1,24 @@
using System.IO.Abstractions;
using Autofac;
+using Autofac.Extras.Ordering;
using Autofac.Features.ResolveAnything;
using Recyclarr.Common;
+using Recyclarr.Compatibility;
+using Recyclarr.Config;
+using Recyclarr.Json;
+using Recyclarr.Platform;
+using Recyclarr.Repo;
+using Recyclarr.ServarrApi;
+using Recyclarr.Settings;
+using Recyclarr.TestLibrary;
using Recyclarr.TestLibrary.Autofac;
+using Recyclarr.TrashGuide;
+using Recyclarr.VersionControl;
+using Recyclarr.Yaml;
using Spectre.Console;
using Spectre.Console.Testing;
-namespace Recyclarr.TestLibrary;
+namespace Recyclarr.IntegrationTests;
[FixtureLifeCycle(LifeCycle.InstancePerTestCase)]
public abstract class IntegrationTestFixture : IDisposable
@@ -16,6 +28,7 @@ public abstract class IntegrationTestFixture : IDisposable
protected MockFileSystem Fs { get; }
protected TestConsole Console { get; } = new();
protected TestableLogger Logger { get; } = new();
+ protected IAppPaths Paths { get; }
protected IntegrationTestFixture()
{
@@ -24,6 +37,8 @@ public abstract class IntegrationTestFixture : IDisposable
CreateDefaultTempDir = false
});
+ Paths = new AppPaths(Fs.CurrentDirectory().SubDirectory("test").SubDirectory("recyclarr"));
+
// Use Lazy because we shouldn't invoke virtual methods at construction time
_container = new Lazy(() =>
{
@@ -42,6 +57,20 @@ public abstract class IntegrationTestFixture : IDisposable
///
protected virtual void RegisterTypes(ContainerBuilder builder)
{
+ // Needed for Autofac.Extras.Ordering
+ builder.RegisterSource();
+
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
+ builder.RegisterModule();
}
///
@@ -53,8 +82,16 @@ public abstract class IntegrationTestFixture : IDisposable
builder.RegisterInstance(Fs).As();
builder.RegisterInstance(Console).As();
builder.RegisterInstance(Logger).As();
+ builder.RegisterInstance(Paths).As();
builder.RegisterMockFor();
+ builder.RegisterMockFor();
+ builder.RegisterMockFor();
+ builder.RegisterMockFor(m =>
+ {
+ // By default, choose some extremely high number so that all the newest features are enabled.
+ m.GetVersion(default!).ReturnsForAnyArgs(_ => new Version("99.0.0.0"));
+ });
}
protected T Resolve() where T : notnull
@@ -65,12 +102,7 @@ public abstract class IntegrationTestFixture : IDisposable
// ReSharper disable once VirtualMemberNeverOverridden.Global
protected virtual void Dispose(bool disposing)
{
- if (!disposing)
- {
- return;
- }
-
- if (!_container.IsValueCreated)
+ if (!disposing || !_container.IsValueCreated)
{
return;
}
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualitySizeGuideParserTest.cs b/src/tests/Recyclarr.IntegrationTests/QualitySizeGuideParserTest.cs
similarity index 87%
rename from src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualitySizeGuideParserTest.cs
rename to src/tests/Recyclarr.IntegrationTests/QualitySizeGuideParserTest.cs
index 99b91af1..ca070835 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualitySizeGuideParserTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/QualitySizeGuideParserTest.cs
@@ -1,14 +1,13 @@
using System.IO.Abstractions;
using Recyclarr.Common.Extensions;
-using Recyclarr.Common.TestLibrary;
+using Recyclarr.TestLibrary;
using Recyclarr.TrashGuide.QualitySize;
-using Recyclarr.TrashGuide.TestLibrary;
-namespace Recyclarr.TrashGuide.Tests.QualitySize;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class QualitySizeGuideParserTest : GuideIntegrationFixture
+public class QualitySizeGuideParserTest : IntegrationTestFixture
{
[Test]
public void Get_valid_data()
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualitySizeGuideServiceTest.cs b/src/tests/Recyclarr.IntegrationTests/QualitySizeGuideServiceTest.cs
similarity index 86%
rename from src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualitySizeGuideServiceTest.cs
rename to src/tests/Recyclarr.IntegrationTests/QualitySizeGuideServiceTest.cs
index d0534c42..c0045023 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualitySizeGuideServiceTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/QualitySizeGuideServiceTest.cs
@@ -1,16 +1,15 @@
using System.IO.Abstractions;
using Recyclarr.Common;
using Recyclarr.Common.Extensions;
-using Recyclarr.Common.TestLibrary;
using Recyclarr.Repo;
+using Recyclarr.TestLibrary;
using Recyclarr.TrashGuide.QualitySize;
-using Recyclarr.TrashGuide.TestLibrary;
-namespace Recyclarr.TrashGuide.Tests.QualitySize;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class QualitySizeGuideServiceTest : GuideIntegrationFixture
+public class QualitySizeGuideServiceTest : IntegrationTestFixture
{
[TestCase(SupportedServices.Sonarr, "sonarr")]
[TestCase(SupportedServices.Radarr, "radarr")]
diff --git a/src/tests/Recyclarr.IntegrationTests/Recyclarr.IntegrationTests.csproj b/src/tests/Recyclarr.IntegrationTests/Recyclarr.IntegrationTests.csproj
new file mode 100644
index 00000000..9393cb96
--- /dev/null
+++ b/src/tests/Recyclarr.IntegrationTests/Recyclarr.IntegrationTests.csproj
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/tests/Recyclarr.Config.Tests/YamlConfigValidatorTest.cs b/src/tests/Recyclarr.IntegrationTests/YamlConfigValidatorTest.cs
similarity index 97%
rename from src/tests/Recyclarr.Config.Tests/YamlConfigValidatorTest.cs
rename to src/tests/Recyclarr.IntegrationTests/YamlConfigValidatorTest.cs
index e797d669..f533eafe 100644
--- a/src/tests/Recyclarr.Config.Tests/YamlConfigValidatorTest.cs
+++ b/src/tests/Recyclarr.IntegrationTests/YamlConfigValidatorTest.cs
@@ -1,13 +1,12 @@
using FluentValidation.TestHelper;
using Recyclarr.Config.Models;
using Recyclarr.Config.Parsing;
-using Recyclarr.Config.TestLibrary;
-namespace Recyclarr.Config.Tests;
+namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
-public class YamlConfigValidatorTest : ConfigIntegrationFixture
+public class YamlConfigValidatorTest : IntegrationTestFixture
{
[Test]
public void Validation_succeeds()
diff --git a/src/tests/Recyclarr.Json.TestLibrary/JsonIntegrationFixture.cs b/src/tests/Recyclarr.Json.TestLibrary/JsonIntegrationFixture.cs
deleted file mode 100644
index 486f2347..00000000
--- a/src/tests/Recyclarr.Json.TestLibrary/JsonIntegrationFixture.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Autofac;
-using Recyclarr.TestLibrary;
-
-namespace Recyclarr.Json.TestLibrary;
-
-[FixtureLifeCycle(LifeCycle.InstancePerTestCase)]
-public abstract class JsonIntegrationFixture : IntegrationTestFixture
-{
- protected override void RegisterTypes(ContainerBuilder builder)
- {
- base.RegisterTypes(builder);
- builder.RegisterModule();
- }
-}
diff --git a/src/tests/Recyclarr.Json.TestLibrary/Recyclarr.Json.TestLibrary.csproj b/src/tests/Recyclarr.Json.TestLibrary/Recyclarr.Json.TestLibrary.csproj
deleted file mode 100644
index 1573e5c7..00000000
--- a/src/tests/Recyclarr.Json.TestLibrary/Recyclarr.Json.TestLibrary.csproj
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- net7.0
- enable
- enable
-
-
-
-
-
-
-
-
diff --git a/src/tests/Recyclarr.Json.Tests/Recyclarr.Json.Tests.csproj b/src/tests/Recyclarr.Json.Tests/Recyclarr.Json.Tests.csproj
deleted file mode 100644
index 6f3060ab..00000000
--- a/src/tests/Recyclarr.Json.Tests/Recyclarr.Json.Tests.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/tests/Recyclarr.TestLibrary.Tests/Recyclarr.TestLibrary.Tests.csproj b/src/tests/Recyclarr.TestLibrary.Tests/Recyclarr.TestLibrary.Tests.csproj
deleted file mode 100644
index 4ef71482..00000000
--- a/src/tests/Recyclarr.TestLibrary.Tests/Recyclarr.TestLibrary.Tests.csproj
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src/tests/Recyclarr.Common.TestLibrary/CommonMockFileSystemExtensions.cs b/src/tests/Recyclarr.TestLibrary/MockFileSystemExtensions.cs
similarity index 95%
rename from src/tests/Recyclarr.Common.TestLibrary/CommonMockFileSystemExtensions.cs
rename to src/tests/Recyclarr.TestLibrary/MockFileSystemExtensions.cs
index d8afc537..326180c3 100644
--- a/src/tests/Recyclarr.Common.TestLibrary/CommonMockFileSystemExtensions.cs
+++ b/src/tests/Recyclarr.TestLibrary/MockFileSystemExtensions.cs
@@ -1,9 +1,9 @@
using System.IO.Abstractions;
using System.Reflection;
-namespace Recyclarr.Common.TestLibrary;
+namespace Recyclarr.TestLibrary;
-public static class CommonMockFileSystemExtensions
+public static class MockFileSystemExtensions
{
public static void AddFileFromEmbeddedResource(
this MockFileSystem fs,
diff --git a/src/tests/Recyclarr.TrashLib.TestLibrary/NewCf.cs b/src/tests/Recyclarr.Tests.TestLibrary/NewCf.cs
similarity index 95%
rename from src/tests/Recyclarr.TrashLib.TestLibrary/NewCf.cs
rename to src/tests/Recyclarr.Tests.TestLibrary/NewCf.cs
index 803a390b..75ee2d96 100644
--- a/src/tests/Recyclarr.TrashLib.TestLibrary/NewCf.cs
+++ b/src/tests/Recyclarr.Tests.TestLibrary/NewCf.cs
@@ -1,6 +1,6 @@
using Recyclarr.TrashGuide.CustomFormat;
-namespace Recyclarr.TrashLib.TestLibrary;
+namespace Recyclarr.Tests.TestLibrary;
public static class NewCf
{
diff --git a/src/tests/Recyclarr.TrashLib.TestLibrary/NewConfig.cs b/src/tests/Recyclarr.Tests.TestLibrary/NewConfig.cs
similarity index 89%
rename from src/tests/Recyclarr.TrashLib.TestLibrary/NewConfig.cs
rename to src/tests/Recyclarr.Tests.TestLibrary/NewConfig.cs
index d7ca3453..332a11b0 100644
--- a/src/tests/Recyclarr.TrashLib.TestLibrary/NewConfig.cs
+++ b/src/tests/Recyclarr.Tests.TestLibrary/NewConfig.cs
@@ -1,6 +1,6 @@
using Recyclarr.Config.Models;
-namespace Recyclarr.TrashLib.TestLibrary;
+namespace Recyclarr.Tests.TestLibrary;
public static class NewConfig
{
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/Recyclarr.TrashGuide.Tests.csproj b/src/tests/Recyclarr.Tests.TestLibrary/Recyclarr.Tests.TestLibrary.csproj
similarity index 69%
rename from src/tests/Recyclarr.TrashGuide.Tests/Recyclarr.TrashGuide.Tests.csproj
rename to src/tests/Recyclarr.Tests.TestLibrary/Recyclarr.Tests.TestLibrary.csproj
index 1a48138d..8251b64a 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/Recyclarr.TrashGuide.Tests.csproj
+++ b/src/tests/Recyclarr.Tests.TestLibrary/Recyclarr.Tests.TestLibrary.csproj
@@ -1,7 +1,7 @@
+
-
diff --git a/src/tests/Recyclarr.TrashLib.TestLibrary/TestAppPaths.cs b/src/tests/Recyclarr.Tests.TestLibrary/TestAppPaths.cs
similarity index 84%
rename from src/tests/Recyclarr.TrashLib.TestLibrary/TestAppPaths.cs
rename to src/tests/Recyclarr.Tests.TestLibrary/TestAppPaths.cs
index 9ecdb827..beb75864 100644
--- a/src/tests/Recyclarr.TrashLib.TestLibrary/TestAppPaths.cs
+++ b/src/tests/Recyclarr.Tests.TestLibrary/TestAppPaths.cs
@@ -1,7 +1,7 @@
using System.IO.Abstractions;
using Recyclarr.Platform;
-namespace Recyclarr.TrashLib.TestLibrary;
+namespace Recyclarr.Tests.TestLibrary;
public sealed class TestAppPaths : AppPaths
{
diff --git a/src/tests/Recyclarr.Common.Tests/DefaultDataFile.txt b/src/tests/Recyclarr.Tests/Common/DefaultDataFile.txt
similarity index 100%
rename from src/tests/Recyclarr.Common.Tests/DefaultDataFile.txt
rename to src/tests/Recyclarr.Tests/Common/DefaultDataFile.txt
diff --git a/src/tests/Recyclarr.Common.Tests/Extensions/DictionaryExtensionsTest.cs b/src/tests/Recyclarr.Tests/Common/Extensions/DictionaryExtensionsTest.cs
similarity index 97%
rename from src/tests/Recyclarr.Common.Tests/Extensions/DictionaryExtensionsTest.cs
rename to src/tests/Recyclarr.Tests/Common/Extensions/DictionaryExtensionsTest.cs
index 2a4f6dcd..5ba27491 100644
--- a/src/tests/Recyclarr.Common.Tests/Extensions/DictionaryExtensionsTest.cs
+++ b/src/tests/Recyclarr.Tests/Common/Extensions/DictionaryExtensionsTest.cs
@@ -1,6 +1,6 @@
using Recyclarr.Common.Extensions;
-namespace Recyclarr.Common.Tests.Extensions;
+namespace Recyclarr.Tests.Common.Extensions;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Common.Tests/Extensions/FileSystemExtensionsTest.cs b/src/tests/Recyclarr.Tests/Common/Extensions/FileSystemExtensionsTest.cs
similarity index 98%
rename from src/tests/Recyclarr.Common.Tests/Extensions/FileSystemExtensionsTest.cs
rename to src/tests/Recyclarr.Tests/Common/Extensions/FileSystemExtensionsTest.cs
index ed478181..696b5043 100644
--- a/src/tests/Recyclarr.Common.Tests/Extensions/FileSystemExtensionsTest.cs
+++ b/src/tests/Recyclarr.Tests/Common/Extensions/FileSystemExtensionsTest.cs
@@ -1,9 +1,10 @@
using System.IO.Abstractions;
using System.Text.RegularExpressions;
+using Recyclarr.Common;
using Recyclarr.Common.Extensions;
using Recyclarr.TestLibrary;
-namespace Recyclarr.Common.Tests.Extensions;
+namespace Recyclarr.Tests.Common.Extensions;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Common.Tests/Extensions/StringExtensionsTest.cs b/src/tests/Recyclarr.Tests/Common/Extensions/StringExtensionsTest.cs
similarity index 93%
rename from src/tests/Recyclarr.Common.Tests/Extensions/StringExtensionsTest.cs
rename to src/tests/Recyclarr.Tests/Common/Extensions/StringExtensionsTest.cs
index 9ba87bd5..6003fcb9 100644
--- a/src/tests/Recyclarr.Common.Tests/Extensions/StringExtensionsTest.cs
+++ b/src/tests/Recyclarr.Tests/Common/Extensions/StringExtensionsTest.cs
@@ -1,6 +1,6 @@
using Recyclarr.Common.Extensions;
-namespace Recyclarr.Common.Tests.Extensions;
+namespace Recyclarr.Tests.Common.Extensions;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Common.Tests/ResourceDataReaderTest.cs b/src/tests/Recyclarr.Tests/Common/ResourceDataReaderTest.cs
similarity index 72%
rename from src/tests/Recyclarr.Common.Tests/ResourceDataReaderTest.cs
rename to src/tests/Recyclarr.Tests/Common/ResourceDataReaderTest.cs
index 914d550b..77ba712f 100644
--- a/src/tests/Recyclarr.Common.Tests/ResourceDataReaderTest.cs
+++ b/src/tests/Recyclarr.Tests/Common/ResourceDataReaderTest.cs
@@ -1,4 +1,6 @@
-namespace Recyclarr.Common.Tests;
+using Recyclarr.Common;
+
+namespace Recyclarr.Tests.Common;
[TestFixture]
[Parallelizable(ParallelScope.All)]
@@ -7,7 +9,7 @@ public class ResourceDataReaderTest
[Test]
public void GetResourceData_DefaultDir_ReturnResourceData()
{
- var testData = new ResourceDataReader(typeof(ResourceDataReaderTest));
+ var testData = new ResourceDataReader(GetType());
var data = testData.ReadData("DefaultDataFile.txt");
data.Trim().Should().Be("DefaultDataFile");
}
@@ -15,7 +17,7 @@ public class ResourceDataReaderTest
[Test]
public void GetResourceData_NonexistentFile_Throw()
{
- var testData = new ResourceDataReader(typeof(ResourceDataReaderTest));
+ var testData = new ResourceDataReader(GetType());
Action act = () => testData.ReadData("DataFileWontBeFound.txt");
act.Should()
@@ -26,7 +28,7 @@ public class ResourceDataReaderTest
[Test]
public void ReadData_ExplicitSubDir_ReturnResourceData()
{
- var testData = new ResourceDataReader(typeof(ResourceDataReaderTest), "TestData");
+ var testData = new ResourceDataReader(GetType(), "TestData");
var data = testData.ReadData("DataFile.txt");
data.Trim().Should().Be("DataFile");
}
diff --git a/src/tests/Recyclarr.Common.Tests/ScopedStateTest.cs b/src/tests/Recyclarr.Tests/Common/ScopedStateTest.cs
similarity index 98%
rename from src/tests/Recyclarr.Common.Tests/ScopedStateTest.cs
rename to src/tests/Recyclarr.Tests/Common/ScopedStateTest.cs
index cbcea27a..71c62a4c 100644
--- a/src/tests/Recyclarr.Common.Tests/ScopedStateTest.cs
+++ b/src/tests/Recyclarr.Tests/Common/ScopedStateTest.cs
@@ -1,4 +1,6 @@
-namespace Recyclarr.Common.Tests;
+using Recyclarr.Common;
+
+namespace Recyclarr.Tests.Common;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Common.Tests/TestData/DataFile.txt b/src/tests/Recyclarr.Tests/Common/TestData/DataFile.txt
similarity index 100%
rename from src/tests/Recyclarr.Common.Tests/TestData/DataFile.txt
rename to src/tests/Recyclarr.Tests/Common/TestData/DataFile.txt
diff --git a/src/tests/Recyclarr.TrashLib.Tests/Compatibility/Sonarr/SonarrCapabilityEnforcerTest.cs b/src/tests/Recyclarr.Tests/Compatibility/Sonarr/SonarrCapabilityEnforcerTest.cs
similarity index 93%
rename from src/tests/Recyclarr.TrashLib.Tests/Compatibility/Sonarr/SonarrCapabilityEnforcerTest.cs
rename to src/tests/Recyclarr.Tests/Compatibility/Sonarr/SonarrCapabilityEnforcerTest.cs
index df492dbe..04b19c60 100644
--- a/src/tests/Recyclarr.TrashLib.Tests/Compatibility/Sonarr/SonarrCapabilityEnforcerTest.cs
+++ b/src/tests/Recyclarr.Tests/Compatibility/Sonarr/SonarrCapabilityEnforcerTest.cs
@@ -1,9 +1,9 @@
+using Recyclarr.Compatibility;
+using Recyclarr.Compatibility.Sonarr;
using Recyclarr.Config.Models;
-using Recyclarr.TrashLib.Compatibility.Sonarr;
-using Recyclarr.TrashLib.ExceptionTypes;
-using Recyclarr.TrashLib.TestLibrary;
+using Recyclarr.Tests.TestLibrary;
-namespace Recyclarr.TrashLib.Tests.Compatibility.Sonarr;
+namespace Recyclarr.Tests.Compatibility.Sonarr;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/ConfigExtensionsTest.cs b/src/tests/Recyclarr.Tests/Config/ConfigExtensionsTest.cs
similarity index 98%
rename from src/tests/Recyclarr.Config.Tests/ConfigExtensionsTest.cs
rename to src/tests/Recyclarr.Tests/Config/ConfigExtensionsTest.cs
index e84bec01..6589d483 100644
--- a/src/tests/Recyclarr.Config.Tests/ConfigExtensionsTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/ConfigExtensionsTest.cs
@@ -1,7 +1,8 @@
using Recyclarr.Common;
+using Recyclarr.Config;
using Recyclarr.Config.Models;
-namespace Recyclarr.Config.Tests;
+namespace Recyclarr.Tests.Config;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/EnvironmentVariables/EnvironmentVariableNotDefinedExceptionTest.cs b/src/tests/Recyclarr.Tests/Config/EnvironmentVariables/EnvironmentVariableNotDefinedExceptionTest.cs
similarity index 87%
rename from src/tests/Recyclarr.Config.Tests/EnvironmentVariables/EnvironmentVariableNotDefinedExceptionTest.cs
rename to src/tests/Recyclarr.Tests/Config/EnvironmentVariables/EnvironmentVariableNotDefinedExceptionTest.cs
index 6771c9de..8a8b99eb 100644
--- a/src/tests/Recyclarr.Config.Tests/EnvironmentVariables/EnvironmentVariableNotDefinedExceptionTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/EnvironmentVariables/EnvironmentVariableNotDefinedExceptionTest.cs
@@ -1,6 +1,6 @@
using Recyclarr.Config.EnvironmentVariables;
-namespace Recyclarr.Config.Tests.EnvironmentVariables;
+namespace Recyclarr.Tests.Config.EnvironmentVariables;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigValidationExecutorTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/ConfigValidationExecutorTest.cs
similarity index 94%
rename from src/tests/Recyclarr.Config.Tests/Parsing/ConfigValidationExecutorTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/ConfigValidationExecutorTest.cs
index f5478943..9e36c4f9 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigValidationExecutorTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/ConfigValidationExecutorTest.cs
@@ -2,9 +2,9 @@ using FluentValidation;
using FluentValidation.Results;
using Recyclarr.Common.FluentValidation;
using Recyclarr.Config.Parsing;
-using Recyclarr.TrashLib.TestLibrary;
+using Recyclarr.Tests.TestLibrary;
-namespace Recyclarr.Config.Tests.Parsing;
+namespace Recyclarr.Tests.Config.Parsing;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigYamlDataObjectsValidationTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/ConfigYamlDataObjectsValidationTest.cs
similarity index 99%
rename from src/tests/Recyclarr.Config.Tests/Parsing/ConfigYamlDataObjectsValidationTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/ConfigYamlDataObjectsValidationTest.cs
index 097312ad..188046c5 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigYamlDataObjectsValidationTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/ConfigYamlDataObjectsValidationTest.cs
@@ -1,7 +1,7 @@
using FluentValidation.TestHelper;
using Recyclarr.Config.Parsing;
-namespace Recyclarr.Config.Tests.Parsing;
+namespace Recyclarr.Tests.Config.Parsing;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigYamlMapperProfileTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/ConfigYamlMapperProfileTest.cs
similarity index 96%
rename from src/tests/Recyclarr.Config.Tests/Parsing/ConfigYamlMapperProfileTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/ConfigYamlMapperProfileTest.cs
index c3b6add7..f258b9f4 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigYamlMapperProfileTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/ConfigYamlMapperProfileTest.cs
@@ -2,7 +2,7 @@ using AutoMapper;
using Recyclarr.Config.Models;
using Recyclarr.Config.Parsing;
-namespace Recyclarr.Config.Tests.Parsing;
+namespace Recyclarr.Tests.Config.Parsing;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationFinderTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/ConfigurationFinderTest.cs
similarity index 98%
rename from src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationFinderTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/ConfigurationFinderTest.cs
index 8dccfa14..380cd2ef 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/ConfigurationFinderTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/ConfigurationFinderTest.cs
@@ -1,9 +1,9 @@
using System.IO.Abstractions;
-using Recyclarr.Platform;
using Recyclarr.Config.Parsing;
using Recyclarr.Config.Parsing.ErrorHandling;
+using Recyclarr.Platform;
-namespace Recyclarr.Config.Tests.Parsing;
+namespace Recyclarr.Tests.Config.Parsing;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/ConfigIncludeProcessorTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/ConfigIncludeProcessorTest.cs
similarity index 97%
rename from src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/ConfigIncludeProcessorTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/ConfigIncludeProcessorTest.cs
index 5371a97f..5fb8bdc6 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/ConfigIncludeProcessorTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/ConfigIncludeProcessorTest.cs
@@ -1,8 +1,8 @@
using System.IO.Abstractions;
-using Recyclarr.Platform;
using Recyclarr.Config.Parsing.PostProcessing.ConfigMerging;
+using Recyclarr.Platform;
-namespace Recyclarr.Config.Tests.Parsing.PostProcessing.ConfigMerging;
+namespace Recyclarr.Tests.Config.Parsing.PostProcessing.ConfigMerging;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs
similarity index 99%
rename from src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs
index 34722361..568ab220 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/ServiceConfigMergerTest.cs
@@ -4,7 +4,7 @@ using Recyclarr.Config.Models;
using Recyclarr.Config.Parsing;
using Recyclarr.Config.Parsing.PostProcessing.ConfigMerging;
-namespace Recyclarr.Config.Tests.Parsing.PostProcessing.ConfigMerging;
+namespace Recyclarr.Tests.Config.Parsing.PostProcessing.ConfigMerging;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/SonarrConfigMergerTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/SonarrConfigMergerTest.cs
similarity index 98%
rename from src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/SonarrConfigMergerTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/SonarrConfigMergerTest.cs
index 237c2270..33f83ee1 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/SonarrConfigMergerTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/SonarrConfigMergerTest.cs
@@ -3,7 +3,7 @@ using FluentAssertions.Execution;
using Recyclarr.Config.Parsing;
using Recyclarr.Config.Parsing.PostProcessing.ConfigMerging;
-namespace Recyclarr.Config.Tests.Parsing.PostProcessing.ConfigMerging;
+namespace Recyclarr.Tests.Config.Parsing.PostProcessing.ConfigMerging;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/TemplateIncludeProcessorTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/TemplateIncludeProcessorTest.cs
similarity index 98%
rename from src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/TemplateIncludeProcessorTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/TemplateIncludeProcessorTest.cs
index c7734491..3b1580be 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/TemplateIncludeProcessorTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/TemplateIncludeProcessorTest.cs
@@ -3,7 +3,7 @@ using Recyclarr.Common;
using Recyclarr.Config.Parsing.PostProcessing.ConfigMerging;
using Recyclarr.TrashGuide;
-namespace Recyclarr.Config.Tests.Parsing.PostProcessing.ConfigMerging;
+namespace Recyclarr.Tests.Config.Parsing.PostProcessing.ConfigMerging;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/YamlIncludeResolverTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/YamlIncludeResolverTest.cs
similarity index 97%
rename from src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/YamlIncludeResolverTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/YamlIncludeResolverTest.cs
index ec28b79d..0e56739b 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ConfigMerging/YamlIncludeResolverTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ConfigMerging/YamlIncludeResolverTest.cs
@@ -2,7 +2,7 @@ using System.IO.Abstractions;
using Recyclarr.Common;
using Recyclarr.Config.Parsing.PostProcessing.ConfigMerging;
-namespace Recyclarr.Config.Tests.Parsing.PostProcessing.ConfigMerging;
+namespace Recyclarr.Tests.Config.Parsing.PostProcessing.ConfigMerging;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ImplicitUrlAndKeyPostProcessorTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ImplicitUrlAndKeyPostProcessorTest.cs
similarity index 99%
rename from src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ImplicitUrlAndKeyPostProcessorTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ImplicitUrlAndKeyPostProcessorTest.cs
index 52ba97aa..00672e76 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/PostProcessing/ImplicitUrlAndKeyPostProcessorTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/PostProcessing/ImplicitUrlAndKeyPostProcessorTest.cs
@@ -2,7 +2,7 @@ using Recyclarr.Config.Parsing;
using Recyclarr.Config.Parsing.PostProcessing;
using Recyclarr.Config.Secrets;
-namespace Recyclarr.Config.Tests.Parsing.PostProcessing;
+namespace Recyclarr.Tests.Config.Parsing.PostProcessing;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Parsing/SonarrConfigYamlValidatorTest.cs b/src/tests/Recyclarr.Tests/Config/Parsing/SonarrConfigYamlValidatorTest.cs
similarity index 98%
rename from src/tests/Recyclarr.Config.Tests/Parsing/SonarrConfigYamlValidatorTest.cs
rename to src/tests/Recyclarr.Tests/Config/Parsing/SonarrConfigYamlValidatorTest.cs
index 0814a4c9..d024ce6c 100644
--- a/src/tests/Recyclarr.Config.Tests/Parsing/SonarrConfigYamlValidatorTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Parsing/SonarrConfigYamlValidatorTest.cs
@@ -2,7 +2,7 @@ using FluentValidation.TestHelper;
using Recyclarr.Config.Models;
using Recyclarr.Config.Parsing;
-namespace Recyclarr.Config.Tests.Parsing;
+namespace Recyclarr.Tests.Config.Parsing;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Secrets/SecretNotFoundExceptionTest.cs b/src/tests/Recyclarr.Tests/Config/Secrets/SecretNotFoundExceptionTest.cs
similarity index 88%
rename from src/tests/Recyclarr.Config.Tests/Secrets/SecretNotFoundExceptionTest.cs
rename to src/tests/Recyclarr.Tests/Config/Secrets/SecretNotFoundExceptionTest.cs
index 4eb84966..04dd74d0 100644
--- a/src/tests/Recyclarr.Config.Tests/Secrets/SecretNotFoundExceptionTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Secrets/SecretNotFoundExceptionTest.cs
@@ -1,6 +1,6 @@
using Recyclarr.Config.Secrets;
-namespace Recyclarr.Config.Tests.Secrets;
+namespace Recyclarr.Tests.Config.Secrets;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/Settings/SettingsPersisterTest.cs b/src/tests/Recyclarr.Tests/Config/Settings/SettingsPersisterTest.cs
similarity index 95%
rename from src/tests/Recyclarr.Config.Tests/Settings/SettingsPersisterTest.cs
rename to src/tests/Recyclarr.Tests/Config/Settings/SettingsPersisterTest.cs
index e3d18f76..8893c0d1 100644
--- a/src/tests/Recyclarr.Config.Tests/Settings/SettingsPersisterTest.cs
+++ b/src/tests/Recyclarr.Tests/Config/Settings/SettingsPersisterTest.cs
@@ -3,7 +3,7 @@ using Recyclarr.Platform;
using Recyclarr.Settings;
using Recyclarr.Yaml;
-namespace Recyclarr.Config.Tests.Settings;
+namespace Recyclarr.Tests.Config.Settings;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Config.Tests/GlobalUsings.cs b/src/tests/Recyclarr.Tests/GlobalUsings.cs
similarity index 100%
rename from src/tests/Recyclarr.Config.Tests/GlobalUsings.cs
rename to src/tests/Recyclarr.Tests/GlobalUsings.cs
diff --git a/src/tests/Recyclarr.Json.Tests/JsonUtilsTest.cs b/src/tests/Recyclarr.Tests/Json/JsonUtilsTest.cs
similarity index 97%
rename from src/tests/Recyclarr.Json.Tests/JsonUtilsTest.cs
rename to src/tests/Recyclarr.Tests/Json/JsonUtilsTest.cs
index 9ff32ecd..7b85918b 100644
--- a/src/tests/Recyclarr.Json.Tests/JsonUtilsTest.cs
+++ b/src/tests/Recyclarr.Tests/Json/JsonUtilsTest.cs
@@ -1,7 +1,8 @@
using System.IO.Abstractions;
+using Recyclarr.Json;
using Recyclarr.TestLibrary;
-namespace Recyclarr.Json.Tests;
+namespace Recyclarr.Tests.Json;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.TrashLib.Tests/Startup/DefaultAppDataSetupTest.cs b/src/tests/Recyclarr.Tests/Platform/DefaultAppDataSetupTest.cs
similarity index 98%
rename from src/tests/Recyclarr.TrashLib.Tests/Startup/DefaultAppDataSetupTest.cs
rename to src/tests/Recyclarr.Tests/Platform/DefaultAppDataSetupTest.cs
index 2e01e0cf..23fe16bf 100644
--- a/src/tests/Recyclarr.TrashLib.Tests/Startup/DefaultAppDataSetupTest.cs
+++ b/src/tests/Recyclarr.Tests/Platform/DefaultAppDataSetupTest.cs
@@ -2,7 +2,7 @@ using System.IO.Abstractions;
using Recyclarr.Common;
using Recyclarr.Platform;
-namespace Recyclarr.TrashLib.Tests.Startup;
+namespace Recyclarr.Tests.Platform;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Tests/Recyclarr.Tests.csproj b/src/tests/Recyclarr.Tests/Recyclarr.Tests.csproj
new file mode 100644
index 00000000..b936cea4
--- /dev/null
+++ b/src/tests/Recyclarr.Tests/Recyclarr.Tests.csproj
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/tests/Recyclarr.TestLibrary.Tests/StreamBuilderTest.cs b/src/tests/Recyclarr.Tests/TestLibrary/StreamBuilderTest.cs
similarity index 80%
rename from src/tests/Recyclarr.TestLibrary.Tests/StreamBuilderTest.cs
rename to src/tests/Recyclarr.Tests/TestLibrary/StreamBuilderTest.cs
index 0b99c669..e05436f3 100644
--- a/src/tests/Recyclarr.TestLibrary.Tests/StreamBuilderTest.cs
+++ b/src/tests/Recyclarr.Tests/TestLibrary/StreamBuilderTest.cs
@@ -1,4 +1,6 @@
-namespace Recyclarr.TestLibrary.Tests;
+using Recyclarr.TestLibrary;
+
+namespace Recyclarr.Tests.TestLibrary;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.TestLibrary.Tests/StringUtilsTest.cs b/src/tests/Recyclarr.Tests/TestLibrary/StringUtilsTest.cs
similarity index 79%
rename from src/tests/Recyclarr.TestLibrary.Tests/StringUtilsTest.cs
rename to src/tests/Recyclarr.Tests/TestLibrary/StringUtilsTest.cs
index de3c9714..dbf0358c 100644
--- a/src/tests/Recyclarr.TestLibrary.Tests/StringUtilsTest.cs
+++ b/src/tests/Recyclarr.Tests/TestLibrary/StringUtilsTest.cs
@@ -1,4 +1,6 @@
-namespace Recyclarr.TestLibrary.Tests;
+using Recyclarr.TestLibrary;
+
+namespace Recyclarr.Tests.TestLibrary;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.Tests/TrashGuide/ConfigTemplateGuideServiceTest.cs b/src/tests/Recyclarr.Tests/TrashGuide/ConfigTemplateGuideServiceTest.cs
new file mode 100644
index 00000000..9b624fd9
--- /dev/null
+++ b/src/tests/Recyclarr.Tests/TrashGuide/ConfigTemplateGuideServiceTest.cs
@@ -0,0 +1,17 @@
+using Recyclarr.TrashGuide;
+
+namespace Recyclarr.Tests.TrashGuide;
+
+[TestFixture]
+[Parallelizable(ParallelScope.All)]
+public class ConfigTemplateGuideServiceTest
+{
+ [Test, AutoMockData]
+ public void Throw_when_templates_dir_does_not_exist(
+ ConfigTemplateGuideService sut)
+ {
+ var act = () => _ = sut.GetTemplateData();
+
+ act.Should().Throw().WithMessage("Recyclarr*templates*");
+ }
+}
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/CustomFormat/CustomFormatCategoryParserTest.cs b/src/tests/Recyclarr.Tests/TrashGuide/CustomFormat/CustomFormatCategoryParserTest.cs
similarity index 98%
rename from src/tests/Recyclarr.TrashGuide.Tests/CustomFormat/CustomFormatCategoryParserTest.cs
rename to src/tests/Recyclarr.Tests/TrashGuide/CustomFormat/CustomFormatCategoryParserTest.cs
index f0c2181a..5a7cf340 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/CustomFormat/CustomFormatCategoryParserTest.cs
+++ b/src/tests/Recyclarr.Tests/TrashGuide/CustomFormat/CustomFormatCategoryParserTest.cs
@@ -1,9 +1,8 @@
using System.IO.Abstractions;
using Recyclarr.Platform;
-using Recyclarr.TestLibrary.AutoFixture;
using Recyclarr.TrashGuide.CustomFormat;
-namespace Recyclarr.TrashGuide.Tests.CustomFormat;
+namespace Recyclarr.Tests.TrashGuide.CustomFormat;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualityItemTest.cs b/src/tests/Recyclarr.Tests/TrashGuide/QualitySize/QualityItemTest.cs
similarity index 98%
rename from src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualityItemTest.cs
rename to src/tests/Recyclarr.Tests/TrashGuide/QualitySize/QualityItemTest.cs
index 4148cd4c..89f481d0 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualityItemTest.cs
+++ b/src/tests/Recyclarr.Tests/TrashGuide/QualitySize/QualityItemTest.cs
@@ -1,6 +1,6 @@
using Recyclarr.TrashGuide.QualitySize;
-namespace Recyclarr.TrashGuide.Tests.QualitySize;
+namespace Recyclarr.Tests.TrashGuide.QualitySize;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualitySizeItemTest.cs b/src/tests/Recyclarr.Tests/TrashGuide/QualitySize/QualitySizeItemTest.cs
similarity index 98%
rename from src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualitySizeItemTest.cs
rename to src/tests/Recyclarr.Tests/TrashGuide/QualitySize/QualitySizeItemTest.cs
index d5a54eb7..25fa34d7 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/QualitySize/QualitySizeItemTest.cs
+++ b/src/tests/Recyclarr.Tests/TrashGuide/QualitySize/QualitySizeItemTest.cs
@@ -1,6 +1,6 @@
using Recyclarr.TrashGuide.QualitySize;
-namespace Recyclarr.TrashGuide.Tests.QualitySize;
+namespace Recyclarr.Tests.TrashGuide.QualitySize;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/ReleaseProfile/ReleaseProfileDataValidationFiltererTest.cs b/src/tests/Recyclarr.Tests/TrashGuide/ReleaseProfile/ReleaseProfileDataValidationFiltererTest.cs
similarity index 96%
rename from src/tests/Recyclarr.TrashGuide.Tests/ReleaseProfile/ReleaseProfileDataValidationFiltererTest.cs
rename to src/tests/Recyclarr.Tests/TrashGuide/ReleaseProfile/ReleaseProfileDataValidationFiltererTest.cs
index dbed0ae1..e2fdc087 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/ReleaseProfile/ReleaseProfileDataValidationFiltererTest.cs
+++ b/src/tests/Recyclarr.Tests/TrashGuide/ReleaseProfile/ReleaseProfileDataValidationFiltererTest.cs
@@ -1,7 +1,6 @@
-using Recyclarr.TestLibrary.AutoFixture;
using Recyclarr.TrashGuide.ReleaseProfile;
-namespace Recyclarr.TrashGuide.Tests.ReleaseProfile;
+namespace Recyclarr.Tests.TrashGuide.ReleaseProfile;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/ReleaseProfile/ReleaseProfileDataValidatorTest.cs b/src/tests/Recyclarr.Tests/TrashGuide/ReleaseProfile/ReleaseProfileDataValidatorTest.cs
similarity index 98%
rename from src/tests/Recyclarr.TrashGuide.Tests/ReleaseProfile/ReleaseProfileDataValidatorTest.cs
rename to src/tests/Recyclarr.Tests/TrashGuide/ReleaseProfile/ReleaseProfileDataValidatorTest.cs
index 1ea27615..a41da044 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/ReleaseProfile/ReleaseProfileDataValidatorTest.cs
+++ b/src/tests/Recyclarr.Tests/TrashGuide/ReleaseProfile/ReleaseProfileDataValidatorTest.cs
@@ -1,7 +1,7 @@
using FluentValidation.TestHelper;
using Recyclarr.TrashGuide.ReleaseProfile;
-namespace Recyclarr.TrashGuide.Tests.ReleaseProfile;
+namespace Recyclarr.Tests.TrashGuide.ReleaseProfile;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.TrashGuide.Tests/ReleaseProfile/ReleaseProfileGuideServiceTest.cs b/src/tests/Recyclarr.Tests/TrashGuide/ReleaseProfile/ReleaseProfileGuideServiceTest.cs
similarity index 96%
rename from src/tests/Recyclarr.TrashGuide.Tests/ReleaseProfile/ReleaseProfileGuideServiceTest.cs
rename to src/tests/Recyclarr.Tests/TrashGuide/ReleaseProfile/ReleaseProfileGuideServiceTest.cs
index effc6296..b3cbdb04 100644
--- a/src/tests/Recyclarr.TrashGuide.Tests/ReleaseProfile/ReleaseProfileGuideServiceTest.cs
+++ b/src/tests/Recyclarr.Tests/TrashGuide/ReleaseProfile/ReleaseProfileGuideServiceTest.cs
@@ -2,10 +2,9 @@ using System.IO.Abstractions;
using Recyclarr.Json;
using Recyclarr.Repo;
using Recyclarr.TestLibrary;
-using Recyclarr.TestLibrary.AutoFixture;
using Recyclarr.TrashGuide.ReleaseProfile;
-namespace Recyclarr.TrashGuide.Tests.ReleaseProfile;
+namespace Recyclarr.Tests.TrashGuide.ReleaseProfile;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.TrashLib.Tests/Repo/VersionControl/GitPathTest.cs b/src/tests/Recyclarr.Tests/VersionControl/GitPathTest.cs
similarity index 93%
rename from src/tests/Recyclarr.TrashLib.Tests/Repo/VersionControl/GitPathTest.cs
rename to src/tests/Recyclarr.Tests/VersionControl/GitPathTest.cs
index fdf9ac26..88328a8f 100644
--- a/src/tests/Recyclarr.TrashLib.Tests/Repo/VersionControl/GitPathTest.cs
+++ b/src/tests/Recyclarr.Tests/VersionControl/GitPathTest.cs
@@ -1,7 +1,7 @@
using Recyclarr.Repo;
using Recyclarr.Settings;
-namespace Recyclarr.TrashLib.Tests.Repo.VersionControl;
+namespace Recyclarr.Tests.VersionControl;
[TestFixture]
[Parallelizable(ParallelScope.All)]
diff --git a/src/tests/Recyclarr.TrashGuide.TestLibrary/GuideIntegrationFixture.cs b/src/tests/Recyclarr.TrashGuide.TestLibrary/GuideIntegrationFixture.cs
deleted file mode 100644
index 24a0e010..00000000
--- a/src/tests/Recyclarr.TrashGuide.TestLibrary/GuideIntegrationFixture.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Autofac;
-using Recyclarr.TrashLib.TestLibrary;
-using Recyclarr.Yaml;
-
-namespace Recyclarr.TrashGuide.TestLibrary;
-
-[FixtureLifeCycle(LifeCycle.InstancePerTestCase)]
-public abstract class GuideIntegrationFixture : TrashLibIntegrationFixture
-{
- protected override void RegisterTypes(ContainerBuilder builder)
- {
- base.RegisterTypes(builder);
- builder.RegisterModule();
-
- // dependencies
- builder.RegisterModule();
- }
-}
diff --git a/src/tests/Recyclarr.TrashGuide.TestLibrary/Recyclarr.TrashGuide.TestLibrary.csproj b/src/tests/Recyclarr.TrashGuide.TestLibrary/Recyclarr.TrashGuide.TestLibrary.csproj
deleted file mode 100644
index 4a73f57c..00000000
--- a/src/tests/Recyclarr.TrashGuide.TestLibrary/Recyclarr.TrashGuide.TestLibrary.csproj
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/src/tests/Recyclarr.TrashLib.TestLibrary/Recyclarr.TrashLib.TestLibrary.csproj b/src/tests/Recyclarr.TrashLib.TestLibrary/Recyclarr.TrashLib.TestLibrary.csproj
deleted file mode 100644
index eed24abe..00000000
--- a/src/tests/Recyclarr.TrashLib.TestLibrary/Recyclarr.TrashLib.TestLibrary.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/tests/Recyclarr.TrashLib.TestLibrary/TrashLibIntegrationFixture.cs b/src/tests/Recyclarr.TrashLib.TestLibrary/TrashLibIntegrationFixture.cs
deleted file mode 100644
index 8ddf1556..00000000
--- a/src/tests/Recyclarr.TrashLib.TestLibrary/TrashLibIntegrationFixture.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-using System.IO.Abstractions;
-using Autofac;
-using Recyclarr.Platform;
-using Recyclarr.TestLibrary;
-using Recyclarr.TestLibrary.Autofac;
-using Recyclarr.TrashLib.Compatibility;
-using Recyclarr.VersionControl;
-
-namespace Recyclarr.TrashLib.TestLibrary;
-
-[FixtureLifeCycle(LifeCycle.InstancePerTestCase)]
-public abstract class TrashLibIntegrationFixture : IntegrationTestFixture
-{
- protected IAppPaths Paths { get; }
-
- protected TrashLibIntegrationFixture()
- {
- Paths = new AppPaths(Fs.CurrentDirectory().SubDirectory("test").SubDirectory("recyclarr"));
- }
-
- protected override void RegisterTypes(ContainerBuilder builder)
- {
- base.RegisterTypes(builder);
- builder.RegisterModule();
- }
-
- protected override void RegisterStubsAndMocks(ContainerBuilder builder)
- {
- base.RegisterStubsAndMocks(builder);
-
- builder.RegisterInstance(Paths).As();
-
- builder.RegisterMockFor();
- builder.RegisterMockFor();
- builder.RegisterMockFor(m =>
- {
- // By default, choose some extremely high number so that all the newest features are enabled.
- m.GetVersion(default!).ReturnsForAnyArgs(_ => new Version("99.0.0.0"));
- });
- }
-}
diff --git a/src/tests/Recyclarr.TrashLib.Tests/GlobalUsings.cs b/src/tests/Recyclarr.TrashLib.Tests/GlobalUsings.cs
deleted file mode 100644
index ddaecfaa..00000000
--- a/src/tests/Recyclarr.TrashLib.Tests/GlobalUsings.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-// Global using directives
-
-global using Recyclarr.TestLibrary.AutoFixture;
diff --git a/src/tests/Recyclarr.TrashLib.Tests/Recyclarr.TrashLib.Tests.csproj b/src/tests/Recyclarr.TrashLib.Tests/Recyclarr.TrashLib.Tests.csproj
deleted file mode 100644
index 466a79ec..00000000
--- a/src/tests/Recyclarr.TrashLib.Tests/Recyclarr.TrashLib.Tests.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-