354 Commits

Author SHA1 Message Date
ljacqu
0283395da4 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into jsoncache-fix
Conflicts:
	src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java
2016-07-02 11:01:46 +02:00
ljacqu
70226f7ddb #813 Move test resources to conform to package structure 2016-07-02 10:57:30 +02:00
ljacqu
1f35ccd841 Improve bat helpers / minor changes to logging and todo messages 2016-07-02 10:17:52 +02:00
ljacqu
6585b68749 Fix TeleportationService tests + rename methods
- Fix and supplement unit tests for TeleportationService
- Rename methods as to avoid confusion (login vs. LoginEvent when player joins)
- Add javadoc with note about Player#hasPlayedBefore always being false
2016-06-30 22:38:36 +02:00
DNx5
abf6645620 Fix test 2016-06-29 22:31:10 +07:00
Gabriele C
b1b56f2d51 Cleanup, updated some settings 2016-06-29 15:56:55 +02:00
ljacqu
1361174892 Encapsulate GeoLiteAPI class 2016-06-27 21:32:52 +02:00
Gnat008
1326606f37 #762 - Move all sessions stuff to new SessionManager class 2016-06-27 13:50:16 -04:00
ljacqu
d72d6ddf5a AntiBot - make public field private 2016-06-26 09:25:52 +02:00
ljacqu
6812cfa4db Add utility for safe pattern compiling 2016-06-24 23:50:11 +02:00
ljacqu
e7ba579960 #778 Delayed runner: add support for annotations, add validation
- Add support for dependencies identified by annotations
- Add some more usage validation
- Change a few test classes to use the DelayedInjectionRunner
2016-06-19 22:54:12 +02:00
ljacqu
4b3ab4b116 #769 Create integration test for service initialization in onEnable()
- Test that services can be instantiated (e.g. no circular dependencies)
- Instantiate Messages via injection instead of manually
2016-06-19 21:16:46 +02:00
ljacqu
a0abe3d19d Minor householding
- Remove getter for NewSetting
- Reduce visibility of classes used by DelayedRunner
2016-06-19 16:13:00 +02:00
ljacqu
fb5e7d40c6 Change delayed injection to only change behavior of its own elements
- Introduce new BeforeInjecting annotation to not modify the (expected) order of annotations that do not belong to us
  - Avoids using hacky way of first initializing field to an Answer that will delegate on demand to the proper class...
