89 Commits

Author SHA1 Message Date
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
c288d3285e Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into command-perms-refactor 2015-12-01 21:59:19 +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
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
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
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
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
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
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
ljacqu
e65319d42c Add tests for LogoutCommand and RegisterCommand. Add more generic mockUtil
(cherry picked from commit 06cfd13)
2015-11-21 12:07:10 +01:00
ljacqu
987e38c5df 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.
(cherry picked from commit f1a0022)
2015-11-21 12:07:00 +01:00