Commit Graph

155 Commits

Author SHA1 Message Date
ljacqu
47e97244a7 #306 Create tests for CommandService and PlayerCommand 2015-12-26 20:58:05 +01:00
ljacqu
27fee3ca64 #306 Create PlayerCommand abstract type
- Create PlayerCommand to handle player-only command checks centrally and consistently
- Adjust tests
2015-12-26 19:47:47 +01:00
ljacqu
5ab3a1f9ef Minor - remove StringUtils#getStackTrace
- Remove StringUtils#getStackTrace in favor of Guava's Throwables#getStackTraceAsString
2015-12-26 18:01:09 +01:00
ljacqu
c73969256c Merge master into '306-command-service'
Conflict:
- HelpCommand.java
2015-12-26 13:01:00 +01:00
ljacqu
71a9f4140b #375 Issue warning instead of failing test for non-ASCII password
- Add javadoc to fields
2015-12-26 12:52:05 +01:00
ljacqu
9e8f51c616 #306 Fully test HelpProvider and CommandSyntaxHelper 2015-12-24 15:26:25 +01:00
ljacqu
050275a0a6 #306 Fully test AccountsCommand 2015-12-24 12:19:14 +01:00
ljacqu
cb2ffca6d3 #306 Change help provider to non-static / add calls to help functionality 2015-12-23 23:51:39 +01:00
ljacqu
a9fc658db0 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 306-command-service 2015-12-23 18:09:21 +01:00
ljacqu
be942c2b36 #306 Fix tests for command mapper and command handler
- Export initializing and retrieval of test commands to a separate class
2015-12-23 18:04:46 +01:00
Gabriele C
da84efe090 Merge pull request #84 from games647/gamemode
Remove gamemode and flying switching
2015-12-23 15:42:24 +01:00
ljacqu
c50741e1ca #375 Remove Ignore annotation on password hash check test 2015-12-23 15:28:52 +01:00
games647
8c1eef3f59 Remove gamemode and flying switching
Fixes Xephi/AuthMeReloaded#355
Fixes Xephi/AuthMeReloaded#320
Fixes Xephi/AuthMeReloaded#258
Fixes Xephi/AuthMeReloaded#246
2015-12-23 15:00:44 +01:00
ljacqu
14f6ecd716 #306 Adjust ExecutableCommand implementations to interface 2015-12-23 14:55:04 +01:00
ljacqu
8ef1b2ae3e #306 Add command service and set up constructor dependency injection
(work in progress)
- Pass all dependencies via constructor
- Encapsulate command handling more (e.g. split CommandHandler with new CommandMapper)
- Add help command to all base commands at one central point

See AccountsCommand or HelpCommand for an example of the advantages - all necessary functions come from CommandService; objects aren't retrieved through a singleton getInstance() method anymore
2015-12-23 14:54:45 +01:00
ljacqu
f785d9d357 Revert 799ecf8 and apply Ignore annotation to test failing locally
- Revert commit (undo formatting changes, commented out code)
- Add ignore to not run the test due to local problems (probably because of some character encoding issue)
2015-12-23 09:19:59 +01:00
Xephi59
799ecf8f7e Comment these test for this moment 2015-12-23 00:46:08 +01:00
ljacqu
f835a95bac Verify only one listener per event; #367 verify listener not using MONITOR 2015-12-21 23:14:42 +01:00
ljacqu
1f11537b85 #364 Add more tests for encryption algorithms
- Rename getHash() to computeHash(): get.. suggests it's just retrieving some field but it's really doing a computation, which is quite complex depending on the hash algorithm
2015-12-20 23:43:54 +01:00
ljacqu
f809d91c45 Minor refactoring in listeners; create listener consistency test
- Export duplicated code into a service
- Remove canConnect attribute from AuthMe class - was unused and doesn't seem sensible
- Add consistency test for listener classes
2015-12-20 20:26:01 +01:00
ljacqu
51d1705b1f #364 Add tests for more encryption algorithms 2015-12-20 14:08:43 +01:00
ljacqu
bf7a0c5a49 #364 Create first EncryptionMethod tests 2015-12-20 00:51:15 +01:00
ljacqu
a928a4092d #305 Fix label handling, add extensive tests for command handler 2015-12-19 16:27:00 +01:00
ljacqu
01a294a334 #305 Adjust behavior of label handling; cleanup
- Fix bugs in behavior (wrong labels being shown for help)
- Change order of labels and arguments in FoundCommandResult constructors
- Move FoundResultStatus enum to its own class
- Create test class for HelpProvider
2015-12-18 22:19:26 +01:00
ljacqu
d871939793 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into commands-refactor
Conflicts:
	src/main/java/fr/xephi/authme/command/CommandUtils.java
	src/main/java/fr/xephi/authme/command/executable/captcha/CaptchaCommand.java