- Remove PostConstruct support for Mockito's InjectMocks: we should not change the established behavior of external elements
2016-06-18 15:31:11 +02:00
ljacqu
a1c62e7c04 Create delayed injection test runner
- Test runner supporting new "DelayedInjection" annotation: such fields are only initialized with instantiation right before the first time they're used in tests, allowing to set up mock behavior beforehand
2016-06-18 13:19:07 +02:00
ljacqu
cd1acfde1b #674 Create tests for purge commands and purge service 2016-06-18 11:13:17 +02:00
ljacqu
3629c51fc1 #674 PurgeService: Always register if purging, reduce code duplication
- Rename autoPurging to isPurging: we should always register if a purge task is in progress (regardless if autopurge or not) and deny any new requests
- Reduce the same logic being coded multiple times by calling through the methods
- DataSource: remove purgeBanned in favor of purgeRecords, both do exactly the same thing
2016-06-16 22:52:11 +02:00
ljacqu
acd4a772e8 Minor householding in tests
- Add missing test for injector
- Remove redundant Mock fields
2016-06-15 21:24:57 +02:00
ljacqu
ac484345a2 Change password task to async process
- Perform async change password task just like other async processes: via Management
- Remove legacy setting
- Remove now unused service getter (#736)
2016-06-15 20:56:34 +02:00
ljacqu
15886fb517 #723 Let LimboPlayer task manager decide which message key to use
- Pass boolean (is registered) value and determine internally which message key (email registration vs. regular) to use in the message task
2016-06-15 20:37:00 +02:00
ljacqu
5cbb83e153 Code householding, add tests to TempbanManager
- Delegate event firing to BukkitService
- Write tests for IP banning function
- Update comments on tempban properties in config.yml
2016-06-14 21:52:43 +02:00
ljacqu
3411450ff1 #760 Fix single session feature
- Move the check from PlayerLoginEvent to AsyncPlayerPreLoginEvent. Single session can only be implemented with PreLoginEvent; it is already to late to check this in the PlayerLoginEvent. Ergo, we cannot offer this for CraftBukkit.
- Remove interactions with LimboCache - no interactions with LimboCache expected until after OnJoinVerification checks. (Thanks sgdc3!)
2016-06-14 21:03:32 +02:00
EbonJaguar
367f785610 count login failures by ip address and not by name 2016-06-13 15:58:03 -04:00
ljacqu
98bbf51594 Update dependency graph 2016-06-12 22:31:11 +02:00
ljacqu
89bbfc48ee #723 Create provider for TimeoutTask and MessageTask, remove LimboCache#getInstance
- Create class to handle the creation of "LimboPlayer tasks" (adds encapsulation, reduces duplication)
- Move group setting into its own class because (mutual dependency between LimboCache and PermissionsManager otherwise)
2016-06-12 22:00:05 +02:00
Gnat008
67c72dc46d fix TempbanManager injecting 2016-06-12 15:17:37 -04:00
ljacqu
69100daba5 Get jar files via URI objects in tests to prevent issue with spaces 2016-06-12 20:54:39 +02:00
Gnat008
ac4add9f54 add ability to tempban users after x wrong logins - ref #520 #192 2016-06-12 13:40:34 -04:00
ljacqu
d6e1fd5ceb Use injection in and for LimboCache, migrate some legacy settings, remove setGroup from Utils
- New injector method allows to retrieve services if they've already been instantiated -> useful for onDisable() which might be run after aborted initialization
- Deprecate various methods that need to be removed
2016-06-12 16:14:34 +02:00
ljacqu
5ef62784b5 #729 Use world from LimboPlayer for "spawn after login" feat., simplify teleport event constructors 2016-06-12 14:10:38 +02:00
ljacqu
68d5145cd7 #729 Refactor spawn handling into separate service (work in progress) 2016-06-12 12:46:03 +02:00
ljacqu
4d75542594 Remove unused fields instead of suppressing warnings 2016-06-11 19:05:10 +02:00
Gabriele C
01f297919d 1.10 API + cleanup 2016-06-11 17:46:24 +02:00
ljacqu
2e269b6f5e Add missing unit tests for commands 2016-06-05 13:21:05 +02:00
ljacqu
3753a0ef96 #565 Allow to skip extended encryption methods
- Set system property via surefire plugin and create profile that modifies the property
- Check for the new property in AbstractEncryptionMethodTest and shorten/skip the tests when necessary
2016-06-05 00:29:31 +02:00
ljacqu
4fe26f08d4 #612 Check if plugin is permission system within method itself
- Iterate over all values within the method
- Bug fix: change method to use pluginName field, and not name
2016-06-04 22:40:30 +02:00
ljacqu
26ac466035 #727 Instantiate ExecutableCommand objects in CommandHandler
- Change CommandDescription to contain a reference to ExecutableCommand class only
- Instantiate the actual ExecutableCommand objects in CommandHandler
2016-06-04 21:13:38 +02:00
ljacqu
c6778b566d #727 Remove CommandService from ExecutableCommand interface
(work in progress)
- Inject CommandService like other classes instead of passing it as method parameter
- Not solved: cyclic dependency CommandInitializer > ExecutableCommand > CommandService > CommandInitializer...
2016-06-04 11:02:15 +02:00
ljacqu
12703d1613 #601 Integrate plugin manager
- Encapsulate captcha functionality into a class instead of two public fields on the AuthMe main class(!)
   - Let CaptchaManager worry about whether it is enabled or not -> no need to check on the outside
- Implement full reloading support to enable/disable captchas + parameters
- Add unit tests
2016-06-03 22:47:17 +02:00
ljacqu
1f2a823f99 Add tests for PluginHooks - Multiverse interactions 2016-06-03 13:36:33 +02:00
ljacqu
55f7e8097a #743 Add proper error message for "invalid chars in password"
- Change password validation to return a ValidationResult object for passing message arguments
- Remove wrapping methods in ProcessService and CommandService and use ValidationService directly
2016-06-03 12:51:49 +02:00
Gabriele C
eafb3b6653 cleanup 2016-06-03 00:07:25 +02:00
ljacqu
6d2597a980 #739 Fix command unit tests; adjust default handling
(cherry picked from commit 61c119b)
2016-06-02 23:12:01 +02:00
Gnat008
73272b5931 Remove all but one hasPermission() method in the PermissionsManager
#739 (cherry picked from commit 65f3347)
2016-06-02 23:11:47 +02:00
ljacqu
9b5009eb8c #742 Create test that plugin.yml corresponds to command definitions
- Create test
- Fix definitions to correspond
2016-06-02 15:49:21 +02:00
ljacqu
e75cff5fb8 Remove static injections in ListenerService
- Get other classes via Inject annotation
- Remove no longer needed Utils methods (relates to #736)
- Create tests for ListenerService and AuthMeBlockListener
- Performance improvement: keep unrestricted names as Set instead of List for faster contains() method
2016-06-02 12:46:54 +02:00
ljacqu
408e8dd0dd #739 Create unit tests for PermissionsManager#hasPermission 2016-06-02 00:03:02 +02:00
ljacqu
0977558924 #736 Remove use of service getters and deprecate them 2016-05-31 11:14:03 +02:00
ljacqu
3b6677ce99 Merge branch '604-default-permissions-on-nodes' of https://github.com/AuthMe-Team/AuthMeReloaded 2016-05-31 09:15:36 +02:00
ljacqu
30b72bec4c #604 Fix HelpProvider tests 2016-05-30 23:49:59 +02:00