using Halo.Core.Metadata;
namespace Halo.Api.Tests;
/// Ein Anbieter, der nichts weiss und nichts fragt.
///
///
/// Die Voreinstellung für alle Tests, die sich nicht um Metadaten kümmern.
/// Ohne ihn liefe bei jedem Scan eine echte Anfrage hinaus — und ein Projekt,
/// dessen Tests einen fremden Dienst brauchen, hat am Ende keine Tests.
///
public sealed class AbgeschalteterAnbieter : IMetadataProvider
{
public Task IsConfiguredAsync(CancellationToken ct = default) => Task.FromResult(false);
public Task FindMovieAsync(string t, int? j, CancellationToken ct = default) =>
throw new InvalidOperationException("In diesem Test darf nichts nachgeschlagen werden.");
public Task FindSeriesAsync(string t, int? j, CancellationToken ct = default) =>
throw new InvalidOperationException("In diesem Test darf nichts nachgeschlagen werden.");
public Task FindEpisodeAsync(int s, int st, int f, CancellationToken ct = default) =>
throw new InvalidOperationException("In diesem Test darf nichts nachgeschlagen werden.");
public Task GetMovieAsync(int id, CancellationToken ct = default) =>
throw new InvalidOperationException("In diesem Test darf nichts nachgeschlagen werden.");
public Task GetSeriesAsync(int id, CancellationToken ct = default) =>
throw new InvalidOperationException("In diesem Test darf nichts nachgeschlagen werden.");
public Task> SearchMoviesAsync(string t, int? j, CancellationToken ct = default) =>
throw new InvalidOperationException("In diesem Test darf nichts nachgeschlagen werden.");
public Task> SearchSeriesAsync(string t, int? j, CancellationToken ct = default) =>
throw new InvalidOperationException("In diesem Test darf nichts nachgeschlagen werden.");
}