Add test instructions

pull/678/head
Tyrrrz 3 years ago
parent 6fa6df981e
commit fdc3c1b012

@ -24,12 +24,19 @@ namespace DiscordChatExporter.Cli.Tests.Infra
private static readonly Lazy<bool> IsDiscordTokenBotLazy = new(() =>
{
// Default to true
var fromEnvironment = Environment.GetEnvironmentVariable("DISCORD_TOKEN_BOT");
if (string.IsNullOrWhiteSpace(fromEnvironment))
if (!string.IsNullOrWhiteSpace(fromEnvironment))
return string.Equals(fromEnvironment, "true", StringComparison.OrdinalIgnoreCase);
var secretFilePath = Path.Combine(
Path.GetDirectoryName(typeof(Secrets).Assembly.Location) ?? Directory.GetCurrentDirectory(),
"DiscordTokenBot.secret"
);
if (File.Exists(secretFilePath))
return true;
return string.Equals(fromEnvironment, "true", StringComparison.OrdinalIgnoreCase);
return false;
});
public static string DiscordToken => DiscordTokenLazy.Value;

@ -0,0 +1,17 @@
# DiscordChatExporter Tests
This test suite runs against a real Discord server, specifically created to exercise different behaviors required by the test scenarios.
In order to run these tests locally, you need to join the test server and configure your authentication token.
1. Join the server: https://discord.gg/eRV8Vap5bm
2. Locate your Discord authentication token
3. Specify your token using a file or an environment variable:
- **Using a file**: put your token in a new `DiscordToken.secret` file created in this directory
- **Using an environment variable**: set `DISCORD_TOKEN` variable to your token
4. Run the tests: `dotnet test`
> 🟣 If you're submitting a pull request, you don't _have_ to run the tests locally -- they are executed automatically by CI.
Running them locally can still sometimes be useful for debugging purposes though.
> 🟣 If you want to have a new test case or a scenario added, please let me know in your pull request.
Currently, it's not possible to add them by yourself.
Loading…
Cancel
Save