Commit Graph

56 Commits

Author SHA1 Message Date
Chris Johnston
2de6cef18c Add validation to bot tokens based on string length (#1128)
* Add input validation for bot tokens based on their length

* Add token validation to BaseDiscordClient#LoginAsync

Adds a TokenUtils class which is used to validate that tokens are correct

* Revert changes to DiscordRestApiClient

* Add Unit tests to the TokenUtils class, fix a logic error that was caught by those tests

* Allow for API to throw exceptions

Moves the validation of tokens to be inside of LoginInternalAsync, and writes a Warning to the console when the supplied tokens are invalid
2018-08-30 17:27:37 -04:00
FiniteReality
aeb3095593 Remove Debug.Print call causing tests to fail
Forgot to hit save properly... Whoops.
2018-05-28 17:48:38 +01:00
FiniteReality
0c7cb73b06 Fix permission-related ViewChannel tests 2018-05-28 17:41:05 +01:00
FiniteReality
415e2f7739 Fix analyzer warnings with tests
Use (actual, expected) format for Assert.Equal, fixes analyzer warnings
2018-05-28 17:14:18 +01:00
Chris Johnston
a06e21261c Fix ChannelPermissions Modify parameter to be correct default value (#1003)
* fix channel permissions modify parameter to use nullable boolean, correct default value

* Add general tests for the ChannelPermissions.Modify method to test default values

* remove unused cast in tests

* add guildpermission modify no param tests

* Add no-param modify tests for OverwritePermissions

* fix inconsistent parameters in GuildPermissions cstr

* Adjust formatting of methods and cstrs with many parameters

* remove temp file that was included. no idea what that is

* Fix System dependency

I should really stop fixing merge conflicts in the github website.
2018-05-26 14:15:09 -04:00
Chris Johnston
f9cbff5e42 Fix #995, Move Category Implementation from IGuildChannel to INestedChannel (#1004)
* Fix #995 ICategoryChannel.CategoryID throws NotSupportedException

* Add tests

* change run mode of TestChannelCategories

* Add throw for GetCategoryAsync

* Add xml doc explaining why exception is thrown

* Add test coverage for text and voice channel categories

* initial implementation of INestedChannel

* more implementation of INestedChannel design

* Add case in RestChannel Create for Category type

* set the CategoryID for RestVoiceChannel

* rewrite channel category tests to work with existing pattern

* remove outdated todo

* Make IVoiceChannel implement INestedChannel

* remove redundant interface implementation

* Add c#7 feature from feedback

* Remove redundant GetCategoryAsync methods from socket entities

* Added configureawait to async methods

* change signature of interface GetCategoryAsync

* Add check for cachemode in rest channel GetCategory

* remove redundant IGuildChannel interface from ITextChannel and IVoiceChannel
2018-05-26 14:06:35 -04:00
Chris Johnston
fa759a22ea Remove Build Warnings for Obsolete Guild Permission Read Messages (#1067)
- Replaces the usages of `ReadMessages` with `ViewChannel`
- Renames the read message parameters of `GuildPermissions#Modify` to be view channel as well
2018-05-25 09:38:59 -04:00
Hawx
bbbac85c46 Update Dependencies and support NS2.0 builds (#1046)
* Update deps, fix test warnings.

* Support ns2.0

* Fix typo

* Remove ns1.1 support

* Net.Http and Net.Websockets.Client are not needed in ns2.0

* Move to net46 per volt

* Remove ns1.3 constants
2018-05-25 08:14:28 -04:00
Chris Johnston
63e670464f Add more tests for Permissions class (#967)
* Add tests for more Permissions code coverage

* Add guild tests

* Add more in-depth covering of permissions methods

* Add tests for OverwritePermissions

* Remove unknown ItemGroup tag from csproj

* Add missing Fact attributes, separate class so that it is not dependant on main test fixture

* Separate out GuildPermissions and ChannelPermissions tests from main partial Tests class because they do not need to have access to the main test fixture
2018-03-01 20:06:48 -05:00
Joe4evr
f69ef2a8ca Add API Analyzer Assembly (#906)
* Start on API analyzers

* Finish GuildAccessAnalyzer

* Update build script (will this do?)

* Correct slashes

* Extrapolate DerivesFromModuleBase() to an extension method

* Quick refactoring

* Add doc file
2018-01-13 22:54:47 -05:00
Chris Johnston
edfbd055bb Fix #854 Added ViewChannel enum and property to channel permissions (#874)
* Fix #854 Added ViewChannel enum and property to channel permissions

* replaced usages of ChannelPermission#ReadMessages with ViewChannel

* rename parameter of ChannelPermissions constructor

* made OverwritePermissions#ReadMessages obsolete, use ViewChannel instead

* Fix #854 Added ViewChannel enum and property to channel permissions

replaced usages of ChannelPermission#ReadMessages with ViewChannel

rename parameter of ChannelPermissions constructor

made OverwritePermissions#ReadMessages obsolete, use ViewChannel instead

* renamed readMessages parameter in ChannelPermissions constructor and Modify

* fixed channel permission tests to use ChannelPermission enum instead of GuildPermission enum

* replaced usages of readmessages in channel permission tests

* resolve build warnings for permission tests
2018-01-06 22:35:17 -05:00
Christopher F
a19ff188e9 Added support for animated emoji (#913)
* Added support for animated emoji

This was such a useful feature Discord, I'm glad you added this instead
of fixing bugs.

* Fix bugs in emote parser

* Added unit tests for emotes
2017-12-23 15:09:24 -05:00
Christopher F
c461201fa5 Fix async warnings 2017-11-22 19:39:26 -05:00
Chris Johnston
cf8de42b62 Add GuildPermissions and ChannelPermissions Unit Tests (#873)
* initial commit

* Add GuildPermission tests for constructor and modify parameters

* Fixed GuildPermission All value. Previous value had an additional digit that would still resolve to correct permission flags, but raw value would be incorrect. This matches the result of the sum of all GuildPermission flags

* Added raw value check to guild permission modify tests

* Add ChannelPermissions tests
2017-11-20 14:54:10 -05:00
Christopher F
1ffcd4bfa7 Changed Guild#DefaultChannel to resolve the first accessible channel (#777)
* Changed Guild#DefaultChannel to resolve the first accessible channel

Resolves #776

This change is inline with hammerandchisel/discord-api-docs#329

RestGuild#DefaultChannelId is now obsolete and will throw a
NotSupportedException.

* RestGuild#DefaultChannelId will fall back to the guild ID

Adding an exception here would be a breaking change, so this was agreed
to fall back to the previous behavior, which would just return the guild
ID.
2017-08-28 16:49:16 -04:00
Christopher F
22b969cbc7 Test the Discord.Color structure (#786)
This provides tests to ensure the following:
- Creating a Color
- Creating a Default Color
- Accessing a Color's Raw Value
- Accessing a Color's translated RGB values
2017-08-17 02:44:37 -03:00
Christopher F
1ce1c019b3 Add support for audit log reasons (#708)
* Add support for audit log reasons

* Made changes per discussion
2017-06-29 17:01:59 -03:00
RogueException
285a0e5817 Updated deps, cleaned csprojs 2017-05-09 20:51:00 -03:00
RogueException
7b99c6003d Updated test dependencies 2017-04-26 10:35:56 -03:00
RogueException
30bb085a78 Fixed tag metapackage logic, fixed test error 2017-04-01 11:17:44 -03:00
RogueException
b5d817f171 Cleaned up csprojs, added support for tag builds. 2017-04-01 11:11:09 -03:00
RogueException
3a45e9ec87 Support InvalidSession(true) 2017-03-20 23:49:17 -03:00
RogueException
c10ebeef57 Updated xunit 2017-01-26 00:06:47 -04:00
RogueException
eb2a946dd6 Updated to 1.0.0-rc3 tooling 2017-01-25 22:27:24 -04:00
RogueException
858580a6a4 Fixed a couple issues in the Tests csproj 2017-01-24 17:30:18 -04:00
RogueException
dc659d4dcf Ignore warnings from HttpMixin 2017-01-24 17:22:47 -04:00
RogueException
7ac02bbc40 Added credit for akavache files 2017-01-24 14:05:07 -04:00
RogueException
5dda8ef31f Added environment var fallback 2017-01-24 14:02:26 -04:00
RogueException
0947bedb28 Cleaned up VoiceChannels test 2017-01-24 13:56:35 -04:00
RogueException
bf8a615eef Added config example 2017-01-24 13:46:32 -04:00
RogueException
d9802593ab Started new testbed 2017-01-24 11:55:41 -04:00
RogueException
a968b4205a Cleaned up various entities 2016-04-09 11:23:12 -03:00
RogueException
5bdd6a7ff3 Early 1.0 REST Preview 2016-04-04 20:15:16 -03:00
Christopher F
47cbac95cc split management into server- and user-; wrote docs for server/user 2016-02-25 19:02:31 -05:00
RogueException
85a891762d Updated to Newtonsoft.Json 8.0.1 2016-01-02 04:19:08 -04:00
RogueException
c1bee10523 Cleaned up several classes 2016-01-01 01:06:34 -04:00
RogueException
672cde4654 Fixed legacy warnings 2015-12-31 04:24:36 -04:00
RogueException
7a2c9db21a Fixed test project 2015-12-23 20:10:00 -04:00
RogueException
5760e94d81 Reworked internal task engine for DiscordClient and WebSocket. Several other minor async fixes. 2015-12-11 19:07:55 -04:00
RogueException
142c03a1c2 Revert "Added experimental async event handlers"
This reverts commit 7237c6b3bf.
2015-12-02 10:01:24 -04:00
RogueException
7237c6b3bf Added experimental async event handlers 2015-12-02 07:03:13 -04:00
RogueException
0460017456 Added warning about tests incompleteness 2015-12-02 03:12:38 -04:00
RogueException
085138c182 Stopped hardcoding regions 2015-11-29 10:35:44 -04:00
RogueException
94f387a8e6 A few more renames 2015-10-25 10:33:27 -03:00
RogueException
ecff2ebf17 Renamed some events 2015-10-25 06:21:34 -03:00
RogueException
25b9052f0d More cleanup, added string enums 2015-10-24 19:04:05 -03:00
RogueException
dd6ceb8469 Started major API refactor 2015-10-24 01:39:06 -03:00
RogueException
83c998168f Discord.Net.Tests -> Discord.Net namespace 2015-10-22 01:48:34 -03:00
RogueException
4b79ec1df8 Cleaned up the collection classes. 2015-10-22 01:34:04 -03:00
RogueException
9c9884c1ae Added WebSocketSharp support and fixed Mono issues 2015-10-01 18:27:40 -03:00