Comment out Tests.cs (will delete later) Build backend for Testing/Mock Rest Repliespull/62/head
| @@ -1,10 +1,12 @@ | |||
| | |||
| Microsoft Visual Studio Solution File, Format Version 12.00 | |||
| # Visual Studio 15 | |||
| VisualStudioVersion = 15.0.25123.0 | |||
| VisualStudioVersion = 15.0.25302.0 | |||
| MinimumVisualStudioVersion = 10.0.40219.1 | |||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Discord.Net", "src\Discord.Net\Discord.Net.csproj", "{18F6FE23-73F6-4CA6-BBD9-F0139DC3EE90}" | |||
| EndProject | |||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Discord.Net.Tests", "test\Discord.Net.Tests\Discord.Net.Tests.csproj", "{855D6B1D-847B-42DA-BE6A-23683EA89511}" | |||
| EndProject | |||
| Global | |||
| GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
| Debug|Any CPU = Debug|Any CPU | |||
| @@ -15,6 +17,10 @@ Global | |||
| {18F6FE23-73F6-4CA6-BBD9-F0139DC3EE90}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {18F6FE23-73F6-4CA6-BBD9-F0139DC3EE90}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {18F6FE23-73F6-4CA6-BBD9-F0139DC3EE90}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| {855D6B1D-847B-42DA-BE6A-23683EA89511}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
| {855D6B1D-847B-42DA-BE6A-23683EA89511}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
| {855D6B1D-847B-42DA-BE6A-23683EA89511}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
| {855D6B1D-847B-42DA-BE6A-23683EA89511}.Release|Any CPU.Build.0 = Release|Any CPU | |||
| EndGlobalSection | |||
| GlobalSection(SolutionProperties) = preSolution | |||
| HideSolutionNode = FALSE | |||
| @@ -55,6 +55,11 @@ | |||
| </Otherwise> | |||
| </Choose> | |||
| <ItemGroup> | |||
| <Compile Include="Rest.cs" /> | |||
| <Compile Include="Rest\EndpointHandler.cs" /> | |||
| <Compile Include="Rest\Responses\Users\Me_Mocks.cs" /> | |||
| <Compile Include="Rest\Responses\Users\UserHandlers.cs" /> | |||
| <Compile Include="Rest\TestRestClient.cs" /> | |||
| <Compile Include="Tests.cs" /> | |||
| <Compile Include="Properties\AssemblyInfo.cs" /> | |||
| </ItemGroup> | |||
| @@ -62,11 +67,12 @@ | |||
| <None Include="packages.config" /> | |||
| </ItemGroup> | |||
| <ItemGroup> | |||
| <ProjectReference Include="..\..\src\Discord.Net\Discord.Net.Net45.csproj"> | |||
| <Project>{c6a50d24-cbd3-4e76-852c-4dca60bbd608}</Project> | |||
| <Name>Discord.Net.Net45</Name> | |||
| <ProjectReference Include="..\..\src\Discord.Net\Discord.Net.csproj"> | |||
| <Project>{18F6FE23-73F6-4CA6-BBD9-F0139DC3EE90}</Project> | |||
| <Name>Discord.Net</Name> | |||
| </ProjectReference> | |||
| </ItemGroup> | |||
| <ItemGroup /> | |||
| <Choose> | |||
| <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'"> | |||
| <ItemGroup> | |||
| @@ -0,0 +1,32 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| namespace Discord.Tests.Rest | |||
| { | |||
| public class EndpointHandler | |||
| { | |||
| public static EndpointHandler Instance; | |||
| public delegate string RestMessageHandler(string method, string json); | |||
| public Dictionary<string, RestMessageHandler> Handlers; | |||
| public EndpointHandler() | |||
| { | |||
| Instance = this; | |||
| // Setup Endpoints | |||
| Handlers = new Dictionary<string, RestMessageHandler>(); | |||
| // /users Endpoints | |||
| Handlers.Add("users/@me", Responses.Users.UserHandlers.Me_Handler); | |||
| } | |||
| public string HandleMessage(string method, string endpoint, string json) | |||
| { | |||
| if (Handlers.ContainsKey(endpoint)) | |||
| return Handlers[endpoint].Invoke(method, json); | |||
| throw new NotImplementedException($"{method} -> {endpoint} -> {json}"); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,42 @@ | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| using Discord.Rest; | |||
| using Discord.Net.Rest; | |||
| using System.Threading; | |||
| using System.IO; | |||
| namespace Discord.Tests.Rest | |||
| { | |||
| class TestRestClient : IRestClient | |||
| { | |||
| public static Dictionary<string, string> Headers = new Dictionary<string, string>(); | |||
| public TestRestClient(string baseUrl, CancellationToken cancelToken) | |||
| { | |||
| } | |||
| Task<Stream> IRestClient.Send(string method, string endpoint, IReadOnlyDictionary<string, object> multipartParams) | |||
| { | |||
| throw new NotImplementedException("method only used for SendFile, not concerned with that yet."); | |||
| } | |||
| Task<Stream> IRestClient.Send(string method, string endpoint, string json) | |||
| { | |||
| return Task.FromResult<Stream>(new MemoryStream(Encoding.UTF8.GetBytes(EndpointHandler.Instance.HandleMessage(method, endpoint, json)))); | |||
| } | |||
| void IRestClient.SetHeader(string key, string value) | |||
| { | |||
| if (Headers.ContainsKey(key)) | |||
| { | |||
| Headers.Remove(key); | |||
| } | |||
| Headers.Add(key, value); | |||
| Console.WriteLine($"[Header Set]: {key} -> {value}"); | |||
| } | |||
| } | |||
| } | |||
| @@ -1,4 +1,5 @@ | |||
| using Microsoft.VisualStudio.TestTools.UnitTesting; | |||
| using Discord.Rest; | |||
| using Microsoft.VisualStudio.TestTools.UnitTesting; | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| @@ -7,8 +8,11 @@ using System.Threading.Tasks; | |||
| namespace Discord.Tests | |||
| { | |||
| //TODO: Tests are massively incomplete and out of date, needing a full rewrite | |||
| // these tests are really bad | |||
| // we're never going to look at them again | |||
| // but in case i do decide to look at them again they are still here | |||
| /* | |||
| [TestClass] | |||
| public class Tests | |||
| { | |||
| @@ -311,8 +315,9 @@ namespace Discord.Tests | |||
| async () => await _targetBot.CurrentUser.Modify(TargetPassword, name), | |||
| x => _obGuildBot.UserUpdated += x, | |||
| x => _obGuildBot.UserUpdated -= x, | |||
| (s, e) => e.After.Username == name);*/ | |||
| } | |||
| (s, e) => e.After.Username == name); | |||
| }*/ | |||
| /* | |||
| [TestMethod] | |||
| public void TestSetStatus() | |||
| { | |||
| @@ -327,8 +332,9 @@ namespace Discord.Tests | |||
| { | |||
| throw new NotImplementedException(); | |||
| /*_client.SetStatus(status); | |||
| await Task.Delay(50);*/ | |||
| } | |||
| await Task.Delay(50); | |||
| }*/ | |||
| /* | |||
| [TestMethod] | |||
| public void TestSetGame() | |||
| { | |||
| @@ -490,5 +496,5 @@ namespace Discord.Tests | |||
| } | |||
| #endregion | |||
| } | |||
| }*/ | |||
| } | |||