Skip to content

Commit

Permalink
Migrate to file scoped namespaces
Browse files Browse the repository at this point in the history
  • Loading branch information
SKProCH committed Aug 23, 2024
1 parent 98c0537 commit ee0dec8
Show file tree
Hide file tree
Showing 44 changed files with 1,427 additions and 1,428 deletions.
16 changes: 8 additions & 8 deletions YandexMusicResolver.Tests/AuthServiceTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
using System.Security.Authentication;
using Xunit;

namespace YandexMusicResolver.Tests {
public class AuthServiceTest : YandexTestBase {
[Fact]
public async System.Threading.Tasks.Task AuthFailure() {
await Assert.ThrowsAsync<InvalidCredentialException>(async () => {
await YandexMusicAuthService.Create(new HttpClient()).LoginAsync("Invalid", "Invalid");
});
}
namespace YandexMusicResolver.Tests;

public class AuthServiceTest : YandexTestBase {
[Fact]
public async System.Threading.Tasks.Task AuthFailure() {
await Assert.ThrowsAsync<InvalidCredentialException>(async () => {
await YandexMusicAuthService.Create(new HttpClient()).LoginAsync("Invalid", "Invalid");
});
}
}
30 changes: 15 additions & 15 deletions YandexMusicResolver.Tests/DirectUrlLoaderTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@
using Xunit;
using Xunit.Abstractions;

namespace YandexMusicResolver.Tests {
public class DirectUrlLoaderTest : YandexTestBase{
private readonly ITestOutputHelper _output;
public DirectUrlLoaderTest(ITestOutputHelper output) {
_output = output;
}
namespace YandexMusicResolver.Tests;

[Theory]
[InlineData(43413021)]
[InlineData(37637150)]
public void DirectLoadTest(long trackId) {
var result = MainResolver.DirectUrlLoader.GetDirectUrl(trackId, "mp3").GetAwaiter().GetResult();
var webRequest = (HttpWebResponse)WebRequest.Create(result).GetResponse();
Assert.Equal(HttpStatusCode.OK, webRequest.StatusCode);
_output.WriteLine(result);
}
public class DirectUrlLoaderTest : YandexTestBase{
private readonly ITestOutputHelper _output;
public DirectUrlLoaderTest(ITestOutputHelper output) {
_output = output;
}

[Theory]
[InlineData(43413021)]
[InlineData(37637150)]
public void DirectLoadTest(long trackId) {
var result = MainResolver.DirectUrlLoader.GetDirectUrl(trackId, "mp3").GetAwaiter().GetResult();
var webRequest = (HttpWebResponse)WebRequest.Create(result).GetResponse();
Assert.Equal(HttpStatusCode.OK, webRequest.StatusCode);
_output.WriteLine(result);
}
}
126 changes: 63 additions & 63 deletions YandexMusicResolver.Tests/MainResolverTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,73 +2,73 @@
using Xunit;
using YandexMusicResolver.AudioItems;

namespace YandexMusicResolver.Tests {
public class MainResolverTest : YandexTestBase{
[Theory]
[InlineData("https://music.yandex.ru/album/9425747/track/55561798")]
public void GetTrack(string url) {
var audioItem = MainResolver.ResolveQuery(url).GetAwaiter().GetResult();
Assert.NotNull(audioItem);
Assert.False(audioItem.IsSearchResult);
Assert.NotNull(audioItem.Tracks);
Assert.Null(audioItem.Playlists);
Assert.Null(audioItem.Albums);
Assert.NotEmpty(audioItem.Tracks);
Assert.Equal(YandexSearchType.Track, YandexSearchType.Track);
}
namespace YandexMusicResolver.Tests;

public class MainResolverTest : YandexTestBase{
[Theory]
[InlineData("https://music.yandex.ru/album/9425747/track/55561798")]
public void GetTrack(string url) {
var audioItem = MainResolver.ResolveQuery(url).GetAwaiter().GetResult();
Assert.NotNull(audioItem);
Assert.False(audioItem.IsSearchResult);
Assert.NotNull(audioItem.Tracks);
Assert.Null(audioItem.Playlists);
Assert.Null(audioItem.Albums);
Assert.NotEmpty(audioItem.Tracks);
Assert.Equal(YandexSearchType.Track, YandexSearchType.Track);
}

[Theory]
[InlineData("https://music.yandex.ru/album/9425747")]
public void GetAlbum(string url) {
var audioItem = MainResolver.ResolveQuery(url).GetAwaiter().GetResult();
Assert.NotNull(audioItem);
Assert.False(audioItem.IsSearchResult);
Assert.NotNull(audioItem.Albums);
Assert.Null(audioItem.Tracks);
Assert.Null(audioItem.Playlists);
Assert.NotEmpty(audioItem.Albums);
Assert.Equal(YandexSearchType.Album, audioItem.Type);
}
[Theory]
[InlineData("https://music.yandex.ru/album/9425747")]
public void GetAlbum(string url) {
var audioItem = MainResolver.ResolveQuery(url).GetAwaiter().GetResult();
Assert.NotNull(audioItem);
Assert.False(audioItem.IsSearchResult);
Assert.NotNull(audioItem.Albums);
Assert.Null(audioItem.Tracks);
Assert.Null(audioItem.Playlists);
Assert.NotEmpty(audioItem.Albums);
Assert.Equal(YandexSearchType.Album, audioItem.Type);
}

[Theory]
[InlineData("https://music.yandex.ru/users/enlivenbot/playlists/1000")]
public void GetPlaylist(string url) {
var audioItem = MainResolver.ResolveQuery(url).GetAwaiter().GetResult();
Assert.NotNull(audioItem);
Assert.False(audioItem.IsSearchResult);
Assert.NotNull(audioItem.Playlists);
Assert.Null(audioItem.Tracks);
Assert.Null(audioItem.Albums);
Assert.NotEmpty(audioItem.Playlists);
Assert.Equal(YandexSearchType.Playlist, audioItem.Type);
}
[Theory]
[InlineData("https://music.yandex.ru/users/enlivenbot/playlists/1000")]
public void GetPlaylist(string url) {
var audioItem = MainResolver.ResolveQuery(url).GetAwaiter().GetResult();
Assert.NotNull(audioItem);
Assert.False(audioItem.IsSearchResult);
Assert.NotNull(audioItem.Playlists);
Assert.Null(audioItem.Tracks);
Assert.Null(audioItem.Albums);
Assert.NotEmpty(audioItem.Playlists);
Assert.Equal(YandexSearchType.Playlist, audioItem.Type);
}

[Theory]
[InlineData("Take over")]
[InlineData("ymsearch:Track:10:Take over")]
public void TestDisabledSearch(string query) {
var yandexMusicMainResolver = YandexMusicMainResolver.Create(YandexCredentialsProviderMock.Object, new HttpClient());
yandexMusicMainResolver.AllowSearch = false;
var audioItem = yandexMusicMainResolver.ResolveQuery(query).GetAwaiter().GetResult();
Assert.Null(audioItem);
}
[Theory]
[InlineData("Take over")]
[InlineData("ymsearch:Track:10:Take over")]
public void TestDisabledSearch(string query) {
var yandexMusicMainResolver = YandexMusicMainResolver.Create(YandexCredentialsProviderMock.Object, new HttpClient());
yandexMusicMainResolver.AllowSearch = false;
var audioItem = yandexMusicMainResolver.ResolveQuery(query).GetAwaiter().GetResult();
Assert.Null(audioItem);
}

[Theory]
[InlineData("Take over", true)]
[InlineData("ymsearch:Track:10:Take over", false)]
public void TestDisabledPlainTextSearch(string query, bool isPlainText) {
var yandexMusicMainResolver = YandexMusicMainResolver.Create(YandexCredentialsProviderMock.Object, new HttpClient());
yandexMusicMainResolver.PlainTextIsSearchQuery = false;
var audioItem = yandexMusicMainResolver.ResolveQuery(query).GetAwaiter().GetResult();
Assert.Equal(isPlainText, audioItem == null);
}
[Theory]
[InlineData("Take over", true)]
[InlineData("ymsearch:Track:10:Take over", false)]
public void TestDisabledPlainTextSearch(string query, bool isPlainText) {
var yandexMusicMainResolver = YandexMusicMainResolver.Create(YandexCredentialsProviderMock.Object, new HttpClient());
yandexMusicMainResolver.PlainTextIsSearchQuery = false;
var audioItem = yandexMusicMainResolver.ResolveQuery(query).GetAwaiter().GetResult();
Assert.Equal(isPlainText, audioItem == null);
}

[Theory]
[InlineData("Take Over")]
public void TestSearch(string url) {
var audioItem = MainResolver.ResolveQuery(url).GetAwaiter().GetResult();
Assert.NotNull(audioItem);
Assert.IsType<YandexMusicSearchResult>(audioItem);
}
[Theory]
[InlineData("Take Over")]
public void TestSearch(string url) {
var audioItem = MainResolver.ResolveQuery(url).GetAwaiter().GetResult();
Assert.NotNull(audioItem);
Assert.IsType<YandexMusicSearchResult>(audioItem);
}
}
44 changes: 22 additions & 22 deletions YandexMusicResolver.Tests/PlaylistLoaderTest.cs
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
using Xunit;

namespace YandexMusicResolver.Tests {
public class PlaylistLoaderTest : YandexTestBase {
[Theory]
[InlineData("9425747", "Renovatio", 12)]
[InlineData("12033669", "Take Over", 1)]
public void LoadAlbum(string albumId, string expectedName, int trackCount) {
var album = MainResolver.PlaylistLoader.LoadAlbum(albumId).GetAwaiter().GetResult();
Assert.NotNull(album);
Assert.Equal(expectedName, album.Title);
Assert.Equal(trackCount, album.Data.Count);
}
namespace YandexMusicResolver.Tests;

[Theory]
[InlineData("enlivenbot", "1000")]
[InlineData("universe0122", "1000")]
[InlineData("olga--g", "1001")]
[InlineData("ShadowKillerProPro", "1006")]
public void LoadPlaylist(string userId, string playlistId) {
var playlist = MainResolver.PlaylistLoader.LoadPlaylist(userId, playlistId).GetAwaiter().GetResult();
Assert.NotNull(playlist);
Assert.False(string.IsNullOrWhiteSpace(playlist.Title));
Assert.True(playlist.Data.Count > 0);
}
public class PlaylistLoaderTest : YandexTestBase {
[Theory]
[InlineData("9425747", "Renovatio", 12)]
[InlineData("12033669", "Take Over", 1)]
public void LoadAlbum(string albumId, string expectedName, int trackCount) {
var album = MainResolver.PlaylistLoader.LoadAlbum(albumId).GetAwaiter().GetResult();
Assert.NotNull(album);
Assert.Equal(expectedName, album.Title);
Assert.Equal(trackCount, album.Data.Count);
}

[Theory]
[InlineData("enlivenbot", "1000")]
[InlineData("universe0122", "1000")]
[InlineData("olga--g", "1001")]
[InlineData("ShadowKillerProPro", "1006")]
public void LoadPlaylist(string userId, string playlistId) {
var playlist = MainResolver.PlaylistLoader.LoadPlaylist(userId, playlistId).GetAwaiter().GetResult();
Assert.NotNull(playlist);
Assert.False(string.IsNullOrWhiteSpace(playlist.Title));
Assert.True(playlist.Data.Count > 0);
}
}
108 changes: 54 additions & 54 deletions YandexMusicResolver.Tests/SearchResultLoaderTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,65 +4,65 @@
using YandexMusicResolver.Config;
using YandexMusicResolver.Loaders;

namespace YandexMusicResolver.Tests {
public class SearchResultLoaderTest : YandexTestBase {
[Fact]
public void DoTrackSearch() {
var trackSearchResult = MainResolver.SearchResultLoader.LoadSearchResult(YandexSearchType.Track, "Take Over").GetAwaiter().GetResult();
Assert.NotNull(trackSearchResult);
Assert.NotNull(trackSearchResult?.Tracks);
}
namespace YandexMusicResolver.Tests;

public class SearchResultLoaderTest : YandexTestBase {
[Fact]
public void DoTrackSearch() {
var trackSearchResult = MainResolver.SearchResultLoader.LoadSearchResult(YandexSearchType.Track, "Take Over").GetAwaiter().GetResult();
Assert.NotNull(trackSearchResult);
Assert.NotNull(trackSearchResult?.Tracks);
}

[Fact]
public void DoAlbumSearch() {
var trackSearchResult = MainResolver.SearchResultLoader.LoadSearchResult(YandexSearchType.Album, "Take Over").GetAwaiter().GetResult();
Assert.NotNull(trackSearchResult);
Assert.NotNull(trackSearchResult?.Albums);
}
[Fact]
public void DoAlbumSearch() {
var trackSearchResult = MainResolver.SearchResultLoader.LoadSearchResult(YandexSearchType.Album, "Take Over").GetAwaiter().GetResult();
Assert.NotNull(trackSearchResult);
Assert.NotNull(trackSearchResult?.Albums);
}

[Fact]
public void DoAllSearch() {
var trackSearchResult = MainResolver.SearchResultLoader.LoadSearchResult(YandexSearchType.All, "Take Over").GetAwaiter().GetResult();
Assert.NotNull(trackSearchResult);
Assert.NotNull(trackSearchResult?.Albums);
Assert.NotNull(trackSearchResult?.Playlists);
Assert.NotNull(trackSearchResult?.Tracks);
}
[Fact]
public void DoAllSearch() {
var trackSearchResult = MainResolver.SearchResultLoader.LoadSearchResult(YandexSearchType.All, "Take Over").GetAwaiter().GetResult();
Assert.NotNull(trackSearchResult);
Assert.NotNull(trackSearchResult?.Albums);
Assert.NotNull(trackSearchResult?.Playlists);
Assert.NotNull(trackSearchResult?.Tracks);
}

[Fact]
public void DoPlaylistSearch() {
var trackSearchResult = MainResolver.SearchResultLoader.LoadSearchResult(YandexSearchType.Playlist, "Take Over").GetAwaiter().GetResult();
Assert.NotNull(trackSearchResult);
Assert.NotNull(trackSearchResult?.Playlists);
}
[Fact]
public void DoPlaylistSearch() {
var trackSearchResult = MainResolver.SearchResultLoader.LoadSearchResult(YandexSearchType.Playlist, "Take Over").GetAwaiter().GetResult();
Assert.NotNull(trackSearchResult);
Assert.NotNull(trackSearchResult?.Playlists);
}

[Theory]
[InlineData(null)]
[InlineData("")]
[InlineData("myprefix")]
public void TestPrefixes(string? prefix) {
#pragma warning disable 8625
var yandexMusicSearchResultLoader = YandexMusicSearchResultLoader.CreateWithHttpClient(YandexCredentialsProviderMock.Object, new HttpClient(), AutoMocker.Get<IYandexMusicPlaylistLoader>());
yandexMusicSearchResultLoader.SetSearchPrefix(prefix);
#pragma warning restore 8625
prefix ??= "ymsearch";
var correctQuery = $"{prefix}:playlist:25:take over";
Assert.True(yandexMusicSearchResultLoader.TryParseQuery(correctQuery, out var text1, out var type1, out var limit1));
Assert.Equal("take over", text1);
Assert.Equal(YandexSearchType.Playlist, type1);
Assert.Equal(25, limit1);
[Theory]
[InlineData(null)]
[InlineData("")]
[InlineData("myprefix")]
public void TestPrefixes(string? prefix) {
#pragma warning disable 8625
var yandexMusicSearchResultLoader = YandexMusicSearchResultLoader.CreateWithHttpClient(YandexCredentialsProviderMock.Object, new HttpClient(), AutoMocker.Get<IYandexMusicPlaylistLoader>());
yandexMusicSearchResultLoader.SetSearchPrefix(prefix);
#pragma warning restore 8625
prefix ??= "ymsearch";
var correctQuery = $"{prefix}:playlist:25:take over";
Assert.True(yandexMusicSearchResultLoader.TryParseQuery(correctQuery, out var text1, out var type1, out var limit1));
Assert.Equal("take over", text1);
Assert.Equal(YandexSearchType.Playlist, type1);
Assert.Equal(25, limit1);

var incorrectQuery = $"falseprefix:track:15:take over";
Assert.False(yandexMusicSearchResultLoader.TryParseQuery(incorrectQuery, out var text2, out var type2, out var limit2));
Assert.Equal("falseprefix:track:15:take over", text2);
Assert.Equal(YandexSearchType.Track, type2);
Assert.Equal(YandexMusicSearchResultLoader.DefaultLimit, limit2);
var incorrectQuery = $"falseprefix:track:15:take over";
Assert.False(yandexMusicSearchResultLoader.TryParseQuery(incorrectQuery, out var text2, out var type2, out var limit2));
Assert.Equal("falseprefix:track:15:take over", text2);
Assert.Equal(YandexSearchType.Track, type2);
Assert.Equal(YandexMusicSearchResultLoader.DefaultLimit, limit2);

var noQuery = "take over";
Assert.False(yandexMusicSearchResultLoader.TryParseQuery(noQuery, out var text3, out var type3, out var limit3));
Assert.Equal("take over", text3);
Assert.Equal(YandexSearchType.Track, type3);
Assert.Equal(YandexMusicSearchResultLoader.DefaultLimit, limit3);
}
var noQuery = "take over";
Assert.False(yandexMusicSearchResultLoader.TryParseQuery(noQuery, out var text3, out var type3, out var limit3));
Assert.Equal("take over", text3);
Assert.Equal(YandexSearchType.Track, type3);
Assert.Equal(YandexMusicSearchResultLoader.DefaultLimit, limit3);
}
}
Loading

0 comments on commit ee0dec8

Please sign in to comment.