2015-12-17 22:32:26 +01:00
ljacqu
cbf0996197 Logic for FoundCommandResult.Status / Add tests for CommandHandler
- Fix other tests
- Add logic for smaller pending FIXME's
2015-12-17 22:23:43 +01:00
ljacqu
dcc365c22f Fix #349 Create method on Messages to pass tag replacements
- Add tests
- Fix placeholder in some files
2015-12-16 20:46:40 +01:00
ljacqu
3de7a7584e Merge prefix tests for AdminPermission and PlayerPermission 2015-12-15 09:00:41 +01:00
ljacqu
bfebf6dc44 Add tests for CommandUtils, move purgeDirectory to its only use 2015-12-14 21:37:20 +01:00
ljacqu
282f777311 #336 Create command list generator in tools
- Add new conditional template tags [...] blabla [/...]
- Create logic for generating a list of commands
2015-12-14 21:07:03 +01:00
ljacqu
0fdc8d2810 Fix #338 Create test to verify consistent argument count 2015-12-14 16:24:09 +01:00
ljacqu
c48c56f08c Change to new HelpProvider, adjust classes to new methods 2015-12-13 10:12:54 +01:00
ljacqu
d5b2058124 Change ExecutableCommand interface (wip – doesn't compile)
- Change interface to use (CommandSender, List<String> arguments)
- Use CommandArgumentDescription#name instead of "label" (to prevent confusion between command labels and arguments)
- Simplify command difference computation in CommandHandler (no longer consider argument difference)
2015-12-12 12:48:39 +01:00
ljacqu
eecad80748 Change ExecutableCommand interface (wip – doesn't compile)
- Change interface to use (CommandSender, List<String> arguments)
- Use CommandArgumentDescription#name instead of "label" (to prevent confusion between command labels and arguments)
- Simplify command difference computation in CommandHandler (no longer consider argument difference)
2015-12-12 11:39:19 +01:00
ljacqu
2f153fb85c #305 Modularize logic / separate from data classes (wip – doesn't compile)
- Remove permission logic on command side; make PermissionsManager handle checks for all CommandSender objects (not only Player), cf. #314
- Remove unnecessary redundancies in passed arguments ("command references" that can be inferred from the FoundResult)
- Extend FoundCommandResult to represent all possible error cases
2015-12-12 00:43:55 +01:00
Gabriele C
6ee07160bb cleanup and update deps 2015-12-08 20:07:10 +01:00
ljacqu
f99bba4b5f #314 Encapsulate permissions package better
- Move permissions responsibilities from command to permissions (remove some logic from CommandPermissions, add DefaultPermission enum to permissions package)

- Start possible interface for the future per-permission system implementations of permissions managers
2015-12-05 23:05:42 +01:00
ljacqu
9d39fc1127 Undo wrong renaming of test class falsely including 'Admin' 2015-12-05 10:55:05 +01:00
ljacqu
b419c72271 Fix #316 Ordinary player can use /authme unregister
- Change wrong player permissions to admin permissions
- Rename command class names that were the same for the ordinary vs. admin task
- Create test to ensure that commands with OP_ONLY default require an admin permission node
2015-12-05 10:48:42 +01:00
ljacqu
2faad44ffa Move most API of CommandParts to util classes
Gradual transition to removing CommandParts altogether.
 - Move logic from CommandParts to utils classes
2015-12-04 23:19:37 +01:00
ljacqu
9140ebe602 Change initialized command descriptions to Set
- Set is more efficient if it's frequently used for `contains()`, which is what we use it for after initialization
2015-12-04 21:58:16 +01:00
ljacqu
c78e12de04 Refactorings - prepare to remove FoundCommandResult
- Reduce tight coupling by passing list of available commands as param to CommandHandler
- Split command processing method into several smaller ones
- Remove unfinished logic for unlimited command arguments (reason: was not implemented and not used, probably needs another way to handle it once the need for it arises)
- Create test for CommandHandler
2015-12-04 21:33:50 +01:00
ljacqu
152a0cabb5 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor
Conflicts:
	src/main/java/fr/xephi/authme/command/CommandInitializer.java
2015-12-03 22:16:52 +01:00
ljacqu
1fbe4e0c3b #298 Change password shows wrong 'pw cant be username' error
- Change MessageKey to the proper message
- Change permissions for admin changepassword to admin
- Rename player changepassword command arguments to reflect their actual meaning
2015-12-03 22:07:18 +01:00
ljacqu
1ca6bcffe1 Make AuthMe.management private; create test for CaptchaCommand 2015-12-02 22:13:43 +01:00
ljacqu
f698c9241b Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor
Conflicts:
	src/main/java/fr/xephi/authme/output/Log4JFilter.java
2015-12-02 21:56:53 +01:00
ljacqu
923020bf07 Reduce duplication in Log filter implementations 2015-12-01 22:17:18 +01:00
ljacqu
c288d3285e Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor 2015-12-01 21:59:19 +01:00
ljacqu
b0e619d412 Refine JavaDoc and move Log filters to 'output' 2015-12-01 21:53:18 +01:00
ljacqu
690a8d67a3 Abstract Messages into two layers; move to new 'output' package
- Abstract Messages into two layers: the top layer 'Messages' is how Messages can be retrieved and sent as before. In the background, package-private, MessagesManager actually does the file read and worries about I/O while Messages takes care of higher-level things (such as joining two lines or checking the current language).
2015-12-01 21:45:02 +01:00
ljacqu
54d8ede5bc Add changes missed during merge 2015-12-01 20:44:44 +01:00
ljacqu
c4df2589b7 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor
Conflicts:
	src/main/java/fr/xephi/authme/command/CommandDescription.java
	src/main/java/fr/xephi/authme/command/CommandInitializer.java
2015-12-01 20:43:49 +01:00
Tim Visée
2550e04112 Fixed player permission tests, improved test structure consistency 2015-12-01 16:44:49 +01:00
Tim Visée
7ac39d80fd Fixed admin permission tests 2015-12-01 16:40:00 +01:00
Tim Visée
fdc747d007 Refactored player permissions enum, to make the name suit better 2015-12-01 16:19:05 +01:00
Tim Visée
3b9b1b7b8a Refactored name of command builder, to specify it a little better 2015-12-01 16:14:59 +01:00
ljacqu
44eef346b9 Add test to verify the format of command labels
- Fix test class throwing NPE when run isolation -> attempts to get Logger from Wrapper
2015-11-30 21:18:58 +01:00
ljacqu
da0c5d1ea2 Split command management into initializer and handler
- Create Initializer class that only initializes AuthMe commands
- Move remaining method to CommandHandler
- Deprecate constructors on CommandDescription in favor of the builder
- Various cleanups and comments
2015-11-29 12:51:11 +01:00
ljacqu
d7513ecc7b Fix nullpointer when command requires no permissions
- Add test to verify connections among the command initialization
2015-11-29 12:04:01 +01:00
ljacqu
7c652feac2 Fix failing command tests
- Detailed description missing period
- Fix twice defined /authme delete
- Add executable command to HelpSyntaxHelperTest initializations
- Remove unneeded constructors in CommandDescription
2015-11-29 10:56:01 +01:00
ljacqu
6a94135f64 Commands - fix child not being registered in parent via Builder
- Create test to ensure that commands don't define the same binding
- Create stricter attribute validation in builder: throw an error if required field was not initialized
2015-11-29 10:24:32 +01:00
ljacqu
a124e8f283 Refine CommandDescription builder; add/fix JavaDoc; add tests
- Add tests to check the integrity of the commands that are defined in the CommandManager
- Convert some more commands registrations to the new Builder format
2015-11-29 01:21:48 +01:00
ljacqu
faf9a2c8ac Create builder for command description; refactor command classes
- Create builder class for CommandDescription
- Remove redundant methods in command registration classes (e.g. certain validation is superfluous because we only instantiate the classes internally)
- Replace multiple occurrences where a field is directly instantiated e.g. with a list and then its value is overwritten by a constructor = redundant instantiation of objects
2015-11-28 23:59:04 +01:00
ljacqu
364583e7db Change use of String permissions to the permission enums 2015-11-28 21:59:29 +01:00
ljacqu
e519906dc5 Create enum classes for permission nodes 2015-11-28 21:26:07 +01:00
ljacqu
a1a14aa760 Add methods to Reflection utils; test ChangePasswordCommand fully 2015-11-28 20:40:02 +01:00
ljacqu
c02bf7db76 Testing - initialize data folder in WrapperMock; create ReflectionUtils
- Change AuthMeMockUtils (reflection-based test setup) to ReflectionUtils: service providing reflection functionalities for particular tests where it is appropriate;

- Initialize the data folder (required as soon as the Settings class is loaded) immediately in WrapperMock. Some tests did not set it up that required it and it goes unnoticed if the test is not run individually. This will hopefully fix the tests from failing in the Jenkins build.
2015-11-28 19:10:01 +01:00
ljacqu
b916a38d80 Fix UtilsTest and replace the last test setups not to use reflections 2015-11-28 17:13:33 +01:00
ljacqu
8ed672e89d Remove old methods in Messages and add StringUtils tests
StringUtils - merge the two join methods to one common implementation with two interface; add tests

Messages - remove the methods taking a String as code after the kind refactoring by @DNx5
2015-11-26 23:21:19 +01:00
ljacqu
210b691353 Testing - change to non-reflection WrapperMock test setup
Replaced many classes to use Wrapper to get singletons and replaced the test setups to use the WrapperMock instead of setting fields through reflection
2015-11-26 22:53:12 +01:00
ljacqu
77f2f80eaf Testing - start change to non-reflection WrapperMock test setup 2015-11-26 22:25:02 +01:00
ljacqu
d2db59f597 Ignore ChangePasswordCommandTest for now 2015-11-26 21:46:09 +01:00
ljacqu
93cddb7a5c Merge enum branch into master 2015-11-26 21:45:06 +01:00
DNx5
d7ae2a96e3 Fix test unit 2015-11-26 11:04:12 +07:00
DNx5
7a78b321e7 refactor all class to use the message key for sending messages. 2015-11-26 10:18:53 +07:00
ljacqu
a462780059 Create tests for StringUtils#getStackTrace and StringUtils#getDifference
- Create tests
- Make StringUtils final with private constructor (utility class)
2015-11-25 23:22:43 +01:00
ljacqu
920a982794 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into us_enum 2015-11-25 23:06:56 +01:00
ljacqu
c83e983dea Close opened resources
- Add BufferedReader instantiation into try-with-resources statement
- Close scanner that was opened
- Create utility class to format a caught exception
2015-11-25 23:05:13 +01:00
ljacqu
498c3342f2 Create Wrapper as singleton; fix UtilsTest 2015-11-25 22:34:27 +01:00
ljacqu
644f7e8541 Merge origin/enum into local branch 2015-11-25 22:18:21 +01:00
Lucas Jacques
37a615fa03 Create test that AntiBot is not enabled if Settings disable it 2015-11-25 19:39:16 +01:00
ljacqu
cb11ae9610 Deprecate Messages#send(String) in favor of the MessageKey enum 2015-11-24 23:11:14 +01:00
ljacqu
cf4e47488b Start refactoring for Messages class 2015-11-24 22:54:54 +01:00
ljacqu
72fe710b8c Fix UtilsTest, create MessageKeyTest 2015-11-24 22:21:36 +01:00
ljacqu
16a69d4126 Merge upstream/master into ljacqu/enums 2015-11-23 23:31:26 +01:00
ljacqu
6422f90114 Create Wrapper for instances / revise MockUtils
- Add test resources folder
- Create basic test for Messages (todo: add concrete tests)
- Create WrapperMock
- Change UtilsTest (todo: make it work)
2015-11-23 23:25:03 +01:00
Tim Visée
09067ddbd1 Removed redundant code, fixed some warnings, other minor fixes 2015-11-23 22:18:04 +01:00
Tim Visée
1dd540b9c0 Fixed some redundant casts and definitions 2015-11-23 22:09:15 +01:00
Tim Visée
47b1d00ccf Fixed various spelling and grammar issues 2015-11-23 22:07:32 +01:00
ljacqu
e456203fc6 Refactor Utils#getOnlinePlayers and add background info 2015-11-22 01:30:07 +01:00
ljacqu
fc3f685de0 Create UtilsTest
Had to create a getGameServer() method in AuthMe in order to be able to catch this call in tests and replace it with a mock implementation of the actual server. The supertype method getServer() is declared as final, which makes it impossible to mock with Mockito.

While there are frameworks that manipulate the bytecode to mock final calls, it is much easier and less risky to simply delegate the server retrieval through another method.
2015-11-21 23:09:04 +01:00
ljacqu
cd728b569e Create test for CommandManager; fix javadoc in CommandDescription 2015-11-21 22:32:16 +01:00
ljacqu
efb57989ed Start tests for email commands
- Removed randomStringGenerator from Management as it is unused
2015-11-21 19:51:49 +01:00
ljacqu
b3d0a71dec Merge ListUtil into StringUtil; refactor HelpSyntaxHelper + create test
The HelpSyntaxHelper had suppressed warnings for string concatenation within StringBuilder - the point of the StringBuilder is that it is faster when you use it to concatenate many elements. If you still use string concatenation with + within these calls it beats the purpose.
2015-11-21 17:19:11 +01:00
ljacqu
a3f24bcb9a Create test for HelpSyntaxHelperTest 2015-11-21 17:18:58 +01:00
ljacqu
58dc15123c Add tests for LogoutCommand and RegisterCommand. Add more generic mockUtil 2015-11-21 17:18:45 +01:00
ljacqu
4e8614fdf7 Add test for LoginCommand; create AuthMe mock test util
Had to create a getter for the Management instance in the AuthMe class for mocking, but fields should generally not be accessed globally. Hopefully soon we will be able to make the field private.
2015-11-21 17:18:28 +01:00
ljacqu
b633b9a005 Create test for change password command 2015-11-21 13:23:18 +01:00
ljacqu
4702a1b82d Merge ListUtil into StringUtil; refactor HelpSyntaxHelper + create test
The HelpSyntaxHelper had suppressed warnings for string concatenation within StringBuilder - the point of the StringBuilder is that it is faster when you use it to concatenate many elements. If you still use string concatenation with + within these calls it beats the purpose.
(cherry picked from commit bb00be2)
2015-11-21 12:12:26 +01:00
ljacqu
115680a363 Create test for HelpSyntaxHelperTest
(cherry picked from commit 9a6e96d)
2015-11-21 12:07:21 +01:00