50 Commits

Author SHA1 Message Date
ljacqu
cbc794ba20 #1255 Extract forum-specific data source actions into separate extension classes 2017-07-23 14:19:28 +02:00
Gabriele C
00699ed7fb Use guava 21, add 1.12 support 2017-05-29 23:40:44 +02:00
ljacqu
e5bfbf6304 #1023 LoginSecurity converter: fix last login conversion, extend test 2017-05-13 09:37:36 +02:00
ljacqu
2021113732 #1023 Create LoginSecurity converter 2017-05-10 19:45:20 +02:00
ljacqu
82d74ca0a7 Move close methods out of sql datasource utils class
As noticed by @Gnat008
- We need two different implementations for MySQL and SQLite because SQLite uses an older version where #isClosed is not implemented
2017-04-29 08:18:43 +02:00
ljacqu
e56a3c0ab6 #815 Save yaw & pitch for last login in SQL data sources 2017-04-22 13:30:03 +02:00
ljacqu
07633a89c8 Create SQL data source utils class
- Extract logic used in SQLite and MySQL for logging and closing SQL objects
    - Decided to leave buildAuthFromResultSet methods individually as this might be more implementation-specific
- Rename DataSource#close to DataSource#closeConnection to fix conflict with static import
2017-04-18 22:55:39 +02:00
ljacqu
04ca36fe53 Use more specific query to get logged in players without email
- Reduces the amount of data returned from the DB and the work required to build objects
2017-04-18 22:30:54 +02:00
ljacqu
b99cc3bada #1127 Create DataSource#getEmail 2017-04-18 21:07:31 +02:00
ljacqu
009d82c0a9 #1120 Use empty "realname" when converting from flatfile
- FlatFile doesn't store the "realname" - all names are always in all-lowercase. Converting from flatfile to other data source should therefore not take over an auth's realname
- Adjust sample flatfile file to only have all-lowercase usernames
2017-03-04 17:52:08 +01:00
ljacqu
5f8a19223f Update ConfigMe and Mockito version 2016-12-23 23:22:05 +01:00
ljacqu
4214c6dc80 #411 Forced commands: initial implementation 2016-11-17 21:02:01 +01:00
Gabriele C
e9f274aa89 Cleanup 2016-11-15 19:00:00 +01:00
ljacqu
5cce7e1fae Update version of ConfigMe, Mockito and sqlite-jdbc 2016-10-30 14:05:22 +01:00
Gabriele C
58c42cf300 Package cleanup
- authme.cache to authme.data
- Rename PlayerData to LimboPlayer to match with LimboCache
- Move authme.converter to authme.datasource.converter
- Split output package into output and message
2016-10-05 21:10:40 +02:00
ljacqu
ff9f50f63f #886 Do not include players with lastlogin = 0 in autopurge or default purge 2016-09-18 16:49:34 +02:00
ljacqu
405bd563d8 #950 Add unregister by name to API
- Add method to API
- Ensure that unregistering in datasource is case-insensitive
2016-09-18 14:46:02 +02:00
ljacqu
e30d7220bd #472 Store recovery codes in memory instead of in data source 2016-09-16 21:42:16 +02:00
ljacqu
c5f5c0d2fd #472 Require recovery code before resetting password
- /email recovery generates recovery code and resets password only if recovery code is also given
- Change data source method to return email and recovery code
2016-09-10 14:27:26 +02:00
ljacqu
0aac8928af #472 Create recovery code/expiration columns and methods in data source 2016-09-10 09:13:17 +02:00
ljacqu
c7bb7b460e #927 Integrate ConfigMe into AuthMe (work in progress)
- Replace own code with ConfigMe
2016-08-30 15:28:07 +02:00
ljacqu
19de5a0525 Close #449 Rename NewSetting class to Settings :) 2016-07-23 15:50:40 +02:00
ljacqu
57f90fe410 #784 Make DataSource#purgeRecords case-insensitive 2016-07-18 21:29:05 +02:00
ljacqu
5953bfd012 #784 Separate purge execution and purge task creation
- Delete accounts in PurgeExecutor, after permission check
2016-07-17 17:33:25 +02:00
ljacqu
dccbd5262f Don't update IP twice
- IP is updated in datasource#updateSession after successful login
- Remove no longer used DataSource#updateIp
2016-07-12 21:45:05 +02:00
ljacqu
9a5c432509 #655 Encapsulate mail service
- Change SendMailSSL to be injected into classes and created regardless of settings
- Various minor cleanups (remove accidentally committed test, add more precise logging statement)
2016-07-02 20:56:53 +02:00
ljacqu
22911a0bb9 Remove duplicate column initialization code, add datasource integration tests
- Drop initialization of all columns on table create in favor of checking each column individually. This is slower but guarantees that each column is only defined once in the code. Columns are only created once so having clean code outweighs performance.
- Write more datasource integration tests
2016-07-02 19:16:26 +02:00
ljacqu
70226f7ddb #813 Move test resources to conform to package structure 2016-07-02 10:57:30 +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
9a72fe53b0 Minor - code householding
- Update inaccurate javadoc
- Remove unnecessary require call in PHP integration sample
2016-05-19 21:55:42 +02:00
ljacqu
9f5b995217 Fix datasource resource closing tests (#1) 2016-05-12 20:15:44 +02:00
games647
b1957c9812 Do not lookup twice for banned players 2016-05-09 21:51:21 +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
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
Gabriele C
19070c220b Blame eclipse warnings 2016-03-17 21:16:13 +01:00
ljacqu
45fd241517 Update settings in PasswordSecurity upon reload 2016-03-12 08:16:57 +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
8832c1ac0f Reduce output of resource closing tests 2016-02-28 09:05:30 +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
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