Commit Graph

426 Commits

Author SHA1 Message Date
Gabriele C
df2329fd9a Fix conflict 2016-05-16 16:27:59 +02:00
Gabriele C
c748501345 Fix Multiverse dependency + fix invalid test in Eclipse 2016-05-14 00:01:26 +02:00
ljacqu
9f5b995217 Fix datasource resource closing tests (#1) 2016-05-12 20:15:44 +02:00
ljacqu
e04f7dc711 #704 Implement reloading via injector
- Create interfaces Reloadable and SettingsDependent to recognize reloadable classes
- Iterate through instances in injector to reload
2016-05-12 19:51:10 +02:00
games647
b1957c9812 Do not lookup twice for banned players 2016-05-09 21:51:21 +02:00
ljacqu
223f56425b #699 Unit test that config.yml values correspond to property defaults
- Create unit test
- Correct offending values
2016-05-09 21:15:11 +02:00
ljacqu
f2e49dbf1e Minor - fix compilation of task tool class list
- Set is declared as ToolTask but all elements extend from AutoToolTask, so the Set type is resolved to a too specific type
2016-05-08 21:55:08 +02:00
ljacqu
23da023d53 #513 Mark tools runnable by command line with specific interface 2016-05-08 17:22:02 +02:00
ljacqu
662f28ab4f #513 Fix class loading issue when running from mvn exec:java 2016-05-08 17:01:06 +02:00
ljacqu
8e878d6a5a Remove BukkitService from CommandService, inject where needed instead 2016-05-08 13:50:20 +02:00
ljacqu
5e5836f167 #432 Injector improvements
- Separate FieldInjection from default fallback for no-Inject public no-args constructor classes
- Make CommandInitializer a normal, instantiable service
- Add various injections instead of fetching through command service
2016-05-08 11:15:56 +02:00
Gabriele C
084cdd0d3a Allow tool execution with argument 2016-05-05 20:20:40 +02:00
ljacqu
3fe2f0b6a8 Add missing test matcher
- Mock verifications need matchers on all parameters, or on none. Test fails otherwise
2016-05-04 18:40:06 +02:00
Gabriele C
7c52460c87 Merge branch 'pre-injector' 2016-05-04 18:03:33 +02:00
Gabriele C
1ea2f98727 Start working on #687
Next step: Future return of the async registration
2016-05-04 18:01:47 +02:00
Gabriele C
5ceabe2146 Cleanup 2016-05-04 17:26:58 +02:00
ljacqu
67aea654cc #432 Fix broken tool tasks 2016-05-03 20:44:01 +02:00
ljacqu
3645806edc Move tools folder into test folder
- Classes still won't be present in JAR but classes will be automatically compiled by Maven inside of the test scope, facilitating the execution of tool tasks
2016-05-03 20:27:12 +02:00
ljacqu
491dc06de4 Fix RegisterAdminCommand test verifying that online player is kicked 2016-05-02 19:57:54 +02:00
ljacqu
f76a68cb26 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 432-dependency-injection
Conflicts:
	src/main/java/fr/xephi/authme/AuthMe.java
	src/main/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommand.java
	src/main/java/fr/xephi/authme/hooks/PluginHooks.java
	src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java
	src/main/java/fr/xephi/authme/listener/AuthMeServerListener.java
	src/test/java/fr/xephi/authme/command/executable/authme/RegisterAdminCommandTest.java
2016-05-02 19:48:12 +02:00
ljacqu
9af596327a #432 Inject in commands: DataSource / AntiBot / PasswordSecurity / PlayerCache
- Inject the services instead of passing them through the command service
2016-05-02 18:52:34 +02:00
Xephi59
20a237dbdf [DEV] This test would fail until player couldn't be returned as he was
kicked
2016-05-02 03:38:25 +02:00
ljacqu
e6dacd6951 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 432-dependency-injection 2016-04-30 12:17:33 +02:00
ljacqu
3c6415a6a4 #432 Use injector instantiate hash algorithms 2016-04-30 12:17:18 +02:00
ljacqu
908399e271 #432 Injector - prevent static field injection, add more tests 2016-04-30 10:44:32 +02:00
ljacqu
2c491803d3 Injector - disallow static PostConstruct methods, add more tests 2016-04-29 23:49:03 +02:00
ljacqu
7f44ecdb40 Create event consistency test + test code cleanup 2016-04-29 22:39:46 +02:00
ljacqu
8d489efffd #683 Plaintext to SHA256: Add warning message + skip SHA hashes
- Add message not to stop the server before conversion finishes
- Skip hashes starting with $SHA$ during conversion
- Create unit tests
2016-04-29 21:58:32 +02:00
ljacqu
5963628fa6 #432 Add field injection to AccountsCommand 2016-04-27 22:59:44 +02:00
ljacqu
02079f1f5c #432 Create custom dependency injector 2016-04-27 22:49:20 +02:00
ljacqu
59d3bc95c0 Move getOnlinePlayers() from Utils to BukkitService; delete Wrapper 2016-04-23 15:24:41 +02:00
ljacqu
a78e0408c6 #449 Remove use of legacy settings in encryption methods 2016-04-23 12:46:30 +02:00
ljacqu
71515f188a #551 Email registration should fail if no server email is configured
- Stop registration and issue an error if the email address setting is empty for email registration
- Refactor register command into smaller portions
- Create tests
2016-04-15 14:37:47 +02:00
ljacqu
6074ba59d5 #654 Add test verifying nothing is sent for empty message
- Including various test simplifications
2016-04-15 12:27:34 +02:00
ljacqu
ca0cbe6caf Code householding
- Move console initialization for tests into TestHelper
- Remove unused properties in legacy Settings
- Add issue number to TODO comments where applicable
2016-04-14 12:28:19 +02:00
ljacqu
3bb7ff2b85 #653 Empty salt column causes error when retrieving password
- Handle potentially empty salt column in MySQL and SQLite
- Create unit tests reflecting these cases
2016-04-14 11:48:24 +02:00
ljacqu
e2b50b72a5 Get player via BukkitService; add unit tests for commands 2016-04-08 19:56:44 +02:00
Gabriele C
30d109b01b Remove IPManager test 2016-04-08 14:35:42 +02:00
Gabriele C
ee177e8a3a Remove the IPManager
We don't need it anymore
2016-04-08 14:34:21 +02:00
ljacqu
9ea75c502c #567 Move email validation logic to validation service 2016-04-03 20:44:13 +02:00
ljacqu
b6ccb3e632 #567 Add/change email should be aware of account threshold 2016-04-03 14:24:12 +02:00
ljacqu
c079692f1d Minor - code householding (tests)
- Remove redundant uses of WrapperMock
- Use assertThat() from JUnit, not hamcrest
- Use hamcrest Matchers everywhere (not BaseMatchers etc.)
- Favor Mockito's argThat() over using ArgumentCaptor (more succinct)
- Delete useless test classes
2016-04-03 07:38:13 +02:00
ljacqu
4f86604699 Check valid password via service
- Create validation service; fixes same code being duplicated in four places
   - Goal is to remove Utils class, by moving methods to validation service or other services
 - Remove unused properties in legacy settings
2016-04-02 22:44:20 +02:00
Gabriele C
997c31a03e Cleanup warnings 2016-04-01 17:02:57 +02:00
DNx5
46a10da40f Fix test 2016-04-01 13:47:35 +07:00
ljacqu
95f5951587 Change message file consistency test to show all errors 2016-03-29 19:08:38 +02:00
ljacqu
55c24b8e64 Test AntiBot + SwitchAntiBotCommand 2016-03-24 22:11:40 +01:00
ljacqu
351b24fd14 Change AntiBot from static to instance
- Convert static methods in AntiBot
- Create BukkitService for operations requiring calls to static methods on the Bukkit class
2016-03-24 20:58:51 +01:00
ljacqu
20ad253926 #547 Add javadoc + unit tests for ProcessService 2016-03-21 20:06:49 +01:00
Gabriele C
19070c220b Blame eclipse warnings 2016-03-17 21:16:13 +01:00
ljacqu
00c8fa3b53 Minor - remove todo comment
- Difference between the tests is actually explained in the other class' javadoc
2016-03-16 21:14:31 +01:00
ljacqu
453f61233c Fix unit tests for settings by providing custom setting migration services
- Allow to provide custom plugin folder to test constructor
- #603 test all NewSetting methods
2016-03-16 20:57:41 +01:00
ljacqu
aef18a894a Move PropertyType functionality into Property class 2016-03-16 19:07:00 +01:00
ljacqu
89767b120c #603 Pass settings migration service as constructor parameter (work in progress) 2016-03-14 23:18:16 +01:00
ljacqu
4634213d75 #566 Test that all message files are valid YAML 2016-03-14 22:33:20 +01:00
ljacqu
ef980bd654 #603 Delete CustomConfiguration class 2016-03-14 20:45:46 +01:00
ljacqu
3522a5b0c0 #603 Various setting improvements
- Pass PropertyMap to settings class from the outside
- Fix tests not being reentrant due to real file writes
- Improve Node (internal tree for PropertyMap) interface
- Add code coverage for private constructors
2016-03-14 20:32:32 +01:00
ljacqu
5d12ec8b56 Minor fixes + code householding
- Fix SpawnCommandTest testing FirstSpawnCommand
- Fix javadoc errors
- Map TODO's to issue numbers where applicable
- Fix trivial TODO's
2016-03-13 11:09:27 +01:00
ljacqu
00125487f1 Create tests for admin commands 2016-03-13 10:17:09 +01:00
ljacqu
4d45b18759 Create test for PluginHooks 2016-03-12 18:25:57 +01:00
ljacqu
8293766f98 #421 Create SpawnLoader
- Non-static service class which handles the spawnpoints used in AuthMe
2016-03-12 18:25:38 +01:00
ljacqu
8b27444a49 #421 Create PluginHooks
- PluginHooks manages third-party plugins and allows to perform actions and queries on them, instead of public fields on the AuthMe main class
2016-03-12 18:24:34 +01:00
ljacqu
45fd241517 Update settings in PasswordSecurity upon reload 2016-03-12 08:16:57 +01:00
ljacqu
654cebd5a7 Minor - rename LimboPlayer methods + code householding
- Rename *taskId methods to *task to reflect what they handle
- Remove usages of Wrapper where applicable
- Replace some uses of legacy Settings with NewSetting calls
2016-03-06 15:46:49 +01:00
ljacqu
987c3fdb17 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 432-remove-public-ip-map 2016-03-06 14:42:32 +01:00
ljacqu
31bac6964f Various code householding
- Adjust javadoc
- Remove unused PlayerAuth constructor
- Replace legacy Settings with NewSetting calls
- Add process service to all (a)sync processes
- Change IP manager to only cache the calls to the VeryGames API
2016-03-06 14:42:19 +01:00
ljacqu
98df21d75a #575 Hotfix for reload support
- Create temporary method for reloading any stateful entities -> a lot of duplicated code, to be fixed soon within #432
- Remove unused methods
2016-03-05 22:30:35 +01:00
ljacqu
19adcdcceb Move managers to the cache package
- Not entirely accurate name but not really worth to have a separate package for managers
2016-03-05 16:03:00 +01:00
ljacqu
fd8db2cd51 Add test for IP manager + create captcha manager (still unused) 2016-03-05 15:39:14 +01:00
ljacqu
aeb8307a46 #432 #547 Remove public IP cache map; make processes use ProcessService
- Create IP address manager for handling and caching IP addresses -> outside of the manager I do not want to care about caching details
- Make more processes use the ProcessService in favor of statically injected objects
2016-03-01 22:47:28 +01:00
ljacqu
86042070e9 #573 Remove exclusion for permission node check in test 2016-03-01 20:48:15 +01:00
ljacqu
7dd1d52893 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 547-process-architecture
Conflicts:
	src/main/java/fr/xephi/authme/settings/Settings.java
2016-02-28 09:08:35 +01:00
ljacqu
8832c1ac0f Reduce output of resource closing tests 2016-02-28 09:05:30 +01:00
ljacqu
d664e7be26 #547 Create ProcessService
- Create ProcessService for common tasks within processes
- Integrate service into AsyncAddEmail
2016-02-27 23:15:31 +01:00
ljacqu
63b31b0814 Create resource closing test
- Generic test for MySQL and SQLite checking that all generated (Prepared)Statement and ResultSet instances are closed afterwards
- Fix offending code for test to pass
2016-02-27 22:45:39 +01:00
ljacqu
5fce849ce7 Minor - Add datasource test, minor code householding 2016-02-27 21:11:35 +01:00
ljacqu
1b818bd833 #457 Improve ForceFlatToSqlite conversion
- Change ForceFlatToSqlite converter to use a generic datasource destination (i.e. can be used for Flat2MySQL later)
- Add tests, including for FlatFile
- Check that user is not present in destination datasource before adding
- Persist last location from flatfile as well
2016-02-27 11:24:47 +01:00
ljacqu
27b1fa770f #392 Add datasource integration tests 2016-02-26 22:12:16 +01:00
ljacqu
69092e9a9c #392 Add datasource integration tests 2016-02-24 21:50:40 +01:00
ljacqu
95e3943be0 Datasource integration tests - fix split by newline
- Make split of SQL file aware that new lines may be \r\n
- Remove split of new lines in MySQL as it's not necessary
2016-02-24 20:38:05 +01:00
ljacqu
5e16ca1490 #392 Create integration test for MySQL
- Relocate tests to AbstractDataSourceIntegrationTest to reuse tests for SQLite and MySQL
- Add H2 driver and create test class for MySQL
2016-02-22 21:52:10 +01:00
ljacqu
72cf294056 Allow retrieval of messages with tag replacement 2016-02-22 20:32:44 +01:00
ljacqu
e8f518711c #442 Fix email presence check being case-insensitive
- Add integration tests
- Change DataSource interface to return the number of accounts only, since that's all we require
2016-02-21 21:38:29 +01:00
ljacqu
203e954eea Minor test adjustments 2016-02-21 20:23:36 +01:00
ljacqu
e8d627c0e1 #392 Start integration test for SQLite 2016-02-21 10:46:13 +01:00
ljacqu
511f961d29 #534 Get default messages from the JAR's messages_en.yml
- Using new File(class.getResource(path)) apparently is the wrong approach for in-JAR files
2016-02-20 12:12:24 +01:00
ljacqu
90e0dc1875 Various code householding
- Remove unused API on DataSource
- Add some sensible javadoc to DataSource
- Minor code simplification
2016-02-19 23:19:38 +01:00
ljacqu
6f694cf818 #527 Persist email after changing it 2016-02-19 21:48:51 +01:00
ljacqu
964abdc0c5 Update add email tests (#527) 2016-02-19 19:26:16 +01:00
Gabriele C
c11fa9f158 Merge pull request #101 from AuthMe-Team/move-convert-command
Move the converter command [WIP]
2016-02-19 16:49:11 +01:00
Gabriele C
4620ead311 Fix number of commands in test 2016-02-19 16:42:48 +01:00
bakatrouble
0992997483 Fix Django crypt
(cherry picked from commit 189f916)
2016-02-14 23:08:51 +01:00
ljacqu
b3734f4010 #415 Move some permission nodes out of authme.player.*
- Move certain permission nodes outside of the authme.player branch
- Update classes / permissions list
- Remove wildcard node from code completely (since not used)
2016-02-14 14:15:02 +01:00
ljacqu
432ed4620c Fix AuthMe thinking config needs a migration
- Old, deprecated property now exists again -> stop checking for its presence as a reason for migration
- Create test for SettingsMigrationService to detect such issues in the future
2016-02-13 12:35:33 +01:00
ljacqu
fcfe26f34d Minor - fix incorrect javadoc and add unit test for Messages#reload 2016-02-12 23:38:00 +01:00
ljacqu
39168bc818 #482 Provide better default messages and merge MessagesManager
- Return message from the JAR's messages_en.yml file instead of an unusable error for the end user
- Merge MessagesManager into Messages
2016-02-11 21:27:16 +01:00
ljacqu
b8e2f5fe1d Use RandomString for IPB4 implementation; minor documentation
- Improve RandomString and create new generateLowerUpper method
- Add documentation to the IPB4 class to explain why the salt is stored twice
2016-02-10 21:16:12 +01:00
games647
ee962bce11 Add missing imports -> fixes building finally 2016-02-10 18:52:34 +01:00
Gabriele C
07e5a67ad5 Merge pull request #97 from AuthMe-Team/ipb4
IPB4 Support
2016-02-09 00:14:24 +01:00
DNx5
8e38384a0d Implement the encryption method and test unit. 2016-02-09 05:58:59 +07:00
Gabriele C
49e6b309ab Fix test 2016-02-07 22:41:22 +01:00
Gabriele C
4d057cf05d Fix unit test 2016-02-07 18:17:11 +01:00
Gabriele C
2f2af829b0 Fix event listener priorities 2016-02-07 15:35:02 +01:00
ljacqu
2cd2b48a1a #437 Email uniqueness in admin command; finalization
- Check also in admin command that email is not already used
- Misc bug fixing (logic errors, changes lost during large merge)
- Use "email" and "setemail" as main labels for /authme subcommands
2016-02-06 21:56:08 +01:00
ljacqu
b4b679d3b9 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 437-add-email
Conflicts:
	src/main/java/fr/xephi/authme/datasource/MySQL.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/process/Management.java
	src/main/java/fr/xephi/authme/process/email/AsyncChangeEmail.java
2016-02-06 18:01:23 +01:00
ljacqu
99b7b80f1d #450 Fix copying of JAR files to plugin folder
- Create SettingsMigrationService#copyFileFromResource (inspired from CustomSettings)
- Use new method to copy missing files in plugin folder from JAR
- Create YamlFileConfiguration inside NewSetting: FileConfiguration object provided by JavaPlugin#getConfig() sets default values from the JAR's config.yml :(
- Change ConsoleLogger to take logger from plugin (work in progress)
2016-02-06 17:10:00 +01:00
ljacqu
155881ef05 Merge master into '450-new-settings-rewrite'
Conflicts:
  - PerformBackup.java
  - Settings.java
2016-01-31 21:32:29 +01:00
ljacqu
42ae30ed3a #450 Move Settings#isEmailCorrect to Utils class 2016-01-31 21:22:19 +01:00
ljacqu
9653354135 #450 Move Settings#getRestrictedIp() 2016-01-31 18:50:57 +01:00
ljacqu
fbd5265a0b #450 Fix YAML export of enum values
- Move writing logic to PropertyType
- Remove unused double property type
- Add sample enum property type to tests
2016-01-31 10:49:30 +01:00
ljacqu
e747dfeb7f #450 Make reload & messages functionality use NewSetting
- Change ReloadCommand to use the new setting functionality
- Check and construct the messages file in NewSetting
- Unrelated: change MessagesManager not to extend CustomConfiguration anymore
2016-01-31 09:55:02 +01:00
ljacqu
724296e02b #449 Migrate some properties to new settings
- Use new settings class for retrieving help header & backup configs
- Delete migrated configs from old settings
2016-01-30 13:19:05 +01:00
ljacqu
dedb3fce26 #450 Add integration test for potentially difficult values
- Ensure that edge cases such as backslashes, apostrophes and new lines are handled properly by the YAML writer & reader
2016-01-28 10:38:44 +01:00
Gabriele C
3c88482e22 Maven enhancements 2016-01-21 16:12:39 +01:00
ljacqu
d4e3e55e07 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 437-add-email 2016-01-19 17:16:05 +01:00
ljacqu
4012421d80 #450 Create migration service for new settings
- Create service to check if new settings is up-to-date
- Remove up-to-date checks from old Settings
- Update tests
2016-01-19 16:50:54 +01:00
ljacqu
200af9c4c4 Move new configs outside of 'custom' package
- Create properties package for storing the config properties
- Move NewSetting class to main settings pkg
2016-01-19 09:20:55 +01:00
ljacqu
3b33dc774d #369 Fix WBB4 algorithm
- Update BCrypt implementation version
- Separate third-party BCrypt implementation from our BCRYPT EncryptionMethod extension
- Fix WBB4: ensure password is hashed with bcrypt twice and that we check accordingly
2016-01-18 13:31:54 +01:00
ljacqu
b0ba893827 #437 Add/change email should check if email is already used
- Untested/incomplete implementation
2016-01-17 20:41:19 +01:00
ljacqu
4a85eedd2c Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 347-config-rewrite
# Conflicts:
#	src/main/java/fr/xephi/authme/AuthMe.java
2016-01-17 12:35:14 +01:00
ljacqu
e18be3024a #347 Use NewSetting properties for change password command 2016-01-17 12:33:29 +01:00
ljacqu
fb6cff2e07 #347 Add remaining missing properties 2016-01-17 09:23:01 +01:00
ljacqu
ace95f750a Add more tests for async change email process 2016-01-16 07:57:43 +01:00
ljacqu
8c05c8df98 Add tests for change email process 2016-01-15 21:16:06 +01:00
ljacqu
5996d58081 #437 Create test for AddEmail task; fix bugs 2016-01-15 20:38:12 +01:00
ljacqu
391e1b04a2 Fix #440 Hash algo's sometimes skipped for old algorithm support
- Fix check that discards potentially trying all encryption methods if password didn't match
- Wrap call to encryption method properly to avoid calling methods with hasSeparateSalt() = true and a null salt
2016-01-14 21:55:09 +01:00
ljacqu
8ed8b32589 #437 Add email should not allow to change email
- Create separate test for adding email
- Check that no email is yet registered for add email
2016-01-13 22:08:40 +01:00
ljacqu
4d2f39f06e #306 Add tests for CommandHandler and CommandMapper 2016-01-09 22:51:22 +01:00
ljacqu
fc0b7c46ac #306 Add permission manager to command service
- Inject permission manager into command service explicitly via constructor
- Change command mapper to only care about generating FoundCommandResult objects, and command handler to worry about dealing with it later on
2016-01-09 21:57:20 +01:00
ljacqu
3845c1e0eb #347 Add NewSetting to command service
- Adjust NewSetting constructor to match needs in AuthMe
- Add NewSetting to the command service
- See CaptchaCommand for a sample replacement from Settings to NewSetting
2016-01-09 12:45:58 +01:00
ljacqu
88629702f5 #347 Test that all read properties exist as Property field
- Create consistency test to verify that all properties in config.yml are defined as a Property field in a SettingsClass implementation (currently fails)
- Add some missing properties
- Minor: convert tabs to spaces
2016-01-09 09:30:49 +01:00
ljacqu
0603243c86 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 347-config-rewrite 2016-01-08 23:44:16 +01:00
ljacqu
752ebe5022 Fix cast exception in integration test
- Although the class only has fields of Property type it would appear that CircleCI et al. may use libraries that add fields to classes later on, so we need to check for the field type
2016-01-08 23:40:54 +01:00
ljacqu
d0b7d0ff06 #347 Create consistency and integration tests for NewSetting
- Ensure that the project's config.yml contains all settings that NewSetting is aware of
- Add extensive, more generic integration tests
2016-01-08 23:20:42 +01:00
ljacqu
69c225c850 #347 Create tests and add check for missing settings in NewSetting 2016-01-08 21:22:26 +01:00
ljacqu
30db03837a #347 Add 'contains' method to PropertyType 2016-01-07 21:58:28 +01:00
ljacqu
acda03bb40 #347 Create enum property + consistency tests 2016-01-07 21:38:03 +01:00
ljacqu
120e69ac67 Fix null pointer in tests 2016-01-07 20:49:41 +01:00
DNx5
fab13c586f Remove skip test for Xenforo hash. 2016-01-07 07:41:09 +07:00
DNx5
2c13783c6c Created test for XFBCRYPT. 2016-01-07 07:12:30 +07:00
DNx5
da5de58afb Rename XF class into XFBCRYPT. 2016-01-07 06:15:39 +07:00
ljacqu
204a564a9a Move new configuration packages and add test for PropertyMap 2016-01-05 21:59:08 +01:00
ljacqu
cb07b3df3d Create enum property type, trivial code simplification 2016-01-04 20:33:31 +01:00
ljacqu
7d41ccbc9c Settings: use class constants for properties, create custom writer
- Create Property class for defining config properties
  - Create logic for typed retrival of properties from YAML file
- Add custom save method
  - Retain comments from Comment annotations in the classes
  - Write in a sorted order: first discovered properties are first written to config.yml
- Adjust properties to reflect the current config.yml
- Add sample tests for the retrieval and writing of properties with the new setup
2016-01-03 15:22:32 +01:00
ljacqu
561e21f5e2 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 137-xenforo-support
Conflicts:
	src/main/java/fr/xephi/authme/datasource/DataSource.java
	src/main/java/fr/xephi/authme/datasource/SQLite.java
	src/main/java/fr/xephi/authme/security/crypts/BCRYPT.java
2016-01-02 00:52:08 +01:00
ljacqu
d46a2f0755 Fix test in PasswordSecurity for new savePassword() 2015-12-31 13:52:16 +01:00
ljacqu
a0da423a7b Minor - Javadoc changes
- Add/replace/improve javadoc in the commands and encryption section
- Note: A simple <p> is the javadoc way to make a new paragraph
http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#format
- Note: Do not escape '<' and '>' inside of {@code }
- Note: '>' does not need to be escaped
2015-12-31 13:32:41 +01:00
DNx5
0c305a6287 Added new updatePassword method in DataSource class 2015-12-31 12:55:34 +07:00
DNx5
9eeb510b08 Messing up the test. 2015-12-31 12:20:48 +07:00
ljacqu
aed23cb1ef Revert removal of XENFORO enum, hash class and custom SQL
- Undo commits 121d323 and 1c12278
- Add TODO's with issue number
- Add slight, necessary adjustments for code changes since the reverted commits
2015-12-31 00:36:08 +01:00
ljacqu
eea3697fa4 #364 Add test for bogus hashes
- Verify that a "hash" in the wrong format doesn't throw exception (this is relevant when the supportOldPasswordHash setting is enabled)
2015-12-30 23:24:36 +01:00
ljacqu
c0a393b8b3 Minor - rename EncryptedPassword to HashedPassword
- We hash passwords; we don't encrypt them
2015-12-30 22:51:59 +01:00
ljacqu
e85dbe81e5 #358 Ensure lowercase player name, issue cleanup
- Ensure within PasswordSecurity that the player name is lowercase
- Remove check for MD5VB separate salt (we only generate hashes with the salt embedded, so either we need to change that or we don't need this check)
- Remove obsolete TODO
2015-12-30 22:45:18 +01:00
Gabriele C
300a621e1c cleanup 2015-12-30 22:28:45 +01:00
ljacqu
3328656134 #358 Create test for PasswordSecurity, create salt column if not exists
- Add test class for PasswordSecurity
- Check and create the salt column in MySQL and SQLite when necessary
- Add javadoc to some classes
2015-12-30 21:36:07 +01:00
ljacqu
a3402d573f #358 Handle hash + salt as one "unit"
- Rename HashResult to EncryptedPassword to reflect its broader use
- Use EncryptedPassword in methods that require the hash and the salt, instead of passing them as strings separately
- Store EncryptedPassword as field in PlayerAuth; updatePassword() thus processes the entire data in the EncryptedPassword object
2015-12-30 17:56:22 +01:00
ljacqu
922082f312 #364 Add HashAlgorithm integration test, fix failing tests
- Create integration test for the HashAlgorithm enum
- Create AsciiRestricted annotation and make test aware of it
- Add option to skip "same hash for same salt" test (for wordpress)
- Change some EncryptionMethods to extend from a common superclass
2015-12-29 13:29:26 +01:00
ljacqu
571cb6d36b Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 358-encryptn-mthd-refactor 2015-12-29 10:54:09 +01:00
ljacqu
b3b751920a #358 Replace usage of static PasswordSecurity methods
- Replace static methods to instance methods
- Use PlayerAuth builder instead of constructor
2015-12-29 00:13:20 +01:00
ljacqu
121d323221 #369 Delete Xenforo (XF) encryption algorithm
Rationale:
- Seems not to have been working since it was added to the codebase
- Seems not to correspond to the actual Xenforo password hashing (class does some sort of JSON extraction?)
- It would be easier to rewrite it from scratch if someone requests it later
2015-12-28 22:32:24 +01:00
ljacqu
47f4275225 #358 Update EncryptionMethod to new interface
- Add new methods to the EncryptionMethod interface
- Delete temporary interface (NewEncrMethod)
- Remove temporary checks and casts to NewEncrMethod
2015-12-28 22:00:43 +01:00
ljacqu
73bc6e286a #369 Fix bcrypt 2y implementation
- Change salt length to 22: it was once changed on accident during some other commit
2015-12-28 21:03:33 +01:00
ljacqu
48d0a65724 #358 Create encryption method supertypes, add new methods 2015-12-28 20:10:45 +01:00
ljacqu
31730699ac #358 Start refactoring PasswordSecurity
- Add new methods temporarily to NewEncrMethod interface
   - No data source access within EncryptionMethod implementations
   - Generate the salt within the EncryptionMethod implementation
- Deprecate static methods on PasswordSecurity
- Adjust AbstractEncryptionMethodTest to test the classes with the new interface
- Add getter for data source instead of accessing field directly
2015-12-28 16:23:08 +01:00
Xephi
8fec53eda3 Remove todo for #368 2015-12-28 14:26:37 +01:00
ljacqu
37604e6a51 Always check for "testable" methods in listener consistency test
- Add check to overlooked test
2015-12-28 14:05:20 +01:00
ljacqu
48dce83892 Exclude all methods containing '$' in ListenerConsistencyTest 2015-12-28 13:56:54 +01:00
ljacqu
1cabc47ff9 Minor - remove debug println from test 2015-12-27 23:40:32 +01:00
ljacqu
804a670e08 Create test for HashUtils and RandomString 2015-12-27 23:37:07 +01:00
ljacqu
90a0325194 #358 Add future interface methods, remove exception throwing
- Create Utils class for a common implementation of md5/sha1
- Create "foolproof" way of getting the MessageDigest for md5 etc. (MessageDigestAlgorithm enum)
- Create description annotations to annotate algorithms with usage recommendation and salt type
2015-12-26 23:59:32 +01:00
ljacqu
103ebb44f0 Merge master into 306-commands-service
Conflicts:
- AuthMe
- CommandInitializer
- ConverterCommand
2015-12-26 21:33:25 +01:00
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